LoginSignup
25
28

More than 5 years have passed since last update.

40秒で無料無制限のオンラインTorrentクライアントをつくる

Last updated at Posted at 2019-03-14

STOP!違法ダウンロード

通常、TorrentをダウンロードするにはBitTorrentやuTorrent,Transmissionといったクライアントソフトという専用のソフトウェアをダウンロード・インストールしてパソコンに設定する必要があります。

しかし、共用パソコンや職場のパソコンなどの場合、そうったソフトをインストールすることができません。
また、パソコンにTorrentソフトをインストールすると、途中で電源が切れなかったり、ネットワークの帯域が不安定になったりすることもあるでしょう。

クライアントソフトをインストールしないで、Torrentをダウンロードする方法について解説します。

今回は、Cloud Torrentというクラウド上でTorrentをダウンロードできるソフトを使います。

クラウドはGoogle Compute Engine(GCE)を使うことにします。

Google Compute Engineを使うメリット

  • 無料でVMを24時間365日動かせる。
  • 上り(インバウンド)のトラッフィックはすべて無料
  • 下り(アウトバウンド)のトラッフィックは通常1GBまで無料(ただし、Google Drive(Googleサービス)への下りはすべて無料)
  • 実質GoogleDriveを経由してダウンロードすれば、完全に無料になります。
  • 30GBの永続ディスクが無料
  • 5GBのスナップショット(バックアップ)が無料
  • 固定IPアドレスも無料

詳細は、 Google Compute Engine の料金 をご確認ください。

では、実際に作っていきます。

VMインスタンスを作成(5秒)

VMインスタンスから作成をクリック
console.cloud.google.com_compute_instances_project=mailfactory2&instancessize=50.png

以下のような画面が出てくるかと思います。
console.cloud.google.com_compute_instances_project=mailfactory2&instancessize=50 (1).png

名前を設定(3秒)

わかりやすい名前を設定します。デフォルトでもかまいません。
console.cloud.google.com_compute_instances_project=mailfactory2&instancessize=50 (2).png

リージョンを選択(3秒)

us-*であればすべて無料なのですが、今回は日本に一番近いus-west1(オレゴン)を選びました。us-west2(ロサンゼルス)はバグで無料にならないみたいです。
console.cloud.google.com_compute_instances_project=mailfactory2&instancessize=50 (3).png

マシンタイプの選択(3秒)

f1-microというマシンタイプが無料です。
console.cloud.google.com_compute_instances_project=mailfactory2&instancessize=50 (4).png

イメージの選択(3秒)

ブートディスクの変更ボタンをクリックして、Container-Optimized OSを選択してください。
console.cloud.google.com_compute_instances_project=mailfactory2&instancessize=50 (5).png

ディスクのサイズの変更(5秒)

30GBまで無料なので、サイズを30にしてください。
console.cloud.google.com_compute_instances_project=mailfactory2&instancessize=50 (6).png
選択ボタンをクリック。

HTTPトラフィックを許可(3秒)

HTTPトラフィックを許可するにチェックを入れてください。
console.cloud.google.com_compute_instances_project=mailfactory2&instancessize=50 (8).png
管理、セキュリティ、ディスク、ネットワーク、単一テナンシー をクリック。

管理タブの自動化に起動スクリプトを入力(5秒)

管理タブの自動化に以下の起動スクリプトを入力してください。

#!/bin/sh

iptables -w -A INPUT -p tcp --dport 80 -j ACCEPT

if [ "$(docker container ls -a -q -f name=cloud-torrent)" ]; then
    docker start cloud-torrent
else
    user=$(curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/ssh-keys" -H "Metadata-Flavor: Google" | cut -d: -f1 | tail -n1)
    while [[ ! -d "/home/$user" ]] ; do
        sleep 1
    done
    mkdir -p "/home/$user/downloads"
    cd "/home/$user"
    uid=$(id -u "$user")
    gid=$(id -g "$user")
    chown $uid:$gid downloads
    docker run --name cloud-torrent -d -p 80:3000 -u $uid:$gid -v "$PWD/downloads:/downloads" jpillora/cloud-torrent
fi

console.cloud.google.com_compute_instances_project=mailfactory2&instancessize=50 (9).png

固定IPアドレスを設定(10秒)

固定IPアドレスは設定しなくても使えますので、飛ばしても大丈夫です。
ネットワークタブのネットワークインターフェイスのdefaultをクリック。
console.cloud.google.com_compute_instances_project=mailfactory2&instancessize=50 (10).png

外部IPのエフェメラルをクリック。
console.cloud.google.com_compute_instances_project=mailfactory2&instancessize=50 (11).png

IPアドレス作成をクリック。
Screenshot from 2019-03-14 10-01-52.png

名前を入力して予約。
console.cloud.google.com_compute_instancesAdd_project=mailfactory2.png

完了をクリック。
console.cloud.google.com_compute_instancesAdd_project=mailfactory2 (1).png

作成🎉

おめでとうございます🎉 これで無料無制限のオンラインTorrentクライアントが完成しました。40秒でできましたでしょうか?
console.cloud.google.com_compute_instancesAdd_project=mailfactory2 (2).png

使ってみる

外部IPのリンクをクリックすると、Cloud Torrentの画面がでてきます。モバイルフレンドリーなのでスマホで見ても大丈夫。
console.cloud.google.com_compute_instancesAdd_project=mailfactory2 (3).png

35.230.61.159_.png

Cloud Torrent デモ

Cloud Torrent

まとめ

これで外出中でもスマホから操作できたりします。ダウンロードしたファイルは、SSH接続してホームディレクトリ直下の~/downloadsにすべて入っております。Google Driveをマウントして自動でGoogleDriveにアップしてもいいかと思います。(Googleのサービスへの下りはすべて無料)また、CloudTorrentでもGoogleDriveやDropboxやS3などに転送する予定があるようです。何かのお役にたてば幸いです。

25
28
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
28