1

Ubuntu 下关于 Transmission daemon 的安装与配置

 1 year ago
source link: https://mathpretty.com/15094.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Ubuntu 下关于 Transmission daemon 的安装与配置

王 茂南 2022年9月23日07:48:17评论4458字阅读14分51秒

摘要本文会介绍 Ubuntu 下关于 Transmission daemon 的安装与配置,最终可以实现网页打开进行下载。同时包含使用 transmission-web-control 对界面进行美化。最后会包含一些常见的问题和解决办法。

Transmission 是一个强大的 BitTorrent 开源客户端,官方网站上提供了多个版本可以下载,包括:MacGTK+QTweb 版本。

Transmission 支持 DHTMagnet LinkuTP 以及 PEX 等特性。尤其是支持 Magnet Link 磁力链接下载十分重要,因为目前网上很多资源都是采用这种方式来分享的,而不是传统的 .torrent 文件

Ubuntu 的发行版中,Transmission 软件包下面包含多个套件,这些套件的名字很容易搞混淆,它们分别是:

  • transmission-gtk: GTK + 界面的 Transmission BT 客户端。
  • transmission-qt: QT 界面的 Transmission BT 客户端。
  • transmission-cli: 命令行界面的 Transmission BT 客户端,与 QT、GTK + 版本功能一样,是命令行下一个完备的 BT 客户端。
  • transmission-daemon: 是一个 Transmission 的后台守护程序,本身不具备操作指令,只能通过 Web 客户端或者 transmission-remote-cli 来进行控制。这个程序特别适合安装在服务器上或者嵌入式系统中,以及一些没有显示器的设备上。
  • transmission-remote-cli: 用来控制 transmission-daemon 的命令套件,本身不具备下载 BT 的功能,只能够配合 daemon 使用。

这些套件不必都安装上,根据我的需求(我之后只需要远程访问),所以我们只需要安装 transmission-daemon 即可。

本文的主体内容参考自,Ubuntu 下关于 Transmission daemon 的安装与配置。最后增加了一些我自己在安装过程中遇到的问题和相应的解决办法。

Transmission 的安装

打开终端,输入以下命令安装:

  1. sudo apt-get update
  2. sudo apt-get install transmission-daemon

安装过程中会顺带把 transmission-cli 也安装上,安装完毕后系统会多出如下一些命令行工具

  • transmission-cli: 独立的命令行客户端。
  • transmission-create: 用来建立.torrent 种子文件的命令行工具。
  • transmission-daemon: 后台守护程序。
  • transmission-edit: 用来修改.torrent 种子文件的 announce URL。
  • transmission-remote: 控制 daemon 的程序。
  • transmission-show:查看.torrent 文件的信息。

安装好后,Transmission-daemon 有一些默认设置 (参考链接)。安装完毕之后,会有以下的默认配置清单:

  • 启动初始化脚本 /etc/init.d/transmission-daemon
  • 基本配置文件 /etc/default/transmission-daemon
  • 详细配置文件目录 /var/lib/transmsision-daemon/info/settings.json。 主要的配置文件,设置 daemon 的各项参数,包括 RPC 的用户名密码配置。它实际上是一个符号链接,指向的原始文件是 /etc/transmission-daemon/settings.json。里面的参数解释可以参考官网的配置说明。
  • 下载存储目录 /var/lib/transmission-daemon/downloads

启动和停止 Transmission

  1. sudo service transmission-daemon start
  2. sudo service transmission-daemon stop

如果想要查看服务是否正常启动,可以使用下面的命令:

  1. sudo service transmission-daemon status

Transmission 的配置

配置主要是通过修改 /var/lib/transmission-daemon/info/settings.json 文件中的参数来实现的。注意:在编辑 Transmission 的配置文件的时候,需要先关闭 daemon 进程,否则编辑的参数将会被恢复到原来的状态。关闭的方法见上面的「启动与关闭 Transmission」。

我们打开文件 /var/lib/transmission-daemon/info/settings.json,修改配置参数如下:

  1.   "download-dir": "/var/lib/transmission-daemon/Downloads",   //默认下载位置
  2.   "rpc-authentication-required": true,
  3.   "rpc-bind-address": "0.0.0.0",
  4.   "rpc-enabled": true,
  5.   "rpc-host-whitelist": "", // rpc 主机白名单
  6.   "rpc-host-whitelist-enabled": true, //rpc 主机白名单是否开启,若需要任意主机都能访问,建议false
  7.   "rpc-password": "123456",
  8.   "rpc-port": 9091,
  9.   "rpc-url": "/transmission/",
  10.   "rpc-username": "transmission",
  11.   "rpc-whitelist": "*", // rpc 主机白名单
  12.   "rpc-whitelist-enabled": tr "rpc-username": "transmission", "rpc-whitelist": "*", // rpc ue //rpc 主机白名单是否开启,若需要任意主机都能访问,建议false

下面对其中几个比较重要的参数进一步解释:

  • "download-dir": "/var/lib/transmission-daemon/Downloads",默认下载位置
  • "rpc-host-whitelist-enabled": false,任何主机可以访问
  • "rpc-whitelist-enabled": false,任何主机可以访问,设置为 true 需要在白名单的主机才可以访问,否则会出现 403 的报错。
  • "rpc-username": "username", 设置用户名。
  • "rpc-password": "password",设置密码。需要注意的是 password 设置成了明文。当启动 daemon 之后,daemon 会自动检测密码设置。如果发现密码配置被修改了,daemon 会自动计算修改后的密码的 HASH 值,并用这个 HASH 值替换掉配置文件中的明文密码,这样会更安全。

settings.json 里面还有很多参数可以配置,包括上传 / 下载速度的限制、DHT 的配置、端口设置等等,详细的参数解释可以参考官网的配置说明

设置到这里之后,重启 Transmission ,在浏览器中输入 http://x.x.x.x:9091/transmission/web/ 就可以显示下载界面了。

美化 Web 界面

原始的 Transmission Web 的界面比较简单,我们可以使用 transmission-web-control 加强 Transmission Web 的操作能力。

Github 仓库的地址为,Github - transmission-web-control。对应的说明文档的地址为 transmission-web-control,中文说明。下面简单介绍一下,详细的内容可以查看文档:

首先国内用户使用gitee 镜像地址:

  1. wget https://gitee.com/culturist/transmission-web-control/raw/master/release/install-tr-control-gitee.sh

接着执行安装脚本(如果系统不支持 bash 命令,请尝试将 bash 改为 sh ):

  1. sudo bash install-tr-control-cn.sh

安装完毕后重启Transmission,在浏览器中应该可以看到最终的效果(如果打开浏览器显示为 404,需要修改脚本内容,详细说明查看下面一部分,“可能存在的问题”),如下所是:

Ubuntu 下关于 Transmission daemon 的安装与配置

参考资料Ubuntu安装Transmission并美化WEB UI实操教程

可能存在的问题

HTTP 409 Conflict

需要将打开的 url 从,

http://x.x.x.x:9091/transmission/web

http://x.x.x.x:9091/transmission/web/

也就是需要多加一个斜杠。

参考资料"HTTP 409 Conflict" when requesting /transmission instead of /transmission/web

HTTP 403 Forbidden

这个可能是因为 rpc-host-whitelist-enabled 或是 rpc-whitelist-enabled 的设置问题,可以设置为 false,或是将自己电脑的 ip 放入白名单中。

HTTP 404 Not Found

如果在安装 transmission-web-control 后再打开网页出现 404 Not Found 的问题,通常是安装过程出现了问题,需要对脚本进行修改。查看安装过程详细的输出,可以看到一行报错:

  1. 正在复制安装包...
  2. cp: cannot stat '/tmp/tr-web-control/transmission-web-control/src/.': No such file or directory

检查发现,下载的文件所在位置 /transmission-web-control-v1.6.1-update1/ 而不是 /transmission-web-control/,也就是会包含具体的版本号。于是对安装脚本进行修改:

  1. 原脚本内容:
  2. cp -r "$TMP_FOLDER/transmission-web-control/src/." "$WEB_FOLDER/"
  3. 修改后的脚本内容:
  4. cp -r "$TMP_FOLDER/transmission-web-control-v$VERSION/src/." "$WEB_FOLDER/"

修改之后重新安装,再次启动 Transmission,此时就可以看到界面了。

参考资料群晖安装transmission-web-control后报错404 Not Found

安装的 transmission 的用户组是 debian-transmission。将其分组为 root 即可。关于 Linux 权限管理的相关内容,可以查看链接,Linux 用户与权限

  1. sudo usermod -aG root debian-transmission

参考资料在Ubuntu中安装Transmission笔记

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK