前缀、文档修改记录
20250428 初始化编辑此文章,完稿。基于Debian 12.9系统环境版本 20250501 因为Debian版本里的Transmission 版本有点问题,更换,系统环境更换为Ubuntu 24.04,Transmission版本为transmission-daemon amd64 4.0.5-1build5
章节1、需求描述
孩子需要看奥特曼,父母要看影视剧,要看凹凸曼,国内剧可以通过哎呦疼(爱奇艺视频,优酷视频,腾讯视频)在线观看,但是一般的海外的影视剧集,由于版权和其他原因,就很难有正规的观看途径了,于是又不得不回归以前的BT下载的路子。
这里,介绍的是,在Linux环境上,部署并安装BT下载的客户端Transmission,满足日常的BT下载的需求。
2025-5-1更换为Ubuntu 24.04系统,里面的Transmission版本更新一些 ,安装命令是一样的,配置参数也没啥变化,挺好。
章节2、环境描述
Ubuntu 24.04系统,规格8vCPU 8GB-Mem 12GB-Sys-SSD 300GB-Data-SSD ,我这台主机的规格用来跑Transmission,性能是足足的了
章节3、操作步骤
3.1、更新系统,更新你的系统包列表
root@server:~# apt update
3.2、安装 Transmission
Debian 12 /Ubuntu 24.04的官方仓库已经包含了 Transmission,可以直接官方源安装
root@server:~# apt install transmission-daemon
安装后,软件就自动开始运行
本次安装到的版本是transmission-common all 3.00-2.1+deb12u1 Tag-202504282201,4.0.5-1build5 Tag-20250501默认增加的用户 debian-transmission
3.3、停止 Transmission服务
自定义编辑配置文件前,先停止transmission-daemon服务
root@server:~# systemctl stop transmission-daemon
3.4、自定义编辑配置文件
配置文件路径 /etc/transmission-daemon/settings.json
有几个自定义的参数
BT下载的盘,我挑了一块旧250G的SSD,这样坏了也不影响系统,坏了也不心疼,挂载路径沿袭旧例到 /media/HDD1TB
查看/dev/sdb1 250G的盘的UUID,并挂载到所需的目录,挂载成功后,赋予它目录的权限。
自定义 /media/HDD1TB/cache 下载未完成的时候,文件所处的目录
自定义 /media/HDD1TB/downs 下载完成后,文件所处的目录
root@server:~# mkdir /media/HDD1TB root@server:~# mkdir -p /media/HDD1TB/cache /media/HDD1TB/downs root@server:~# blkid /dev/sdb1: LABEL="data" UUID="33dd02ef-da0c-409b-a5cd-859a0197a5dc" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="35c5fec6-01" root@server:~# tail -1 /etc/fstab UUID="33dd02ef-da0c-409b-a5cd-859a0197a5dc" /media/HDD1TB ext4 defaults 0 0 root@server:~# mount -a root@Trans:~# df -h | grep HDD /dev/sdb1 218G 28K 207G 1% /media/HDD1TB
将 debian-transmission加入到管理员UID-1000的用户admin组,方便后续的文件管理。
root@server:~# cd /media root@server:~# chown -R debian-transmission:admin ./HDD1TB root@server:~# chmod -R 775 ./HDD1TB root@server:~# usermod -aG admin debian-transmission
配置文件要修改的不多,主要是下载目录、缓存目录、下载限速、上传限速、账号、密码等常用的就够了,别的参数不必修改
默认的配置文件
{ "alt-speed-down": 50, "alt-speed-enabled": false, "alt-speed-time-begin": 540, "alt-speed-time-day": 127, "alt-speed-time-enabled": false, "alt-speed-time-end": 1020, "alt-speed-up": 50, "bind-address-ipv4": "0.0.0.0", "bind-address-ipv6": "::", "blocklist-enabled": false, "blocklist-url": "http://www.example.com/blocklist", "cache-size-mb": 4, "dht-enabled": true, "download-dir": "/var/lib/transmission-daemon/downloads", "download-limit": 100, "download-limit-enabled": 0, "download-queue-enabled": true, "download-queue-size": 5, "encryption": 1, "idle-seeding-limit": 30, "idle-seeding-limit-enabled": false, "incomplete-dir": "/var/lib/transmission-daemon/Downloads", "incomplete-dir-enabled": false, "lpd-enabled": false, "max-peers-global": 200, "message-level": 1, "peer-congestion-algorithm": "", "peer-id-ttl-hours": 6, "peer-limit-global": 200, "peer-limit-per-torrent": 50, "peer-port": 51413, "peer-port-random-high": 65535, "peer-port-random-low": 49152, "peer-port-random-on-start": false, "peer-socket-tos": "default", "pex-enabled": true, "port-forwarding-enabled": false, "preallocation": 1, "prefetch-enabled": true, "queue-stalled-enabled": true, "queue-stalled-minutes": 30, "ratio-limit": 2, "ratio-limit-enabled": false, "rename-partial-files": true, "rpc-authentication-required": true, "rpc-bind-address": "0.0.0.0", "rpc-enabled": true, "rpc-host-whitelist": "", "rpc-host-whitelist-enabled": true, "rpc-password": "{cc8f2aede4fcaeb6a855b210b6af775e80ecf0f1pWs.JEN9", "rpc-port": 9091, "rpc-url": "/transmission/", "rpc-username": "transmission", "rpc-whitelist": "127.0.0.1", "rpc-whitelist-enabled": true, "scrape-paused-torrents-enabled": true, "script-torrent-done-enabled": false, "script-torrent-done-filename": "", "seed-queue-enabled": false, "seed-queue-size": 10, "speed-limit-down": 100, "speed-limit-down-enabled": false, "speed-limit-up": 100, "speed-limit-up-enabled": false, "start-added-torrents": true, "trash-original-torrent-files": false, "umask": 18, "upload-limit": 100, "upload-limit-enabled": 0, "upload-slots-per-torrent": 14, "utp-enabled": true }
修改后的配置文件
{ "alt-speed-down": 50, "alt-speed-enabled": false, "alt-speed-time-begin": 540, "alt-speed-time-day": 127, "alt-speed-time-enabled": false, "alt-speed-time-end": 1020, "alt-speed-up": 50, "bind-address-ipv4": "0.0.0.0", "bind-address-ipv6": "::1", "blocklist-enabled": false, "blocklist-url": "http://www.example.com/blocklist", "cache-size-mb": 20, "dht-enabled": true, "download-dir": "/media/HDD1TB/downs", "download-limit": 100, "download-limit-enabled": 0, "download-queue-enabled": true, "download-queue-size": 2, "encryption": 1, "idle-seeding-limit": 10, "idle-seeding-limit-enabled": true, "incomplete-dir": "/media/HDD1TB/cache", "incomplete-dir-enabled": true, "lpd-enabled": false, "max-peers-global": 300, "message-level": 1, "peer-congestion-algorithm": "", "peer-id-ttl-hours": 6, "peer-limit-global": 200, "peer-limit-per-torrent": 50, "peer-port": 51413, "peer-port-random-high": 65535, "peer-port-random-low": 49152, "peer-port-random-on-start": false, "peer-socket-tos": "default", "pex-enabled": true, "port-forwarding-enabled": false, "preallocation": 1, "prefetch-enabled": true, "queue-stalled-enabled": true, "queue-stalled-minutes": 30, "ratio-limit": 1, "ratio-limit-enabled": true, "rename-partial-files": true, "rpc-authentication-required": true, "rpc-bind-address": "0.0.0.0", "rpc-enabled": true, "rpc-host-whitelist": "", "rpc-host-whitelist-enabled": false, "rpc-password": "{abd1f2c8078fe339474767bcc972996397c27becDd5Zmgj2", "rpc-port": 9999, "rpc-url": "/transmission/", "rpc-username": "trans", "rpc-whitelist": "", "rpc-whitelist-enabled": false, "scrape-paused-torrents-enabled": true, "script-torrent-done-enabled": false, "script-torrent-done-filename": "", "seed-queue-enabled": true, "seed-queue-size": 10, "speed-limit-down": 4096, "speed-limit-down-enabled": true, "speed-limit-up": 512, "speed-limit-up-enabled": true, "start-added-torrents": true, "trash-original-torrent-files": false, "umask": 2, "upload-limit": 100, "upload-limit-enabled": 0, "upload-slots-per-torrent": 14, "utp-enabled": true }
章节4、启动transmission-daemon服务
root@server:~# systemctl start transmission-daemon
章节5、访问transmission
通过浏览器访问控制页面 http://服务器的IP:9999/transmission ,添加磁力链接或者BT种子,即可慢慢下载了。
章节6、优化参数
应对高并发种子、高速网络(如 100M – 1G 带宽)、大量 UDP tracker 通信和 peer 连接,内核参数设置
net.core.rmem_max 决定了这个缓冲区的最大值。
net.core.wmem_max 决定了单个socket的发送缓冲区的最大上限
对于 Transmission(BT 下载工具),追求高速上传/下载、大量连接、低延迟的稳定传输,适当调高 rmem_max 和 wmem_max 是很有价值的。
编辑 /etc/sysctl.conf
net.core.rmem_max = 4194304 # 4 MB net.core.wmem_max = 1048576 # 1 MB
root@server:~# sysctl -p
章节7、优化参数文件句柄
设置系统资源限制(防止fd泄露导致Web卡死)
修改文件 /etc/systemd/system/multi-user.target.wants/transmission-daemon.service
# 修改 /usr/bin/transmission-daemon -f --log-info # 追加 LimitNOFILE=8192 Restart=on-failure RestartSec=15 StandardOutput=append:/var/log/transmission.log StandardError=append:/var/log/transmission-error.log

