PT注意事项
PT站有各种考核,所以需要额外的一些设置,编辑你的aria2.conf
配置文件,在##BT/PT下载相关##
这个类别下,部分选项请参考如下设置,最后一项分享率根据你的站点考核自行设置。
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=false
# 打开IPv6 DHT功能, PT需要禁用
enable-dht6=false
# 本地节点查找, PT需要禁用, 默认:false
bt-enable-lpd=false
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=false
# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=2.0
设置完记得重启下Aria2使其生效。
/etc/init.d/aria2 restart
做种期间不会自动上传怎么办,那就手动上传。
网盘互拷
先来看网盘互拷,跟手动上传操作差不多。如果担心自己撸的5T OneDrive或无限Google Drive会随时扑街,就搞两个网盘互相对拷,总不能两个一起死吧。
我们可以再次配置Rclone,比如我给第二个配置命名为remote2
,只是想手动上传的不用配置第二个。
还有一个问题就是拷贝一般是手动执行,且时间可能会很长,如果拷贝过程中关闭SSH客户端会导致拷贝中断,所以先安装以下screen
,通过screen来进行拷贝,就算关闭SSH客户端就不会造成任务中断了。
yum -y install screen #安装screen
那么screen安装好后,也绑定了二个网盘,这时我要将remote这个配置关联的OneDrive里的backup目录下的文件
拷贝到remote2配置关联的OneDrive里的backup目录下的文件
, 只需要执行以下命令即可。目录要跟你的对上。
screen -L rclone copy -v remote:backup remote2:backup
上面代码的大致意思screen
• 在新建的screen窗口下运行命令(这样关闭ssh窗口也不会导致任务中断)-L
• 在当前目录生成屏幕完整日志文件(如果第二次运行screen产生的日志文件会在以前的日志文件下面延续)rclone
• 使用rclone命令copy
• 复制,也就是A网盘文件复制到B网盘然后两个网盘都保留有这个文件,如果要A到B后就只有B网盘留有这个文件,则将copy改为move-v
• rclone在拷贝或移动时会显示进度过程,前面screen -L是将这个同步进度保存为日志文件,方便同步失败的时候查看原因remote:backup remote2:backup
• 将remote网盘配置下的backup文件夹(拷贝或移动到)remote2网盘配置下的backup目录,如果你想更进一步只针对网盘backup文件夹内的2ha.txt单个文件时,就这样写remote:backup/2ha.txt
如果不想手动网盘对拷,可以利用宝塔面板添加计划任务
来定时对拷文件,将上面那条手动对拷的命令复制到计划任务的脚本内容里保存(如下图,screen -L
这里就不用加了,计划任务自己会生成日志),然后到了设定的时间就会自动对拷了。

