Transmissionをインストールし、リモートでトレントを管理する方法を学びます。
Transmissionは、ウェブUIが内蔵されたシンプルなトレントデーモンで、複数のトレントデーモンの中でも特に人気があります。一般的にはNASで使用されますが、ASUSルーターでも使用できます。
インストール環境です。
| 分類 | 詳細情報 | | :------- | :-------------------: | | Hardware | AC88U | | Firmware | ASUSWRT-MERLIN 386.12 | | Package | Entware armv7sf-k2.6 |
必須要件は以下の通りです。
ターミナルでSSHを使ってルーターに接続します。
パッケージをインストールします。
opkg update
opkg install transmission-web
Entwareを更新した後、ウェブインターフェースをインストールします。
設定を変更する前にTransmissionを終了します。
終了しないと変更できません。
/opt/etc/init.d/S88transmission stop
スクリプトを使用してTransmissionを終了します。
デフォルトのエディタviを使用して、Transmissionの設定ファイル*/opt/etc/transmission/settings.json*を編集します。
設定ファイルを開きます。
vi /opt/etc/transmission/settings.json
viを使用して設定ファイルを開きます。
プロパティを修正します。
修正するプロパティを確認します。
"download-dir": "/mnt/XIYOsD10/home/xiyo/downloads",
"incomplete-dir": "/mnt/XIYOsD10/var/tmp/transmission/incomplete",
"rpc-password": "test1234",
"rpc-username": "root",
"watch-dir": "/mnt/XIYOsD10/home/xiyo/watchdir",
XIYOsD10はマウントされたストレージの名前です。
Transmissionは設定ファイルに入力したディレクトリが存在しない場合、自動的に生成するため、別途ディレクトリを作成する必要はありません。
単語を検索するには、/を入力し、検索するテキストを入力します。
テキストを修正するには、iを入力して入力モードに切り替えます。
修正が終わったら、ESCを入力してコマンドモードに切り替えます。
保存するには、コマンドモードで:wqを入力し、Enterを押すと保存してエディタを終了します。
Transmissionを開始します。
/opt/etc/init.d/S88transmission start
スクリプトを使用してTransmissionを開始します。
ファイアウォールを開いて、効果的にピアと接続できるようにします。
インバウンドを許可するポートをファイアウォールに追加します。
iptables -I INPUT -p tcp --dport 51413 -j ACCEPT
iptables -I INPUT -p udp --dport 51413 -j ACCEPT
Transmissionで使用するポートをファイアウォールに追加します。
TCPはファイルをダウンロードする際に使用し、UDPはトラッカーとピアに接続する際に使用します。
ルーターが再起動するたびにファイアウォールルールが消えるため、再起動するたびにファイアウォールルールが適用されるように設定します。
FILE="/jffs/scripts/firewall-start"; \
[ ! -f "$FILE" ] && \
echo "#!/bin/sh" > "$FILE" && \
chmod +x "$FILE"; \
echo -e "\n# Allow Transmission" >> "$FILE"; \
echo "iptables -I INPUT -p tcp --dport 51413 -j ACCEPT" >> "$FILE"; \
echo "iptables -I INPUT -p udp --dport 51413 -j ACCEPT" >> "$FILE"
firewall-startファイルが存在しない場合は作成し、ファイルにファイアウォールルールを追加します。
ルーターが再起動するたびにTransmissionが自動的に起動するように設定します。
Transmissionは追加ストレージを使用しているため、ストレージがマウントされる前に実行されてはいけません。
ドライブがマウントされた直後にTransmissionを実行するように設定します。
ファイルを確認します。
マウント後に実行するスクリプトが存在するか確認し、存在しない場合は作成します。
FILE="/jffs/scripts/post-mount"; \
[ ! -f "$FILE" ] && \
touch "$FILE" && \
chmod +x "$FILE" && \
echo "#!/bin/sh" > "$FILE"
post-mountファイルが存在しない場合は作成し、実行権限を追加します。
自動実行スクリプトを追加します。
マウント後に自動実行されるようにコマンドを追加します。
FILE="/jffs/scripts/post-mount"; \
SEARCH_STRING=". /jffs/addons/diversion/mount-entware.div # Added by amtm"; \
ADD_COMMAND="/opt/etc/init.d/S88transmission start"; \
grep -q "$SEARCH_STRING" "$FILE" || \
echo -e "\n# Entware addmon start" >> "$FILE" && \
echo "$ADD_COMMAND" >> "$FILE"
diversionをインストールまたは削除したことがある場合、diversionのマウントスクリプトが存在するでしょう。
その場合、すでに自動実行スクリプトが入っているため、何も作業をしません。
存在しない場合は、Transmissionを自動実行するスクリプトを追加します。
ブラウザで*http://ルーターIP:9091に接続すると、ウェブUI*を確認できます。
IDとパスワードは設定ファイルで設定した値です。
Transmissionクライアントはリモートサーバーへのアクセス機能があります。
実行後、ウェブアクセスと同じ情報を入力すれば大丈夫です。
ストレージをデフォルト設定でマウントする場合、ユーザーのマウントされたストレージ名はsda1、sdb1となるでしょう。
この場合、ルーターが再起動するたびにストレージ名が変更される可能性があります。したがって、マウントを常に固定する必要があります。