附录1、视频操作演示
附录2、@Dasmz
博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。
对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费
Twitter: Dasmz
Youtube: @DasmzStudio
Telegram: @Dasmz

附录2,进阶的配置,让Transmission的所有流量全部走socks5代理 配置到启动服务中,设置环境变量 ... [Service] User=debian-transmission Environment="HTTP_PROXY=http://127.0.0.1:7890" "HTTPS_PROXY=http://127.0.0.1:7890" "ALL_PROXY=socks5://127.0.0.1:7891" Type=notify ... 官方说明 Transmission uses the libcurl library for http- and https-based tracker announces and scrapes. Transmission doesn't support proxies, but libcurl itself honors a handful of environment variables to customize its proxy behavior.
-- -- -- -- 分割线-- -- -- --
附录1, 一些其他参数的含义中文说明如下,根据自身需要进行补充的配置设置 "alt-speed-up": 500, # 限速时段上传限速值 "alt-speed-down": 500, # 限速时段下载限速值 "alt-speed-enabled": false, "alt-speed-time-begin": 540, "alt-speed-time-day": 127, # 时段限速日期(星期几),127 表示每天,更复杂配置参考官网。用 7 位二进制数表示,然后转换成十进制数,0000001 表示周日,1000000 表示周六,0000010 表示周一,0000100 表示周二。如果你只要在周末限速,该数应该 1000001,转换为十进制就是 65 "alt-speed-time-enabled": true, # 启用限速,为 false 时,以上计划配置则不生效,生效时会自动禁用 alt-speed-enabled 配置,二者只能选一个 "alt-speed-time-end": 420, # 限速时段结束时间,这个配置表示的是凌晨零点到开始时间的分钟数,比如 7:00 就是 7*60=420。需要注意的是,该时间是用的 GMT 时间,即北京时间 -8 小时。比如你计划北京时间 7 点 30 分开始,这个数字应该是(7-8+24)*60+30=1410 "bind-address-ipv4": "0.0.0.0", # IPv4 地址绑定,一般不要改动 "bind-address-ipv6": "::", #IPv6 地址绑定,一般不要改动 "blocklist-enabled": true, # 启动白名单,默认不启动,需要启动改为 true "blocklist-updates-enabled": false, "blocklist-url": "http://www.example.com/blocklist", "cache-size-mb": 4, #缓存大小,以 MB 为单位,建议设大一些,避免频繁读写硬盘而伤硬盘,建议设为内存大小的 1/6~1/4 "compact-view": false, "dht-enabled": false, #关闭 DHT(不通过 tracker 寻找节点)功能,不少 PT 站的要求,但 BT 下载设置为 true 会使得下载更好 "download-dir": "/share/Downloads", #下载的内容存放的目录 "download-queue-enabled": true, # 下载队列开关 "download-queue-size": 5, # 下载队列数量 "encryption": 1, # 加密。指定节点的加密模式,默认 1。0 表示关闭 , 0= 不加密,1= 优先加密,2= 必须加密 "lazy-bitfield-enabled": true, # 默认为 true,设置为 true 时可以避免某些 ISP 通过查询完整位段来屏蔽 BT,从而破解部分 ISP 对 BT 的封杀,当然不一定完全有效 "idle-seeding-limit": 30, "idle-seeding-limit-enabled": false, "incomplete-dir": "/share/Downloads", # 临时文件路径 "incomplete-dir-enabled": false, "inhibit-desktop-hibernation": true, "lpd-enabled": false, #禁用 LDP(本地节点发现,用于在本地网络寻找节点), 不少 PT 站的要求 "main-window-height": 500, "main-window-is-maximized": 0, "main-window-width": 615, "main-window-x": 337, "main-window-y": 211, "message-level": 2, "open-dialog-dir": "/share/Download", # 网页对话框打开的根目录 "peer-congestion-algorithm": "", "peer-limit-global": 240, # 全局连接数 "peer-limit-per-torrent": 60, # 每个种子最多的连接数 "peer-port": 51413, # 传入端口,预设的 port 口 "peer-port-random-high": 65535, # 传入端口随机值范围上限 "peer-port-random-low": 49152, # 传入端口随机值范围下限 "peer-port-random-on-start": false, # 启用随机端口,默认关闭,不建议改为 true "peer-socket-tos": "default", "pex-enabled": false, # 是否启用用户交换,默认为 true,关于 PEX,有兴趣的朋友可参考 http://en.wikipedia.org/wiki/Peer_exchange,对于只用 PT 的朋友,可以设为 false, 禁用 PEX(节点交换,用于同已与您相连接的节点交换节点名单), 不少 PT 站的要求 "port-forwarding-enabled": true, # 启用端口转发(uPnP),如果路由支持并且也开启了 uPnP,则路由会自动做端口映射,但是需要注意的是如果内网有几台机器同时使用 transmission,就必须更改 peer-port 值为不一样 "preallocation": 1, # 预分配文件磁盘空间,0= 关闭,1= 快速,2= 完全。建议取 1 开启该功能,防止下载大半了才发现磁盘不够。取 2 时,可以减少磁盘碎片,但速度较慢。 "prefetch-enabled": 1, "queue-stalled-enabled": true, "queue-stalled-minutes": 30, "ratio-limit": 2, # 分享率限制 "ratio-limit-enabled": false, # 启用分享率限制,默认不启用 "rename-partial-files": true, #在未完成的文件名后添加后缀.part,false= 禁用 "rpc-authentication-required": true, # 远程控制需要验证,默认为需要 "rpc-bind-address": "0.0.0.0", # 远程控制地址绑定,允许 IP 通过 RPC 访问,默认值表示任何地址都可以访问 "rpc-enabled": true, # 启用远程控制,默认启用 "rpc-host-whitelist-enabled": true, # 是否开启主机白名单 "rpc-host-whitelist": "", # 白名单,如果需要远程访问,最好配置 "rpc-password": "{cxxxxxxxxxxaE", #web-ui 的密码,可直接修改,重新运行或者 reload 服务的时候密码会自动 HASH 增加安全性 "rpc-port": 9091, # 默认 web-ui 的 port 口,也是远程控制端口,可自行更改 "rpc-url": "/transmission/", "rpc-username": "transmission", #默认登入名称,也是远程控制用户名 "rpc-whitelist": "127.0.0.1", # 远程控制白名单,默认值为所有地址,支持通配符*,如 192.168.2.* "rpc-whitelist-enabled": true, # 启用远程控制白名单,如果启用,则仅仅上面列出的地址可以远程连接 "scrape-paused-torrents-enabled": true, "script-torrent-done-enabled": false, "script-torrent-done-filename": "/home/", "seed-queue-enabled": false, "seed-queue-size": 10, "show-backup-trackers": true, "show-extra-peer-details": false, "show-filterbar": true, "show-notification-area-icon": false, "show-options-window": true, "show-statusbar": true, "show-toolbar": true, "show-tracker-scrapes": true, "sort-mode": "sort-by-age", "sort-reversed": false, "speed-limit-down": 300, #平时的下载限速 "speed-limit-down-enabled": true, #启用平时下载限速 "speed-limit-up": 30, #平时上传限速 "speed-limit-up-enabled": true, #启用平时上传限速 "start-added-torrents": false, "statusbar-stats": "total-ratio", "torrent-added-notification-enabled": true, "torrent-complete-notification-enabled": true, "torrent-complete-sound-enabled": true, "trash-can-enabled": true, "trash-original-torrent-files": false, "umask": 18, "upload-slots-per-torrent": 14 "utp-enabled": true, #启用μTP 协议 "watch-dir": "/share/bt", # 监听文件夹目录 "watch-dir-enabled": false # 是否监听文件夹