手动上传
VPS手动上传网盘跟网盘对拷命令格式一样,只要将第一个网盘目录改为VPS上的文件目录,但是需要精确到你要上传的文件或文件夹。但是有些文件名称很长且复杂,比如这样[Kamigami] Kara no Kyoukai Movie 01-08 [BD x264 1920x1080 DTS-HD(5.1ch,2.0ch) Sub(Chs,Jap)]
,像这种名称带括号空格和逗号的直接复制文件名到Linux里是不能识别的,需要在括号空格和逗号前面加入\
才行,但是手动加麻烦还容易出错,比如你的aria2下载目录是/data/download
,要指定前面的文件,那你copy时输入的内容就成这样/data/download/\[Kamigami\]\ Kara\ no\ Kyoukai\ Movie\ 01-08\ \[BD\ x264\ 1920x1080\ DTS-HD\(5.1ch\,2.0ch\)\ Sub\(Chs\,Jap\)\]
。
这长文件名就算你直接复制粘贴,光要加入\
就很麻烦,也不建议通过修改文件名来简化输入,这可能会影响到做种。不过也还是有偷懒方法的,就是使用自动输入。例如还是这个文件名,然后这个目录下名称开头含[Ka
的只有这个文件,那你输入时只要输到/data/download/\[Ka
然后按下键盘Tab键就会自动补齐完整文件名了。
关于Screen和Rclone更多参数设置请查看官方文档Screen官方文档: https://www.gnu.org/software/screen/manual/screen.html Rclone官方文档:https://rclone.org/docs/
清理日志文件
自动上传和利用screen上传产生的日志文件随着下载上传量增加会越来越大,这两个日志的位置分别位于/root/.aria2/aria2.log
和/root/screenlog.0
,过大会无法在线查看,需要下到本地查看,且内容过长不易审阅。
要清理同样可以利用宝塔面板里的计划任务,比如清理aria2.log的脚本内容如下,清理screenlog.0的话只要改下代码后面文件目录即可。建议周期不要太短,否则下载或同步出错想看日志都没得看。
cat /dev/null > /root/.aria2/aria2.log
下载大于服务器硬盘容量的文件合集
注意是文件合集,如果单个文件超过剩余硬盘容量是没法下载的。假如你要下一个110G的视频合集,合集包含2个视频,每个视频55G,但是你VPS硬盘容量只剩60G了。这种我们可以先添加任务,然后暂停这个任务,点击N个文件
进入任务详情。

进入文件列表,然后根据剩余硬盘大小勾选部分文件下载。

点击选择文件
可以根据文件类型进行快速选择(我也是无意中发现这个可以点击)。

还有一个问题就是可能添加超过硬盘大小的任务时会直接失败,根本没法先暂停任务,也就没法进行部分文件选择。解决这个问题需要修改aira2.conf配置文件,在## 文件保存相关 ##
这类里找到文件预分配方式
,比如使用逗比Aria2脚本的默认配置是这样的# file-allocation=none
,这种就需要修改分配方式为trunc(如下),记得去掉前面#使其生效,同样不要忘记保存配置文件后重启Aria2。
file-allocation=trunc
OneDrive被墙免代理直连下载
有些地区宽带运营商把OneDrive给墙了(我这边今年6月份被墙了,7月份又放出来了(ˉ▽ˉ;)…),本地无法直连登录和下载,得挂代理才能下载(某种意义上还不如挂代理从服务器上下载更方便)。然后我又试了Rclone可以挂载的其它网盘,找到两个免代理的方案。
方案1:采用迂回战术,先注册个koofr网盘(德国的),这个网盘免费空间只有2G,不过没关系,我们主要用它绑定OneDrive,然后就可以在这里免代理直连下载OneDrive的文件(生成的下载链接变成app.koofr.net开头的),移动宽带出口速度越来越垃圾,这个网盘很多时候我下不动,少数空闲时段百兆带宽跑满过,可以试一试。

方案2:不用OneDrive,将Rclone挂载到Yandex这个俄罗斯的网盘,这个网盘上传跟下载都很快(我这边晚高峰下载会掉速),服务器上传Yandex比上传OneDrive(教育版)快两三倍,而且很稳定。只是免费空间只有10G,付费也便宜,就是要实名认证,否则外币信用卡都充值不了。它的实名认证很烦(国内只有厦门有个代理点,需真人带身份证办理,还要200RMB手续费),所以只能上传些不超过10G的小文件,然后下到本地后清空这个网盘,完全当做中转站用。
单个大文件分卷上传
OneDrive是有单个文件大小上传限制的,单个文件超过15G不能上传。像4K、原盘、Remux这类影片基本都会超过这个大小。这时就得在服务器上对大文件进行分卷压缩然后上传网盘,因为是要下到PC上用,所以用zip来压缩,但是linux压缩zip得分两次,一次是先将文件压成一个zip,然后分卷这个zip,所以如果你要分卷一个40G的源文件,最好服务器剩余硬盘空间有80G。
首先使用下面命令安装zip
yum install -y unzip zip
这样就能使用zip压缩了,接着假设你要压缩的文件名为2ha.iso
,这个文件大小为40G,位于/data/download/
这个目录,准备将他分卷成5G
大小的8个文件,参考操作如下。
cd /data/download #先进入这个目录位置
zip -r name.zip 2ha.iso #将2ha.iso压缩成一个name.zip
zip -s 5G name.zip --out name2.zip #将name.zip按5G大小分卷压缩,分卷名称为name2,不要跟单个zip同名
上面分卷使用的单位除了G也可以用M。将分卷上传到网盘,再从网盘将所有分卷下载到电脑后,放在同个文件夹,然后同时解压就出来2ha.iso了。
给AriaNg面板添加文件管理选项
因为经常会用到文件管理,每次手动输入网址挺麻烦的,干脆在AriaNg的界面加一个文件管理选项,效果如下。

要添加选项你得编辑AriaNg目录(就是安装教程里宝塔站点
的目录 )下的index.html
(修改之前建议你先备份一下),点开编辑后会发现排版挤在一起很乱不容易找,这里用搜索定位,因为是要在Aria2 状态
下面加选项,所以搜索Aria2 Status
,找到后发现Aria2 Status的li标签内容是这样的,不用细看。
<li data-href-match="/status">
<a href="#!/status">
<span class="label pull-right" ng-if="globalStatusContext.isEnabled || isCurrentRpcUseWebSocket" ng-class="{'label-primary': taskContext.rpcStatus === 'Connecting', 'label-success': taskContext.rpcStatus === 'Connected', 'label-danger': taskContext.rpcStatus === 'Disconnected'}" ng-bind="taskContext.rpcStatus | translate"></span>
<i class="fa fa-server"></i>
<span translate>Aria2 Status</span>
</a>
</li>
找到Aria2 Status的li标签结尾,也就是</li>
,在这后面加入如下代码,注意下面代码里面的http://IP:8080
,将这个地址改为你FileBrowser的地址。
<li data-href-match="/file">
<a href="http://IP:8080" target="_blank">
<i class="fa fa-folder"></i>
<span translate>文件管理</span>
</a>
</li>
保存后刷新下你的AriaNg界面应该就能看到这个选项了,如果没出现清理下浏览器缓存再刷新试试。
其它问题说明
1、 下载完成会占用VPS空间吗
要等完全上传到网盘上后就不占用VPS空间了,你也可以在文件管理下对不需要的文件进行删除。
2、 文件下载100%完成了,没有上传到OneDrive网盘
文件要从正在下载
进入已完成
才会触发上传脚本,有时“正在下载”显示100%完成了也不会马上进入“已完成”,因为BT要做种,我也不建议图自己方便将分享率设0。看看国内BT环境,既然出来下BT,本着你好我好大家好的原则,建议最小也设置个1.1(比下载多上传0.1的数据),做种时不会自动上传可以使用上面手动上传的方案,注意用copy
不要用move
,用move传完会把你服务器文件删了,影响你做种率(PT的尤为注意)。
3、 上传总是失败,OneDrive下生成一大堆TMP临时文件
VPS内存太小(一般发生在512M的小鸡上)导致的上传崩溃,你可以在rclone手动上传命令后面加入--buffer-size=8M
(buffer-size默认是16M)或者加入--transfers=3
(同时上传数3,默认是4)
有时候上传太频繁也会导致失败,就像你用PanDownload下载百度网盘一样,下多了也会导致失败(这里是上传),可以先等会再手动上传,或加入--tpslimit 1
就不会那么容易失败了(玄学)。