ASUSWRTにTransmissionをインストールする

Transmissionをインストールし、リモートでトレントを管理する方法を学びます。

Transmissionは、ウェブUIが内蔵されたシンプルなトレントデーモンで、複数のトレントデーモンの中でも特に人気があります。一般的にはNASで使用されますが、ASUSルーターでも使用できます。

環境

インストール環境です。

| 分類 | 詳細情報 | | :------- | :-------------------: | | Hardware | AC88U | | Firmware | ASUSWRT-MERLIN 386.12 | | Package | Entware armv7sf-k2.6 |

要件

必須要件は以下の通りです。

  • ASUSWRT-MERLINのインストール
  • SSHアクセスの許可
  • Entwareのインストール
  • 十分な容量のUSBストレージ
    この文書では2つのストレージを使用します。
  • 追加のクーラー
    基本的な放熱機能だけでは熱が排出されません。

インストール

  1. ターミナルでSSHを使ってルーターに接続します。

  2. パッケージをインストールします。

    opkg update
    opkg install transmission-web

    Entwareを更新した後、ウェブインターフェースをインストールします。

設定

Transmissionを停止する

設定を変更する前にTransmissionを終了します。
終了しないと変更できません。

/opt/etc/init.d/S88transmission stop

スクリプトを使用してTransmissionを終了します。

設定を編集する

デフォルトのエディタviを使用して、Transmissionの設定ファイル*/opt/etc/transmission/settings.json*を編集します。

asciicast

  1. 設定ファイルを開きます。

    vi /opt/etc/transmission/settings.json

    viを使用して設定ファイルを開きます。

  2. プロパティを修正します。

    • 修正するプロパティを確認します。

      "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はマウントされたストレージの名前です。

      • download-dir
        ダウンロードしたファイルを保存する場所です。
      • incomplete-dir
        ダウンロード中のトレントファイルが保存される場所です。
        incomplete-dir-enabledプロパティをtrue(デフォルト)に設定する必要があります。
      • rpc-password
        リモートで接続する際に使用するパスワードです。
        デフォルトは空白で、パスワードなしで接続できます。
        デーモンを実行後、初回接続時に暗号化されます。
      • rpc-username
        リモートで接続する際に使用するIDです。
        デフォルトはrootです。
      • watch-dir
        トレントファイルを自動的に読み込む場所です。
        watch-dir-enabledプロパティをtrue(デフォルト)に設定する必要があります。

      Transmissionは設定ファイルに入力したディレクトリが存在しない場合、自動的に生成するため、別途ディレクトリを作成する必要はありません。

    1. 単語を検索するには、/を入力し、検索するテキストを入力します。

    2. テキストを修正するには、iを入力して入力モードに切り替えます。
      修正が終わったら、ESCを入力してコマンドモードに切り替えます。

    3. 保存するには、コマンドモードで:wqを入力し、Enterを押すと保存してエディタを終了します。

Transmissionを開始する

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を実行するように設定します。

  1. ファイルを確認します。
    マウント後に実行するスクリプトが存在するか確認し、存在しない場合は作成します。

    FILE="/jffs/scripts/post-mount"; \
    [ ! -f "$FILE" ] && \
    touch "$FILE" && \
    chmod +x "$FILE" && \
    echo "#!/bin/sh" > "$FILE"

    post-mountファイルが存在しない場合は作成し、実行権限を追加します。

  2. 自動実行スクリプトを追加します。
    マウント後に自動実行されるようにコマンドを追加します。

    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を自動実行するスクリプトを追加します。

使用方法

ウェブUI

Windows 11、Edgeで接続した画面

ブラウザで*http://ルーターIP:9091に接続すると、ウェブUI*を確認できます。
IDとパスワードは設定ファイルで設定した値です。

Transmissionクライアント

Windows 11、Transmissionクライアントでサーバー情報入力画面

Transmissionクライアントはリモートサーバーへのアクセス機能があります。
実行後、ウェブアクセスと同じ情報を入力すれば大丈夫です。

トラブルシューティング

マウントされたディレクトリの変更

ストレージをデフォルト設定でマウントする場合、ユーザーのマウントされたストレージ名はsda1、sdb1となるでしょう。
この場合、ルーターが再起動するたびにストレージ名が変更される可能性があります。したがって、マウントを常に固定する必要があります。

first commit : 24/09/07
last commit : 24/09/14
Made By Svelte Rune, Designed By chimi
last commit : 24/10/17 comment : :memo: 문장 레벨 변경