编译一个支持跳检以及无限文件限制的 Transmission 2.94 客户端
这是一篇发布于 1421 天前的文章,部分信息可能已发生改变。
最近在用脚本给柠檬搬运一些音乐。一个 TR 里大概塞了 3W 多个种子吧,总是会遇到因为 Too many files open
而红种的种子,这让我挺难受的,虽然说可以通过限制全局连接数数量来暂时性的解决这个问题,但是还是直接编译一个无文件限制的 TR 客户端永久的解决这个问题比较好。(而且还能增加点新功能)
警告:
使用修改版客户端是各大站点明令禁止的,请自行斟酌利弊。
我只修改了最大文件数量限制,与跳过校验不同的是它不会构成 fake seed。
如果你也只想修改最大文件数量限制,请自行在 github 上找到官方的源码进行修改即可。
环境
盒子系统为 Ubuntu 18.04
使用星大脚本安装过 TR 2.94 deb
星大脚本附赠了所有编译 TR 所需要的环境以及编译工具,而且也附赠了所有的 systemctl 文件和 tr 的配置文件,所以直接开草然后替换二进制文件就可以了。
{& note warning %}EDIT: 这里的问题星大已修复,不用再手动安装 libssl1.0-dev
了
{& endnote %}
当然,你也可以参考这里
编译修改
首先安装依赖
1 | apt-get install -y libcurl4-openssl-dev libglib2.0-dev libevent-dev libminiupnpc-dev libgtk-3-dev libappindicator3-dev pkg-config automake autoconf cmake libtool intltool build-essential openssl libssl1.0-dev libssl-dev |
开始前先做一个备份,养成备份的好习惯,万一翻车了也能救回来(
星大脚本的 tr 的二进制文件是放在 /usr/bin/
目录下的,将其备份到家目录下的 tr_backups
1 | mkdir ~/tr_backups && cp /usr/bin/transmission-* ~/tr_backups/ |
备份以后建议先运行一下 ls ~/tr_backups
检查一下文件是否真的备份完成了,不出意外的话,你应该是能看到以下结果:
1 | root@Main-SeedBox ~/tr_backup # ls |
确认文件没问题后就可以下载源码了。
1 | wget https://github.com/blackyau/Transmission_SkipHashChek/archive/2.94_mod.zip |
因为下载的源码只做了跳过校验的修改,所以这里还需要二次修改解除文件限制。
1 | unzip 2.94_mod.zip |
然后进入 daemon
文件夹,将新的 transmission-daemon
覆盖到 /usr/bin/
下即可。
1 | rm /usr/bin/transmission-daemon |
重启 tr,这里就别无脑抄作业了,记得替换用户名。
1 | systemctl restart transmission@你的用户名 |
装完了,没啥变化啊?
跳检需要一个正在校验中的种子,选中它,然后点击上方的获取更多 peers 即可。如下图
文件限制可能在种子少的时候比较少见,但是当你塞了几万个种子而且遇到站免的时候就知道了(