家里有一台无屏幕的 Linux 服务器,手上又有不少 BT 站的账号,于是想把这台服务器变成专门的下载机。Transmission 是很合适的选择。本文说明 transmission 的安装方式,以及如何用 transmission-cli 操作。
1. 安装 Docker
Docker 不是必要条件,但可以大幅简化配置步骤。
2. 用 Docker 运行 Transmission
启动脚本如下:
#! /bin/bash
TRANSMISSION_BASE=your_path
docker run --name "transmission" -d \
--env USER="hello" \
--env PASS="world" \
--publish 8084:9091 \
--publish 51413:51413 \
--publish 51413:51413/udp \
--volume ${TRANSMISSION_BASE}/config:/config \
--volume ${TRANSMISSION_BASE}/watch:/watch \
--volume ${TRANSMISSION_BASE}/downloads:/downloads \
--restart always \
linuxserver/transmission
记得先在脚本里设置 TRANSMISSION_BASE,这是存储空间的路径,例如可以设成 TRANSMISSION_BASE=/data。
如果要从外部连接,需要打开防火墙。以 firewall-cmd 为例:
sudo firewall-cmd --add-port 8084/tcp --zone=public --permanent
之后就能通过 http://your_ip:8084 连上服务器,账号密码就是启动脚本里 USER 和 PASS 的值。
3. 用 transmission-cli 访问
不一定随时都有浏览器可用,有时候用终端反而更方便,这时候就轮到 transmission-cli 上场:
sudo dnf install transmission-cli
实际操作时会用到 transmission-remote 命令。
# 列出 transmission 目前的任务
transmission-remote 8084 -n hello:world -l
# 新增一个 torrent 文件
transmission-remote 8084 -n hello:world -a path-to-torrent-file
4. 小结
本文说明如何用 Docker 安装 BT 客户端 Transmission,把 Linux 服务器变成下载机,并用 transmission-cli 在终端里操作下载任务。