「Deluge」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎Web: 大洪水→deluge)
 
(5人の利用者による、間の22版が非表示)
1行目: 1行目:
[[Category:インターネットアプリケーション]]
+
[[Category:BitTorrent]]
 
[[de:Deluge]]
 
[[de:Deluge]]
 
[[en:Deluge]]
 
[[en:Deluge]]
12行目: 12行目:
 
{{Related articles end}}
 
{{Related articles end}}
   
[http://deluge-torrent.org/ Deluge] は Python 2 で書かれた軽量かつフル機能の BitTorrent アプリケーションです。以下のような様々な機能が揃っています: クライアント/サーバーモデル、DHT のサポート、マグネットリンク、プラグインシステム、UPnP のサポート、フルストリーム暗号、プロキシのサポート、3つの異なるクライアントアプリケーション。サーバーデーモンが動作している間、ユーザーはコンソールクライアントや GTK+ ベースの GUI、またはウェブベースの UI を使って接続することができます。完全な機能のリストは [http://dev.deluge-torrent.org/wiki/About こちら] から見れます。
+
[http://deluge-torrent.org/ Deluge] は Python 3 で書かれたフル機能の BitTorrent アプリケーションです。以下のような様々な機能が揃っています: クライアント/サーバーモデル、DHT のサポート、マグネットリンク、プラグインシステム、UPnP のサポート、フルストリーム暗号、プロキシのサポート、3つの異なるクライアントアプリケーション。サーバーデーモンが動作している間、ユーザーはコンソールクライアントや GTK+ ベースの GUI、またはウェブベースの UI を使って接続することができます。完全な機能のリストは [http://dev.deluge-torrent.org/wiki/About こちら] から見れます。
   
 
== インストール ==
 
== インストール ==
   
  +
{{Pkg|deluge}} パッケージからインストールできます。GTK+ クライアントを使うには {{AUR|pygtk}} パッケージが必要です。Be sure to read and install the optional dependencies for the gtk client {{Pkg|deluge-gtk}} to enable desktop notifications and appindicator notifications.
{{Pkg|deluge}} は[[公式リポジトリ]]からインストールできます。また、任意で {{Pkg|python2-service-identity}} が必要になります。このパッケージがないと、長い警告を見ることになり、正しい証明者やホスト名のマッピングがクライアントによって拒否されることがあります。
 
   
  +
== デーモン ==
GTK+ UI には Web UI と同じように別の依存パッケージがあります。pacman の出力をよく確認してどれが必要か判断してください:
 
  +
Deluge はクライアント・サーバーモデルで稼働します。サーバーはデーモンとも呼ばれバックグラウンドで動作してクライアント (コンソール, gtk, ウェブベース) が接続してくるのを待機します。クライアントが切断してもデーモンはキューに入った torrent ファイルの転送を実行し続けます。
{{Pkg|python2-notify}}: libnotify 通知
 
{{Pkg|pygtk}}: gtk ui を使うのに必須
 
{{Pkg|librsvg}}: gtk ui を使うのに必須
 
{{Pkg|python2-mako}}: web ui を使うのに必須
 
   
  +
インストール時、pacman は非特権の '''deluge''' ユーザーを作成します。付属の {{ic|/usr/bin/deluged}} デーモンを実行するためのユーザーです。デーモンを起動する方法は複数存在します:
== デーモンのセットアップ ==
 
  +
# Systemd のシステムサービス (deluge ユーザーとして実行)。
  +
# Systemd のユーザーサービス (他のユーザーとして実行)。
  +
# 直接実行 (他のユーザーとして実行)。
   
  +
{{Tip|セキュリティをできるかぎり高めるために、{{ic|deluged}} は systemd のシステムサービス ({{ic|deluged.service}}) で実行することを推奨します。deluge ユーザーはシェルにアクセスすることがなくホスト環境の他のグループに入っていません。非特権の deluge ユーザーとして実行する場合、Xorg やクライアントを起動しなくてもシステムサービスを起動できるというメリットもあります。}}
{{Warning|If multiple users are running a daemon, the default port (58846) will need to be changed for each user.}}
 
Deluge には {{ic|deluged}} という名前のデーモンが付属しています。クライアントを動かした時にデーモンが動作していない場合、デーモンが起動します。ただし、デーモンは systemd で起動すれば、クライアントや Xorg を起動することなく torrent を扱うことができます。systemd による起動には2つの方法があります: システムサービスとユーザーサービスです。
 
   
 
=== システムサービス ===
 
=== システムサービス ===
   
  +
{{ic|deluged.service}} サービスを[[起動]]/[[有効化]]してください。
システムサービスを使うことで Xorg やクライアントを起動することなくブート時に {{ic|deluged}} を起動することができます。Deluge には {{ic|deluged.service}} という名前のシステムサービスが付属しており、特に変更を加えることなく起動・有効化できます:
 
# systemctl start deluged
 
# systemctl enable deluged
 
上記のコマンドでは deluge はパッケージによって作成された '''deluge''' ユーザーで実行されます。他のユーザーでデーモンを実行したい場合、{{ic|/usr/lib/systemd/system/deluged.service}} を {{ic|/etc/systemd/system/deluged.service}} にコピーして、ファイル内の User パラメータを変更してください (例: '''torrent'''):
 
User='''torrent'''
 
この場合、'''torrent''' という名前のユーザーを作成してください。
 
   
 
=== ユーザーサービス ===
 
=== ユーザーサービス ===
  +
  +
{{Warning|複数のユーザーでデーモンを実行する場合、ユーザーごとにデフォルトポート (58846) を変更する必要があります。}}
   
 
ユーザーサービスを使うことで {{ic|systemd --user}} が実行されたときに {{ic|deluged}} を起動することができます。以下のユーザーサービスファイルを作成することで使うことが可能です:
 
ユーザーサービスを使うことで {{ic|systemd --user}} が実行されたときに {{ic|deluged}} を起動することができます。以下のユーザーサービスファイルを作成することで使うことが可能です:
60行目: 56行目:
   
 
Deluge はクライアントを使って設定することも、{{ic|$HOME/.config/deluge/}} にある JSON フォーマットの設定ファイルを編集して設定することもできます (''$HOME'' は {{ic|deluged}} を動作させるユーザーのホームディレクトリです、デーモンが ''deluge'' ユーザーによって動作している場合、デフォルトのホームディレクトリは {{ic|/srv/deluge/}} になります)。
 
Deluge はクライアントを使って設定することも、{{ic|$HOME/.config/deluge/}} にある JSON フォーマットの設定ファイルを編集して設定することもできます (''$HOME'' は {{ic|deluged}} を動作させるユーザーのホームディレクトリです、デーモンが ''deluge'' ユーザーによって動作している場合、デフォルトのホームディレクトリは {{ic|/srv/deluge/}} になります)。
  +
  +
=== ダウンロード・アップロードに共有ディレクトリを使う ===
  +
systemd の {{ic|deluged.service}} を使用する場合、共有ディレクトリはシステムの他のユーザーがデータにアクセスできるように共有する必要があります。一般的な設定例:
  +
  +
# 共有ディレクトリの所有者と所有グループを {{ic|deluge:deluge}} に変更。
  +
# 共有ディレクトリの[[ファイルのパーミッションと属性]]を最低でも 770 に設定。
  +
# (ファイルにアクセスする必要がある) ユーザーを deluge グループに追加。
  +
  +
{{ic|/mnt/torrent_data}} を使用する場合:
  +
# chown -R deluge:deluge /mnt/torrent_data
  +
# chmod 770 /mnt/torrent_data
  +
# usermod -a -G deluge YOURUSER
  +
  +
{{Note|usermod を使用してグループ所属を変更する場合、変更を有効にする前にログアウト/ログインが必要です。}}
   
 
=== ファイアウォール ===
 
=== ファイアウォール ===
   
  +
Deluge は、シード用の着信接続を許可するために、TCP および UDP の少なくとも1つのポートを開く必要があります。Deluge が着信接続用のポートを開くことができない場合、ユーザーは使用するポート(複数可)を開く必要があります。この例では、ポート56881 から 56889 が TCP および UDP 用に開かれています。
Deluge requires at least one port open for TCP and UDP to allow incoming connections for seeding. If deluge complaining that it cannot open a port for incoming connections, users must open port(s) to be used. In this example, ports 56881 through 56889 are opened for TCP and UDP:
 
 
# iptables -A INPUT -p tcp --dport 56881:56889 -j ACCEPT
 
# iptables -A INPUT -p tcp --dport 56881:56889 -j ACCEPT
 
# iptables -A INPUT -p udp --dport 56881:56889 -j ACCEPT
 
# iptables -A INPUT -p udp --dport 56881:56889 -j ACCEPT
  +
NAT ルーター/ファイアウォールの背後にいるユーザーは、転送に対応するポートを設定する必要があります。 UPnP も使用できますが、事前定義されたポートが必要なため、システムのローカルファイアウォールでは機能しません。
User who are behind a NAT router/firewall must setup the corresponding ports to be forwarded. UPnP may also be used, but that will not work with the local firewall on the system because it requires predefined ports.
 
  +
{{Note|これを単一のポートに制限することができます。TCP と UDP の両方を必ず有効にしてください。}}
{{Note|One can limit this to a single port, just be sure to enable both TCP and UDP.}}
 
 
On many default configurations, when using iptables with connection tracking (conntrack) set to drop "INVALID" packets, sometimes a great deal of legitimate torrent traffic (especially DHT traffic) is dropped as "invalid." This is typically caused by either conntrack's memory restrictions, or from long periods between packets among peers (see [http://libtorrent.rakshasa.no/wiki/RTorrentUsingDHT] towards the bottom and [http://www.linuxquestions.org/questions/showthread.php?p=5145026]). Symptoms of this problem include torrents not seeding, especially when the torrent client has been active for more than a day or two continuously, and consistently low overhead traffic (in one experience, less than 3KiB/s in either in or out) with DHT enabled, even when deluge/libtorrent has been continuously running for more than forty-eight hours and many torrents are active. For this reason, it may be necessary to disable connection tracking of all torrent traffic for optimal performance, even with the listening ports set to ACCEPT (as the causes for dropping INVALID packets, for instance conntrack's memory problems, may supercede any rules to accept traffic to/from those ports).
 
   
  +
多くのデフォルト設定では、接続追跡 (conntrack) で iptables を使用して ''無効な'' パケットをドロップするように設定すると、大量の正当なトレント トラフィック (特に DHT トラフィック) が ''無効'' としてドロップされる場合があります。これは通常、conntrack のメモリ制限、またはピア間のパケット間の長い時間によって発生します (最下部の [http://libtorrent.rakshasa.no/wiki/RTorrentUsingDHT] および [https://www.linuxquestions.org/questions/showthread.php?p=5145026] を参照)。この問題の症状には、特にトレント クライアントが 1 〜 2 日以上継続してアクティブな場合に、トレントがシードされないこと、DHT を有効にして、deluge/libtorrent が 48 時間以上継続して実行され、多くのトレントがアクティブな場合でも、常に低いオーバーヘッド トラフィック (ある報告では、入出力ともに 3KiB/s 未満) が発生することなどがあります。このため、リスニング ポートを ACCEPT に設定しても、最適なパフォーマンスを得るためには、すべてのトレント トラフィックの接続追跡を無効にする必要があるかもしれません (conntrack のメモリ問題など、無効なパケットをドロップする原因が、これらのポートへのトラフィック/ポートからのトラフィックを受け入れるルールに優先する場合があるためです。)
To fully turn off connection tracking for torrents, specify ports for both Incoming and Outgoing traffic in Deluge, for instance, 56881-56889 for incoming connections and 56890-57200 for outgoing connections.
 
   
  +
トレントの接続追跡を完全にオフにするには、Deluge の受信トラフィックと送信トラフィックの両方にポートを指定します。
{{Note|Limiting incoming connections is not recommended with libtorrent as this will limit the ability to keep multiple connections to the same client, even for different torrents.}}
 
  +
{{Note|libtorrent で着信接続を制限することはお勧めしません。これにより、異なるトレントであっても、同じクライアントへの複数の接続を維持する機能が制限されます。}}
   
  +
次のコマンドを発行します(関連するポート範囲を置き換えた後)
Then issue the following commands (after substituting the relevant port ranges):
 
 
# iptables -t raw -I PREROUTING -p udp --dport 56881:57200 -j NOTRACK
 
# iptables -t raw -I PREROUTING -p udp --dport 56881:57200 -j NOTRACK
 
# iptables -t raw -I OUTPUT -p udp --sport 56881:57200 -j NOTRACK
 
# iptables -t raw -I OUTPUT -p udp --sport 56881:57200 -j NOTRACK
84行目: 93行目:
 
# iptables -I INPUT -p icmp --icmp-type 11 -j ACCEPT
 
# iptables -I INPUT -p icmp --icmp-type 11 -j ACCEPT
 
# iptables -I INPUT -p icmp --icmp-type 12 -j ACCEPT
 
# iptables -I INPUT -p icmp --icmp-type 12 -j ACCEPT
  +
これらのポートで接続追跡が無効になると、これらの重要な ICMP メッセージ (タイプ3 (Destination Unreachable),4 (Source Quench),11 (Time Exceeded),および12 (Parameter Problem) が無効と宣言されるため、ICMP 許容値が望ましいです。それら自体(netfilter はそれらが関連付けられている接続を認識しないため)およびそれらは潜在的にブロックされます。
The ICMP allowances are desirable because once connection tracking is disabled on those ports, those important ICMP messages (types 3 (Destination Unreachable), 4 (Source Quench), 11 (Time Exceeded) and 12 (Parameter Problem)) would otherwise be declared INVALID themselves (as netfilter would not know of any connections that they are associated with), and they would potentially be blocked.
 
   
{{Warning|A port range of 1024:65535 would break every DNS query.}}
+
{{Warning|1024:65535 のポート範囲は、すべての DNS クエリを壊します。}}
  +
  +
=== プラグイン ===
  +
  +
完全なプラグインのリストは [http://dev.deluge-torrent.org/wiki/Plugins Deluge Wiki] にあります。
  +
  +
[https://github.com/ratanakvlun/deluge-ltconfig ltConfig] は libtorrent の設定を直接変更できる便利なプラグインで、プリセットにも対応しています。
  +
  +
このプラグインは {{ic|announce_ip}} のような追加設定を提供します。(トラッカーにアナウンスする IP), {{ic|half_open_limit}} のような追加設定を提供します。(最大半開放接続数の制限を解除する) などの追加設定や、プライバシーや (シード) スピードブースト機能を提供します。
   
 
== クライアント ==
 
== クライアント ==
98行目: 115行目:
 
=== GTK+ ===
 
=== GTK+ ===
   
  +
{{Note|デーモン (サーバー) の設定には、「編集」→「環境設定」→「インターフェース」でクラシックモードを無効にする必要があります。}}
{{Note|It is wise to disable Classic Mode in ''Edit -> Preferences -> Interface'' for daemon (server) setups.}}
 
  +
 
GTK+ クライアントは次のコマンドで起動できます:
 
GTK+ クライアントは次のコマンドで起動できます:
 
$ deluge-gtk
 
$ deluge-gtk
109行目: 127行目:
 
* Execute - イベントによってコマンドを実行。
 
* Execute - イベントによってコマンドを実行。
 
* Extractor - ダウンロード完了時に圧縮ファイルを解凍 '''''(ディスク I/O の使用量が増えることがあるので注意)'''''。
 
* Extractor - ダウンロード完了時に圧縮ファイルを解凍 '''''(ディスク I/O の使用量が増えることがあるので注意)'''''。
  +
* Label - ラベルをトレント、状態、トラッカー、キーワードフィルターに割り当てることができます
* Label - Allows labels to be assigned to torrents, as well as state, tracker, and keyword filters
 
  +
* Notifications - イベントやその他のプラグインの通知(電子メール、ポップアップ、点滅、サウンド)を提供します
* Notifications - Provides notifications (email, pop-up, blink, sound) for events as well as other plugins
 
  +
* Scheduler - 1時間ごと、1日ごとに、アクティブなトレントとその速度を制限します
* Scheduler - Limits active torrents and their speed on a per-hour, per-day basis
 
  +
* WebUi - GTK+ クライアントを介して WebUI を開始できるようにします
* WebUi - Allows the Web UI to be started via the GTK+ client
 
   
 
=== Web ===
 
=== Web ===
   
  +
ユーザーがデーモンへの GTK またはシェルベースのアクセスを望まない場合は、Web クライアントも提供されます。上記の Deluge デーモンと同様に、Web クライアントはいくつかの異なる方法で起動できます。
{{Note|ウェブクライアントでは https を使うことが推奨されています。}}
 
  +
# Systemd system サービス (deluge のユーザーとして実行)
{{Warning|
 
  +
# Systemd user サービス (別のユーザーとして実行)
* If multiple users are running a daemon, the default port (8112) will need to be changed for each user.
 
  +
# 直接実行する (別のユーザーとして実行)
* The deluge Web client comes with a default password. See the Setup section.
 
  +
  +
{{Note|
  +
* Web インターフェイスのデフォルトのパスワードは ''deluge'' です
  +
* Web クライアントは、プラグインシステムなど、GTKUI と同じ機能の多くを提供します。
  +
* 中間者攻撃から保護するために、Web クライアントに HTTPS を使用することをお勧めします。
  +
* ユーザーは、SSL 証明書が信頼されていないというブラウザからの警告によって迎えられる場合があります。続行するには、ブラウザでこれに例外を追加してください。独自の証明書の作成については、[[OpenSSL]] ページを参照してください。
  +
* 複数のユーザーがデーモンを実行している場合は、ユーザーごとにデフォルトのポート(8112)を変更する必要があります。
 
}}
 
}}
  +
Web UI は GTK+ UI のプラグインや systemd によって {{ic|deluge-web}} を実行することで起動できます。GTK+ UI とほぼ同じ機能が揃っており、プラグインシステムも完備しています。
 
  +
{{Tip|最高レベルのセキュリティを確保するには、systemd システムサービス({{ic|deluge-web.service}})を介して {{ic|deluge-web}} を実行することをお勧めします。これは、deluge ユーザーがシェルアクセス(制限付きアカウント)を持っていないためです。ホストシステム上の他のグループ所属。非特権の deluge ユーザーとして実行することによるセキュリティ上の利点に加えて、システムサービスは、Xorg またはクライアントを起動しなくても起動時に実行できます。}}
  +
  +
実行後、https://127.0.0.1:8112 で暗号化を使用している場合、またはホスト IP アドレスで暗号化を使用している場合、ユーザーは http://127.0.0.1:8112 を参照して Web クライアントに接続できます。
   
 
==== システムサービス ====
 
==== システムサービス ====
   
  +
Deluge には Deluge のウェブ UI を[[起動]]するのに使用する systemd システムユニットである {{ic|deluge-web.service}} が付属しています。Deluge Web UI は Connection Manager を使用して同一ホスト上で複数の Deluge クライアントを管理します。ウェブ UI クライアントからホストの Deluge クライアントに接続するには {{ic|deluged}} サービスを [[起動]]・[[有効化]] してください。
Deluge comes with a system service file called {{ic|deluge-web.service}}. The process for this is the same as starting {{ic|deluged.service}}, except with {{ic|deluge-web}} instead of {{ic|deluged}}. This service will also run as the '''deluge''' user unless the service file is modified in the same way as {{ic|deluged.service}}.
 
   
 
==== ユーザーサービス ====
 
==== ユーザーサービス ====
141行目: 169行目:
 
WantedBy=default.target
 
WantedBy=default.target
 
</nowiki>}}
 
</nowiki>}}
ユーザーから deluge のユーザーサービスを起動・有効化してください:
+
ユーザーから deluge のユーザーサービスを [[起動]][[有効化]] してください:
 
$ systemctl --user start deluge-web
 
$ systemctl --user start deluge-web
 
$ systemctl --user enable deluge-web
 
$ systemctl --user enable deluge-web
   
{{ic|deluge-web}} のユーザーサービスは {{ic|$HOME/.config/systemd/user/}} に配置することもできます。ユーザーサービスについて詳しくは [[systemd/ユーザー]] を見てさい。
+
{{ic|deluge-web}} のユーザーサービスは {{ic|$HOME/.config/systemd/user/}} に配置することもできます。ユーザーサービスについて詳しくは [[systemd/ユーザー]] を見てください。
 
==== セットアップ ====
 
 
{{ic|deluge-web}} を初めて起動すると、{{ic|$HOME/.config/deluge/web.conf}} が作成されます。このファイル内のパスワードは SHA1 でハッシュ化されます。デフォルトパスワードは "deluge" です。
 
 
Users may be greeted by a warning from the browser that the SSL certificate is untrusted. Add an exception to this in the browser to continue on. See the [[OpenSSL]] page for information on creating your own certificate.
 
   
 
== ヘッドレスセットアップ ==
 
== ヘッドレスセットアップ ==
   
  +
Deluge は、クライアント/サーバーモデルのため、シードボックスと呼ばれることが多いヘッドレスシステムで非常に役立ちます。ヘッドレスシステムで Deluge を設定するには、上記のようにデーモンを設定します。
Deluge is quite useful on a headless system, often referred to as a seed box, because of its client/server model. To set up deluge on a headless system, set up the daemon as shown above.
 
   
 
=== ユーザーの作成 ===
 
=== ユーザーの作成 ===
   
To allow interaction with the server remotely, create a user in {{ic|$HOME/.config/deluge/auth}}. For example:
+
サーバーとのリモート操作を許可するには、{{ic|$HOME/.config/deluge/auth}} にユーザーを作成します。例えば:
 
$ echo "delugeuser:p422WoRd:10" >> $HOME/.config/deluge/auth
 
$ echo "delugeuser:p422WoRd:10" >> $HOME/.config/deluge/auth
 
{{Note|
 
{{Note|
  +
* 作成されたユーザー/パスワードは、どのシステムユーザーとも一致する必要はありません。また、適切なセキュリティプラクティスを維持するために、''not'' の必要があります。
* The user/password created does not have to match any system users, and to maintain good security practices it should '''not'''!
 
  +
* このファイルのユーザー/パスワードは、ウェブクライアント設定のようにハッシュ化またはソルト化されていません。
* The user/password in this file are not hashed or salted like in the web client config.
 
  +
* ユーザー/パスワードは /srv/deluge/.config/deluge/auth にあるユーザー/パスワードと一致する必要があります。一致しない場合、認証は失敗します。
 
}}
 
}}
   
  +
数字 ''10'' は ''Admin'' レベルに相当します。 その他の値については、次の表を参照してください。
The number '''10''' corresponds to a level of '''Admin'''. Refer to the following table for additional values:
 
   
 
{| class="wikitable" align="center"
 
{| class="wikitable" align="center"
 
|-
 
|-
  +
! レベル名 !! レベル値
! Level Name !! Level Value
 
 
|-
 
|-
 
| None || 0
 
| None || 0
181行目: 204行目:
 
|}
 
|}
   
  +
{{Note|Deluge 1.35では、これらの値は効果がありませんが、マルチユーザーオプションは開発中です。}}
{{Note|In Deluge 1.35, these values have no effect, but multiuser options are under development.}}
 
   
 
=== リモートの許可 ===
 
=== リモートの許可 ===
187行目: 210行目:
 
デフォルト設定ではリモート接続は許可されていません。{{ic|$HOME/.config/deluge/core.conf}} の "allow_remote" 設定を変更してください:
 
デフォルト設定ではリモート接続は許可されていません。{{ic|$HOME/.config/deluge/core.conf}} の "allow_remote" 設定を変更してください:
 
"allow_remote": true,
 
"allow_remote": true,
  +
  +
{{Note|
  +
* {{ic|$HOME/.config/deluge/core.conf}} は最初に設定を変更したときに自動的に作成されます。存在しない場合、{{ic|deluge-console}} で値を設定できます: {{ic|config --set allow_remote true}}。
  +
* デーモンの実行中に設定を変更しても反映されません。サービスを停止してからファイルを変更してください。
  +
}}
   
 
=== ファイアウォール ===
 
=== ファイアウォール ===
   
  +
リモートアクセス用にポートを開いてください。以下の例ではデフォルトのデーモンポート (58846) を使います:
Open the port for remote access. The following example uses the default daemon port (58846):
 
 
# iptables -A INPUT -p tcp --dport 58846 -j ACCEPT
 
# iptables -A INPUT -p tcp --dport 58846 -j ACCEPT
 
ファイアウォールのルールに関する詳細は [[iptables]] を見て下さい。
 
ファイアウォールのルールに関する詳細は [[iptables]] を見て下さい。
   
  +
NATルーター/ファイアウォールの背後にいるユーザーは、この動作が必要な場合、ネットワークの外部からデーモンにアクセスするためにポートを転送する必要があります。
Users behind a NAT router/firewall must forward the port to access the daemon from outside the network if this behavior is desired.
 
   
 
=== 接続 ===
 
=== 接続 ===
206行目: 234行目:
   
 
==== SSH トンネル ====
 
==== SSH トンネル ====
  +
An SSH tunnel can be created to use an encrypted connection on any client. This requires an extra loopback address to be added, but this can be automated at boot. Without this step, the connection would be considered local. The actual command to establish an SSH tunnel cannot be automated as it requires user input. There are a few possible ways to go about doing that.
 
  +
SSH トンネルを作成して、任意のクライアントで暗号化された接続を使用できます。これには、追加のループバックアドレスを追加する必要がありますが、これは起動時に自動化できます。この手順がないと、接続はローカルと見なされます。 SSHトンネルを確立するための実際のコマンドは、ユーザー入力が必要なため自動化できません。それを行うには、いくつかの方法があります。
 
{{hc|/etc/systemd/system/extra_lo_addr.service|<nowiki>
 
{{hc|/etc/systemd/system/extra_lo_addr.service|<nowiki>
 
[Unit]
 
[Unit]
223行目: 252行目:
   
 
$ ssh -fNL 127.0.0.2:58846:localhost:58846 <ssh host>
 
$ ssh -fNL 127.0.0.2:58846:localhost:58846 <ssh host>
  +
ポート '''58846''' は、デリュージサーバーが実行されているポートに置き換え、''' ssh host''' は、デリュージと SSH サーバーの両方をホストするサーバーに置き換える必要があります。
The port '''58846''' should be replaced with the port the deluge server is running on and '''<ssh host>''' should be replaced with the server hosting both deluge and the SSH server.
 
  +
  +
== トラブルシューティング ==
  +
  +
=== No module named service_identity ===
  +
  +
{{ic|deluged}} や {{ic|deluge-console}} を実行したときに以下のようなメッセージが表示される場合:
  +
  +
:0: UserWarning: You do not have a working installation of the service_identity module: 'No module named service_identity'.
  +
Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied.
  +
Without the service_identity module and a recent enough pyOpenSSL to support it, Twisted can perform only rudimentary TLS
  +
client hostname verification. Many valid certificate/hostname mappings may be rejected.
  +
  +
{{Pkg|python-twisted}} の任意の依存パッケージである {{Pkg|python-service-identity}} がインストールされていないことが原因です。{{Bug|43806}} を見てください。
  +
  +
=== Web ui .torrent アップロードが機能しない ===
  +
  +
リバースプロキシの背後で Web UI を実行しているユーザーは、.torrent アップロードの埋め込みを許可する必要があります (X-Frame-Options ALLOW)
  +
  +
=== 実行スクリプトが見つからないか、実行可能ではありません ===
  +
  +
[https://dev.deluge-torrent.org/wiki/Plugins/Execute Execute] プラグインを使用する場合、deluge がスクリプトを実行しようとすると、次のエラーメッセージがログに記録されます。
  +
  +
[ERROR ][deluge_execute.core :145 ] Execute script not found or not executable
  +
  +
{{ic|deluged}} がシステムサービスとして実行されている場合、他のユーザーのホームディレクトリにアクセスできない可能性があることに注意してください。カスタムスクリプトを {{ic|/usr/local/bin/}} に配置することを検討してください。
  +
  +
スクリプト権限の問題は、[[sudo]] を使用して {{ic|deluge}} ユーザーとしてデバッグできます。
  +
$ sudo -u deluge /path/to/script
  +
  +
=== 予期しないシャットダウンの後、Torrent リストが完全に消えました ===
  +
  +
これは通常、状態ファイルが破損していることを意味します。 [https://forum.deluge-torrent.org/viewtopic.php?t=55087 これは、過去10年間、断続的な問題でした。]以前に実行されていたすべてのトレントのコピーとともに1つのバックアップ状態ファイルが必要です。この問題を解決するために復元できる deluge プロファイルフォルダ(systemd ユーザーの場合、これは通常 {{ic|/srv/deluge/.config/deluge/state}} です)ただし、特に数回の再起動後にトレントリストに気付いただけの場合は、すぐに上書きされる可能性があります。それが再び起こらないようにするための推奨される行動方針は、state ファイルと Torrent ファイルの毎日のバックアップを自動化することです。
  +
  +
=== コンソールを使用できません ===
  +
  +
Deluge を {{ic|deluge}} ユーザで実行する場合、 {{ic|deluge-console}} には {{ic|deluge}} ユーザでアクセスしないと、 Python のさまざまな例外やバグに遭遇する可能性があります。
  +
  +
$ sudo -u deluge deluge-console
  +
  +
もしくは
  +
  +
$ sudo deluge-console -c /srv/deluge/.config/deluge
   
 
== 参照 ==
 
== 参照 ==

2022年10月9日 (日) 23:51時点における最新版

関連記事

Deluge は Python 3 で書かれたフル機能の BitTorrent アプリケーションです。以下のような様々な機能が揃っています: クライアント/サーバーモデル、DHT のサポート、マグネットリンク、プラグインシステム、UPnP のサポート、フルストリーム暗号、プロキシのサポート、3つの異なるクライアントアプリケーション。サーバーデーモンが動作している間、ユーザーはコンソールクライアントや GTK+ ベースの GUI、またはウェブベースの UI を使って接続することができます。完全な機能のリストは こちら から見れます。

インストール

deluge パッケージからインストールできます。GTK+ クライアントを使うには pygtkAUR パッケージが必要です。Be sure to read and install the optional dependencies for the gtk client deluge-gtk to enable desktop notifications and appindicator notifications.

デーモン

Deluge はクライアント・サーバーモデルで稼働します。サーバーはデーモンとも呼ばれバックグラウンドで動作してクライアント (コンソール, gtk, ウェブベース) が接続してくるのを待機します。クライアントが切断してもデーモンはキューに入った torrent ファイルの転送を実行し続けます。

インストール時、pacman は非特権の deluge ユーザーを作成します。付属の /usr/bin/deluged デーモンを実行するためのユーザーです。デーモンを起動する方法は複数存在します:

  1. Systemd のシステムサービス (deluge ユーザーとして実行)。
  2. Systemd のユーザーサービス (他のユーザーとして実行)。
  3. 直接実行 (他のユーザーとして実行)。
ヒント: セキュリティをできるかぎり高めるために、deluged は systemd のシステムサービス (deluged.service) で実行することを推奨します。deluge ユーザーはシェルにアクセスすることがなくホスト環境の他のグループに入っていません。非特権の deluge ユーザーとして実行する場合、Xorg やクライアントを起動しなくてもシステムサービスを起動できるというメリットもあります。

システムサービス

deluged.service サービスを起動/有効化してください。

ユーザーサービス

警告: 複数のユーザーでデーモンを実行する場合、ユーザーごとにデフォルトポート (58846) を変更する必要があります。

ユーザーサービスを使うことで systemd --user が実行されたときに deluged を起動することができます。以下のユーザーサービスファイルを作成することで使うことが可能です:

/etc/systemd/user/deluged.service
[Unit]
Description=Deluge Daemon
After=network.target

[Service]
ExecStart=/usr/bin/deluged -d -P %h/.config/deluge/deluge.pid

[Install]
WantedBy=default.target

ユーザーから deluge のユーザーサービスを起動・有効化してください:

$ systemctl --user start deluged
$ systemctl --user enable deluged

deluged のユーザーサービスは $HOME/.config/systemd/user/ に配置することもできます。ユーザーサービスについて詳しくは systemd/ユーザー を見て下さい。

設定

Deluge はクライアントを使って設定することも、$HOME/.config/deluge/ にある JSON フォーマットの設定ファイルを編集して設定することもできます ($HOMEdeluged を動作させるユーザーのホームディレクトリです、デーモンが deluge ユーザーによって動作している場合、デフォルトのホームディレクトリは /srv/deluge/ になります)。

ダウンロード・アップロードに共有ディレクトリを使う

systemd の deluged.service を使用する場合、共有ディレクトリはシステムの他のユーザーがデータにアクセスできるように共有する必要があります。一般的な設定例:

  1. 共有ディレクトリの所有者と所有グループを deluge:deluge に変更。
  2. 共有ディレクトリのファイルのパーミッションと属性を最低でも 770 に設定。
  3. (ファイルにアクセスする必要がある) ユーザーを deluge グループに追加。

/mnt/torrent_data を使用する場合:

# chown -R deluge:deluge /mnt/torrent_data
# chmod 770 /mnt/torrent_data
# usermod -a -G deluge YOURUSER
ノート: usermod を使用してグループ所属を変更する場合、変更を有効にする前にログアウト/ログインが必要です。

ファイアウォール

Deluge は、シード用の着信接続を許可するために、TCP および UDP の少なくとも1つのポートを開く必要があります。Deluge が着信接続用のポートを開くことができない場合、ユーザーは使用するポート(複数可)を開く必要があります。この例では、ポート56881 から 56889 が TCP および UDP 用に開かれています。

# iptables -A INPUT -p tcp --dport 56881:56889 -j ACCEPT
# iptables -A INPUT -p udp --dport 56881:56889 -j ACCEPT

NAT ルーター/ファイアウォールの背後にいるユーザーは、転送に対応するポートを設定する必要があります。 UPnP も使用できますが、事前定義されたポートが必要なため、システムのローカルファイアウォールでは機能しません。

ノート: これを単一のポートに制限することができます。TCP と UDP の両方を必ず有効にしてください。

多くのデフォルト設定では、接続追跡 (conntrack) で iptables を使用して 無効な パケットをドロップするように設定すると、大量の正当なトレント トラフィック (特に DHT トラフィック) が 無効 としてドロップされる場合があります。これは通常、conntrack のメモリ制限、またはピア間のパケット間の長い時間によって発生します (最下部の [1] および [2] を参照)。この問題の症状には、特にトレント クライアントが 1 〜 2 日以上継続してアクティブな場合に、トレントがシードされないこと、DHT を有効にして、deluge/libtorrent が 48 時間以上継続して実行され、多くのトレントがアクティブな場合でも、常に低いオーバーヘッド トラフィック (ある報告では、入出力ともに 3KiB/s 未満) が発生することなどがあります。このため、リスニング ポートを ACCEPT に設定しても、最適なパフォーマンスを得るためには、すべてのトレント トラフィックの接続追跡を無効にする必要があるかもしれません (conntrack のメモリ問題など、無効なパケットをドロップする原因が、これらのポートへのトラフィック/ポートからのトラフィックを受け入れるルールに優先する場合があるためです。)

トレントの接続追跡を完全にオフにするには、Deluge の受信トラフィックと送信トラフィックの両方にポートを指定します。

ノート: libtorrent で着信接続を制限することはお勧めしません。これにより、異なるトレントであっても、同じクライアントへの複数の接続を維持する機能が制限されます。

次のコマンドを発行します(関連するポート範囲を置き換えた後)

# iptables -t raw -I PREROUTING -p udp --dport 56881:57200 -j NOTRACK
# iptables -t raw -I OUTPUT -p udp --sport 56881:57200 -j NOTRACK
# iptables -t raw -I PREROUTING -p tcp --dport 56881:57200 -j NOTRACK
# iptables -t raw -I OUTPUT -p tcp --sport 56881:57200 -j NOTRACK
# iptables -I INPUT -p icmp --icmp-type 3 -j ACCEPT
# iptables -I INPUT -p icmp --icmp-type 4 -j ACCEPT
# iptables -I INPUT -p icmp --icmp-type 11 -j ACCEPT
# iptables -I INPUT -p icmp --icmp-type 12 -j ACCEPT

これらのポートで接続追跡が無効になると、これらの重要な ICMP メッセージ (タイプ3 (Destination Unreachable),4 (Source Quench),11 (Time Exceeded),および12 (Parameter Problem) が無効と宣言されるため、ICMP 許容値が望ましいです。それら自体(netfilter はそれらが関連付けられている接続を認識しないため)およびそれらは潜在的にブロックされます。

警告: 1024:65535 のポート範囲は、すべての DNS クエリを壊します。

プラグイン

完全なプラグインのリストは Deluge Wiki にあります。

ltConfig は libtorrent の設定を直接変更できる便利なプラグインで、プリセットにも対応しています。

このプラグインは announce_ip のような追加設定を提供します。(トラッカーにアナウンスする IP), half_open_limit のような追加設定を提供します。(最大半開放接続数の制限を解除する) などの追加設定や、プライバシーや (シード) スピードブースト機能を提供します。

クライアント

コンソール

コンソールクライアントは次のコマンドで起動できます:

$ deluge-console

利用可能なコマンドのリストを確認したいときは help コマンドを使って下さい。

GTK+

ノート: デーモン (サーバー) の設定には、「編集」→「環境設定」→「インターフェース」でクラシックモードを無効にする必要があります。

GTK+ クライアントは次のコマンドで起動できます:

$ deluge-gtk

または:

$ deluge

GTK+ クライアントには便利なプラグインがたくさん付いています:

  • AutoAdd - .torrent ファイルのディレクトリを監視。
  • Blocklist - IP ブロックリストをダウンロード・インポート。
  • Execute - イベントによってコマンドを実行。
  • Extractor - ダウンロード完了時に圧縮ファイルを解凍 (ディスク I/O の使用量が増えることがあるので注意)
  • Label - ラベルをトレント、状態、トラッカー、キーワードフィルターに割り当てることができます
  • Notifications - イベントやその他のプラグインの通知(電子メール、ポップアップ、点滅、サウンド)を提供します
  • Scheduler - 1時間ごと、1日ごとに、アクティブなトレントとその速度を制限します
  • WebUi - GTK+ クライアントを介して WebUI を開始できるようにします

Web

ユーザーがデーモンへの GTK またはシェルベースのアクセスを望まない場合は、Web クライアントも提供されます。上記の Deluge デーモンと同様に、Web クライアントはいくつかの異なる方法で起動できます。

  1. Systemd system サービス (deluge のユーザーとして実行)
  2. Systemd user サービス (別のユーザーとして実行)
  3. 直接実行する (別のユーザーとして実行)
ノート:
  • Web インターフェイスのデフォルトのパスワードは deluge です
  • Web クライアントは、プラグインシステムなど、GTKUI と同じ機能の多くを提供します。
  • 中間者攻撃から保護するために、Web クライアントに HTTPS を使用することをお勧めします。
  • ユーザーは、SSL 証明書が信頼されていないというブラウザからの警告によって迎えられる場合があります。続行するには、ブラウザでこれに例外を追加してください。独自の証明書の作成については、OpenSSL ページを参照してください。
  • 複数のユーザーがデーモンを実行している場合は、ユーザーごとにデフォルトのポート(8112)を変更する必要があります。
ヒント: 最高レベルのセキュリティを確保するには、systemd システムサービス(deluge-web.service)を介して deluge-web を実行することをお勧めします。これは、deluge ユーザーがシェルアクセス(制限付きアカウント)を持っていないためです。ホストシステム上の他のグループ所属。非特権の deluge ユーザーとして実行することによるセキュリティ上の利点に加えて、システムサービスは、Xorg またはクライアントを起動しなくても起動時に実行できます。

実行後、https://127.0.0.1:8112 で暗号化を使用している場合、またはホスト IP アドレスで暗号化を使用している場合、ユーザーは http://127.0.0.1:8112 を参照して Web クライアントに接続できます。

システムサービス

Deluge には Deluge のウェブ UI を起動するのに使用する systemd システムユニットである deluge-web.service が付属しています。Deluge Web UI は Connection Manager を使用して同一ホスト上で複数の Deluge クライアントを管理します。ウェブ UI クライアントからホストの Deluge クライアントに接続するには deluged サービスを 起動有効化 してください。

ユーザーサービス

ユーザーサービスを使うことで systemd --user が実行されたときに deluge-web を起動することができます。以下のユーザーサービスファイルを作成することで使うことが可能です:

/etc/systemd/user/deluge-web.service
[Unit]
Description=Deluge Web UI
After=deluged.service

[Service]
ExecStart=/usr/bin/deluge-web --ssl

[Install]
WantedBy=default.target

ユーザーから deluge のユーザーサービスを 起動有効化 してください:

$ systemctl --user start deluge-web
$ systemctl --user enable deluge-web

deluge-web のユーザーサービスは $HOME/.config/systemd/user/ に配置することもできます。ユーザーサービスについて詳しくは systemd/ユーザー を見てください。

ヘッドレスセットアップ

Deluge は、クライアント/サーバーモデルのため、シードボックスと呼ばれることが多いヘッドレスシステムで非常に役立ちます。ヘッドレスシステムで Deluge を設定するには、上記のようにデーモンを設定します。

ユーザーの作成

サーバーとのリモート操作を許可するには、$HOME/.config/deluge/auth にユーザーを作成します。例えば:

$ echo "delugeuser:p422WoRd:10" >> $HOME/.config/deluge/auth
ノート:
  • 作成されたユーザー/パスワードは、どのシステムユーザーとも一致する必要はありません。また、適切なセキュリティプラクティスを維持するために、not の必要があります。
  • このファイルのユーザー/パスワードは、ウェブクライアント設定のようにハッシュ化またはソルト化されていません。
  • ユーザー/パスワードは /srv/deluge/.config/deluge/auth にあるユーザー/パスワードと一致する必要があります。一致しない場合、認証は失敗します。

数字 10Admin レベルに相当します。 その他の値については、次の表を参照してください。

レベル名 レベル値
None 0
Read Only 1
Normal 5
Admin 10
ノート: Deluge 1.35では、これらの値は効果がありませんが、マルチユーザーオプションは開発中です。

リモートの許可

デフォルト設定ではリモート接続は許可されていません。$HOME/.config/deluge/core.conf の "allow_remote" 設定を変更してください:

"allow_remote": true,
ノート:
  • $HOME/.config/deluge/core.conf は最初に設定を変更したときに自動的に作成されます。存在しない場合、deluge-console で値を設定できます: config --set allow_remote true
  • デーモンの実行中に設定を変更しても反映されません。サービスを停止してからファイルを変更してください。

ファイアウォール

リモートアクセス用にポートを開いてください。以下の例ではデフォルトのデーモンポート (58846) を使います:

# iptables -A INPUT -p tcp --dport 58846 -j ACCEPT

ファイアウォールのルールに関する詳細は iptables を見て下さい。

NATルーター/ファイアウォールの背後にいるユーザーは、この動作が必要な場合、ネットワークの外部からデーモンにアクセスするためにポートを転送する必要があります。

接続

コンソールクライアントの場合:

connect <host>[:<port>] <user> <password>

GTK+ クライアントの場合: Edit > Connection Manager > Add

ウェブクライアントの場合: Connection Manager > Add

SSH トンネル

SSH トンネルを作成して、任意のクライアントで暗号化された接続を使用できます。これには、追加のループバックアドレスを追加する必要がありますが、これは起動時に自動化できます。この手順がないと、接続はローカルと見なされます。 SSHトンネルを確立するための実際のコマンドは、ユーザー入力が必要なため自動化できません。それを行うには、いくつかの方法があります。

/etc/systemd/system/extra_lo_addr.service
[Unit]
Description=extra loopback address
Wants=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ip addr add 127.0.0.2/8 dev lo
ExecStop=/sbin/ip addr del 127.0.0.2/8 dev lo

[Install]
WantedBy=multi-user.target
$ ssh -fNL 127.0.0.2:58846:localhost:58846 <ssh host>

ポート 58846 は、デリュージサーバーが実行されているポートに置き換え、 ssh host は、デリュージと SSH サーバーの両方をホストするサーバーに置き換える必要があります。

トラブルシューティング

No module named service_identity

delugeddeluge-console を実行したときに以下のようなメッセージが表示される場合:

:0: UserWarning: You do not have a working installation of the service_identity module: 'No module named service_identity'.  
Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied.  
Without the service_identity module and a recent enough pyOpenSSL to support it, Twisted can perform only rudimentary TLS 
client hostname verification.  Many valid certificate/hostname mappings may be rejected.

python-twisted の任意の依存パッケージである python-service-identity がインストールされていないことが原因です。FS#43806 を見てください。

Web ui .torrent アップロードが機能しない

リバースプロキシの背後で Web UI を実行しているユーザーは、.torrent アップロードの埋め込みを許可する必要があります (X-Frame-Options ALLOW)

実行スクリプトが見つからないか、実行可能ではありません

Execute プラグインを使用する場合、deluge がスクリプトを実行しようとすると、次のエラーメッセージがログに記録されます。

[ERROR   ][deluge_execute.core           :145 ] Execute script not found or not executable

deluged がシステムサービスとして実行されている場合、他のユーザーのホームディレクトリにアクセスできない可能性があることに注意してください。カスタムスクリプトを /usr/local/bin/ に配置することを検討してください。

スクリプト権限の問題は、sudo を使用して deluge ユーザーとしてデバッグできます。

$ sudo -u deluge /path/to/script

予期しないシャットダウンの後、Torrent リストが完全に消えました

これは通常、状態ファイルが破損していることを意味します。 これは、過去10年間、断続的な問題でした。以前に実行されていたすべてのトレントのコピーとともに1つのバックアップ状態ファイルが必要です。この問題を解決するために復元できる deluge プロファイルフォルダ(systemd ユーザーの場合、これは通常 /srv/deluge/.config/deluge/state です)ただし、特に数回の再起動後にトレントリストに気付いただけの場合は、すぐに上書きされる可能性があります。それが再び起こらないようにするための推奨される行動方針は、state ファイルと Torrent ファイルの毎日のバックアップを自動化することです。

コンソールを使用できません

Deluge を deluge ユーザで実行する場合、 deluge-console には deluge ユーザでアクセスしないと、 Python のさまざまな例外やバグに遭遇する可能性があります。

$ sudo -u deluge deluge-console

もしくは

$ sudo deluge-console -c /srv/deluge/.config/deluge

参照