Transmission 下载 BT 资源

配置transmission

我们当前使用的是 transmission ,该程序和绝大多数的Linux程序类似,需要做一些相应的配置。

下面的这些配置都是在Ubuntu下完成的,和其他版本的linux可能略有差别。

installation

apt-get install transmission-cli
apt-get install transmission-common
apt-get install transmission-daemon

configuration:

  1. 在命令行条件下配置Daemon:
    使用命令transmission-daemon -f -t -u lenove -v lenove -w /root/software -g /etc/transmission-daemon/

大概解释以下,具体可以参考文档:
-f 表示使transmission-daemon在前台运行,而不是以守护进程(daemon)的方式在后台运行,这样我们就可以很容易的使用Ctrl+c关闭。
-t 表示需要验证,
-u 表示用户名
-v 表示密码
-w 表示下载文件需要存放的目录(可配置)
-g 表示transmission daemon的配置信息存放的目录(不建议修改)

注意: 启动了daemon之后,就会有http://localhost:9091/ 启动,其中9091是默认端口,可以在下面介绍的setting.json中配置。

这个配置可以用于调试时使用,如果应用于产品环境,一定不能用这种方式。

  1. 介绍及设定配置文件:
    打开 setting 文件: emacs /etc/transmission-daemon/settings.json,
  • 修改"rpc-whitelist", 后面的IP地址不管是多少,只需要修改为星号*.
  • 修改“rpc-whitelist-enable”, 修改为false
  • 修改“rpc-username”, 修改为lenove
  • 修改"rpc-password", 修改为lenove

stat.json文件:打开如下所示:

{
    "downloaded-bytes": 787801321,
    "files-added": 4,
    "seconds-active": 5039,
    "session-count": 1,
    "uploaded-bytes": 0
}

可以认为第一个downloaded-bytes这个字段最有用。可以用来检查当前的是否还在下载。

  1. 开启服务:
    使用 service transmission-daemon status 查看当前daemon的运行状态
    使用 service transmission-daemon start 启动daemon
    使用 service transmission-daemon reload 重新启动daemon
    使用 service transmission-daemon stop 停止daemon

Q & A

Q:使用 service transmission-daemon start 启动daemon,但是daemon总是会立即关闭,也就是说,查看status时,什么都不存在。

A:我实践尝试的结果是先关闭daemon, 使用 transmission-daemon -g /etc/transmission-daemon/ 告知daemon配置文件的路径,然后再启动

Q: 怎么查看daemon启动正常:

A: 使用命令: transmission-remote -n 'lenove:lenove' -l ,将会得到:
D Done Have ETA Up Down Ratio Status Name
Sum: None 0.0 0.0

这样的结果,就说明服务启动正常。

Q:如果总是提示 [01:42:35.077] transmission-remote: (http://localhost:9091/transmission/rpc/) Couldn't connect to server

A:查看你的连接方式:账号密码是否正确,服务是否正常启动?

Q:如果服务启动,但是还是连接失败:
Unexpected response: <h1>403: Forbidden</h1><p>Unauthorized IP Address.</p><p>Either disable the IP address whitelist or add your address to it.</p><p>If you're editing settings.json, see the 'rpc-whitelist' and 'rpc-whitelist-enabled' entries.</p><p>If you're still using ACLs, use a whitelist instead. See the transmission-daemon manpage for details.</p>-Type: application/x-www-form-urlencoded

A:提示很明显了,是上面修改whitelist相关的选项没有按照要求完成。还有一种是账号密码错误。

下载文件:

文档上的命令示例是这样的:
transmission-remote -n 'transmission:transmission' -a /var/lib/transmission-daemon/downloads/files.torrent

我是尝试了一个 transmission-remote-cli 的 github 项目,该项目只有一个文件,但是还会生成一个配置文件位于 ~/.config/transmission-remote-cli/setting.cfg 基本不需要修改这个配置文件。使用该项目验证daemon的工作是否正常,就需要使用命令:transmission-remote-cli -c 'lenove:lenove@localhost:9091' 注意,该命令会打开网页,只能将当前终端关闭。

下载文件 直接用 transmission-remote-cli file.torrent 就可以了,但是这个项目只能下载,没有即成其他任何功能。

不管是使用即成 transmission-remote 实现下载功能, 还是使用 transmissionrpc 的json rpc的方式实现下载功能,都需要使用daemon存在。所以daemon一定要在系统中开启,才能实现下载任务。

推荐阅读更多精彩内容