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

王 茂南 2022年9月23日07:48:17
评论
2 4736字阅读15分47秒
摘要本文会介绍 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. # 启动
  2. sudo service transmission-daemon start
  3. # 停止
  4. 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. {
  2.   "download-dir": "/var/lib/transmission-daemon/Downloads",   //默认下载位置
  3.   "rpc-authentication-required": true,
  4.   "rpc-bind-address": "0.0.0.0",
  5.   "rpc-enabled": true,
  6.   "rpc-host-whitelist": "", // rpc 主机白名单
  7.   "rpc-host-whitelist-enabled": true, //rpc 主机白名单是否开启,若需要任意主机都能访问,建议false
  8.   "rpc-password": "123456",
  9.   "rpc-port": 9091,
  10.   "rpc-url": "/transmission/",
  11.   "rpc-username": "transmission",
  12.   "rpc-whitelist": "*", // rpc 主机白名单
  13.   "rpc-whitelist-enabled": tr "rpc-username": "transmission", "rpc-whitelist": "*", // rpc ue //rpc 主机白名单是否开启,若需要任意主机都能访问,建议false
  14. }

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

  • "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

接着粗暴修改为 777 权限:

  1. sudo chmod -R 777 ./downloads # 切到transmission-daemon下,执行

最后重启服务即可。

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

 

找到不 settings.json

可能是由于权限不够的原因。

  1. chmod a+x abc # 添加 x 权限
  2. chmod a+r abc # 添加 r 权限

递归加权限使用 -Rchmod 777 -R abc。其中:

  • ls 某文件夹需要文件夹有 r 权限。
  • cd 某文件夹 需要文件夹有 x 权限。

sudo cd 这种命令是不正确的,会被提示没有找到 cd。因为 sudo 的功能时提升程序权限,而 cd 并非程序是 shell 内置的一部分。

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南
  • 本文由 发表于 2022年9月23日07:48:17
  • 转载请务必保留本文链接:https://mathpretty.com/15094.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: