一.前言
虽然迅雷被喷的很惨,但是对于部分没速度的种子来说它的各种离线加速会员加速全网加速啥的还是挺好的(但是这萨比最近快啥都不能加速了),那么问题来了,Aria2由于没有加速服务器,有些种子一直没几个人上传导致只有几KB的速度甚至完全没速度,这种情况下该怎么办呢?
二.搞事
办法还是有的,这儿介绍两种
①.借鸡生蛋
既然Aria2没有离线,那我给它加个不就行了吗,迅雷的离线空间(虽然很多可能提示违规)、百度云的离线(虽然不少8秒),但也不是不能用吗,土豪可以上115,强无敌,然后通过各种插件脚本将完成的任务通过Aria2下载,成功实现借鸡生蛋。不过除非是百度云还没开会员,不然这样感觉有种脱裤子放屁的感觉……
相关插件可以参考这文章——>传送门
②.众人拾柴
所谓BT其实实际上并不是一个人的事,因为你的下载必然代表着一个甚至一堆人在上传。所以,如果下载慢,那么找更多上传的人不就行了?那么问题来了,如何知道有谁能给你上传?这就涉及到Tracker、本地用户发现、DHT、用户交换这些功能了。
Tracker会存储你的信息(包括正在下载或者上传的是什么种子,你的速度还有进度),同时会将其他正在下载或者上传这个种子的用户数据给你,从而你能够根据这些信息连接对应的用户
DHT也是类似,只是它不像Tracker这样是一个个的,而是一整个网络,你可以通过接入DHT网络从而分享以及获得数据
本地用户发现不是很懂,感觉上应该是扫描局域网开放端口或者获取其他BT客户端在网内广播数据(?)从而发现其他用户
用户交换则是和你连接的用户交换所获得的其他用户的信息
在这四个中,DHT很大程度上比较不可控,因为我们不好修改程序(但是!DHT这玩意有缓存,下面会提到),而本地用户发现比较看你服务器,在某些BT扎堆的机房和地区感觉应该会比较有效,至于用户交换则是需要连接其他用户作为前提。所以我们最好下手的就是Tracker,要知道全世界一大堆Tracker服务器,如果我们连接的Tracker多了,那么就有更大的机会碰到和我们下载同一个种子的用户,这样速度不就会变快?
基于这个想法,我们需要给Aria2添加Tracker,而不是只根据从DHT网络或者种子文件中存储的Tracker信息,让下载赢在起跑线上
这儿推荐一个自动更新的Tracker列表——>传送门
这里面分了好几种,有http和udp的,也有纯ip和域名的,还有选出来的前20的Tracker(基于延迟以及热门度)
我建议添加前20的就OK了
修改Aria2配置文件
vi /etc/aria2/aria2c.conf #不是这个位置你也应该知道怎么办吧 bt-tracker=udp://tracker.skyts.net:6969/announce,udp://tracker.safe.moe:6969/announce,udp://tracker.piratepublic.com:1337/announce,udp://tracker.pirateparty.gr:6969/announce,udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.leechers-paradise.org:6969/announce,udp://allesanddro.de:1337/announce,udp://9.rarbg.com:2710/announce,http://p4p.arenabg.com:1337/announce,udp://p4p.arenabg.com:1337/announce,udp://tracker.opentrackr.org:1337/announce,http://tracker.opentrackr.org:1337/announce,udp://public.popcorn-tracker.org:6969/announce,udp://tracker2.christianbro.pw:6969/announce,udp://tracker1.xku.tv:6969/announce,udp://tracker1.wasabii.com.tw:6969/announce,udp://tracker.zer0day.to:1337/announce,udp://tracker.mg64.net:6969/announce,udp://peerfect.org:6969/announce,udp://open.facedatabg.net:6969/announce
我这个只是今天的列表,所以……用的时候建议自己换一下最新的
另外,在抗DMCA的服务器上请把如下选项打开
enable-dht=true bt-enable-lpd=true enable-peer-exchange=true
上面提到DHT有缓存,是这样滴,和很多BT客户端一样,Aria2有个dht.dat文件(开启ipv6还有个dht6.dat),这玩意用于存储一种叫做DHT Routing Table的东西,DHT网络由无数节点组成,你接触到一个后能通过它接触到更多的节点,Aria2我记得是有内置的节点,但是!如果你在Aria2第一次运行的时候直接下载磁力链接或者冷门种子,你很可能遇到连MetaData都无法获取的情况,这就是因为第一次只是初始化dht.dat文件,你本地不存在DHT Routing Table的缓存,所以你无法从DHT网络中获取足够的数据。
那么怎么办?我的建议是,找个热门种子(千万建议是种子,而不是磁力链接),然后下一波,挂着做种,过几个小时后退出Aria2,或者等Aria2会话自动保存,你会发现dht.dat从空文件变成有数据了,这时候你下载就会正常很多。
文章评论
问个问题,在vps上搭aria2进行BT下载会不会被服务商警告,比如vultr?
@inertia 会的,容易连上蜜罐服务器,然后被警告,不理睬就等着被关VPS
@Drake 对,所以我一般建议用抗DMCA投诉的机器跑最新资源,老资源倒是一般没人管
@Senra 还有这样的服务器?按你说的这个关键字搜了一下简直打开新世界的大门……
@Drake 你可以参考我之前一篇Plex+Aria2的文章,我就是拿挂在罗马尼亚DMCA Free的机器上的Aria2下电影然后存在Plex里然后拿来在线看
@Senra 罗马尼亚线路能支持在线看的流畅度吗?1080p的?
@Drake 仅用于下载,下载完成后会自动调用rsync将其传输到Plex服务器
学到了!?能转载吗??
@不见也散 当然没问题,带上我的链接就OK
小白问题:
可以将这些写入配置文件?
配置文件可以被覆盖?
@KH 我推荐的方法就是全部写入配置文件的,使用命令行参数的方法没那么好,你在ariang等面板上对单次下载指定参数是可以覆盖配置文件中的默认参数的,这个不用担心,这个修改是对单次创建下载任务有效的,而直接在面板上修改全局配置的话在配置文件中指定了的参数是无法修改的,没指定的可以改,但是aria2重启后会还原
dht.dat以前不知道,原来还有这个东西,很棒,学习了
哦呼,真不错,按照你的参数设置,总算是让我的uget能下磁力链接了,而且热门资源能到满速。之前就是0速度。
@winbun 必须的,这可是经验之谈,我之前也一直蛋疼速度慢
怎么做种,这个不太懂?
@wsy 这个不建议拿来PT做种,虽然可以伪装,但是还是可能翻车啥的。至于普通的bt做种,你在配置文件里找seed关键字,有分享率和做种时间
您好,添加了UDP列表,也成功下载了几个热门的磁力,但怎么没有看到文章中提到的dht.dat文件 ?
@清雲 需要等待aria2自动保存或者你手动去保存会话
@Senra 您好 谢谢你的回答 请问如何手动保存回话?
@清雲 用ariang的话在Aria2状态那儿有
好的 非常感谢您和答复 下次用时我再试试。
好的 非常感谢您的回答 下次使用时我再看看!
您好,我想请问一下怎么修改这个配置文件吧?用终端登陆vps以后再粘帖您的代码么?
@Albus12 修改aria2的配置文件,然后用指定配置文件的方式启动aria2
博主,您这个方法我昨天就试了,折腾到现在还是不成功,依旧下载没有速度,您能帮帮我么?感谢。
大nat的移动宽带这个dht有效吗?如果和其他bt的dht一样也不能解决nat问题啊?
@deyu260 移动不建议本地用这个下BT,容易失败,先离线到百度云然后拖回来吧
你好,我想请问这个对校园网不是属于内网嘛,是不是需要开启ipv6呢,然后如何开启?
@668 校园网看你运营商是谁,一般来说如果是你自己办的电信啥的运营商的上网服务并且不是学校自己的IP的话就大概率不是内网,是的话你学校如果提供了v6的话可以开启,具体的你可以在我博客搜aria2,有篇配置文件介绍里面有开启v6的设置
开启ipv6有啥好处吗?
@god 资源更多,速度更快,当然这只是可能,并且在ipv4处于多层NAT的情况下获得一个可以从外界访问的公网地址
好几天没速度了 照这个帖子设置了一下 立竿见影 好顶赞!
内网用户,不能监听6600端口,和51413端口有办法解决吗?
@niodyu 尝试启用upnp或者手动添加转发或者启用dmz,不然你可能只能借助百度云离线来下bt了
设置完全一样,地址是gayhub上最新的,为什么还是下不了任何bt种子呢?
设置如下(知乎下的懒人包,修改过):
## '#'开头为注释内容, 选项都有相应的注释说明, 根据需要修改 ##
## 被注释的选项填写的是默认值, 建议在需要修改时再取消注释 ##
## 文件保存相关 ##
# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=E:\下载
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=falloc
# 断点续传
continue=true
## 下载连接相关 ##
# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=2
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=16
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
split=5
# 整体下载速度限制, 运行时可修改, 默认:0
#max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0
#max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0
#max-upload-limit=0
# 禁用IPv6, 默认:false
disable-ipv6=true
## 进度保存相关 ##
# 从会话文件中读取下载任务
input-file=aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60
## RPC相关设置 ##
# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许非外部访问, 默认:false
rpc-listen-all=true
# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select
# RPC监听端口, 端口被占用时可以修改, 默认:6800
#rpc-listen-port=6800
## BT/PT下载相关 ##
# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true
# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413
# 单个种子最大连接数, 默认:55
#bt-max-peers=55
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=true
# 打开IPv6 DHT功能, PT需要禁用
#enable-dht6=true
# DHT网络监听端口, 默认:6881-6999
#dht-listen-port=6881-6999
# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=true
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=true
# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0
# 强制保存会话, 话即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# BT校验相关, 默认:true
#bt-hash-check-seed=true
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true
# bt-tracker 更新,解决Aria2 BT下载速度慢没速度的问题
bt-tracker=udp://62.138.0.158:6969/announce,udp://188.241.58.209:6969/announce,udp://93.158.213.92:1337/announce,udp://80.209.252.132:1337/announce,udp://62.210.97.59:1337/announce,udp://151.80.120.114:2710/announce,udp://165.231.0.116:80/announce,udp://208.83.20.20:6969/announce,udp://91.216.110.52:451/announce,udp://5.206.54.49:6969/announce,udp://35.156.19.129:6969/announce,udp://37.235.174.46:2710/announce,udp://185.181.60.67:80/announce,udp://159.100.245.181:6969/announce,udp://78.142.18.61:6969/announce,udp://78.142.18.55:1337/announce,udp://51.15.40.114:80/announce,udp://184.105.151.164:6969/announce,udp://212.47.227.58:6969/announce,udp://95.211.168.204:2710/announce
请问一下,我的aria2文件中无dht.dat文件,这是怎么回事!
你好,请问在哪里可以学习Tracker的配置方法呢?
已经明白了,谢谢!
请问博主我添加了Tracker,找热门种子不能下载,下载速度一直是0,这可能是什么问题呢
@antiaging 有很多可能性,一般情况下,我推荐检查网络可用性,监听的BT端口是否全球可达啥的。然后具体就要看日志了,部分运营商是有bt流量/默认端口封禁的。
可能这样问实在显得太过小白……在哪里找种子呢?如何判断种子是否热门?
@RusY 很简单吧,有各种专用的搜索,然后如果部分网站会提供当前的下载上传(做种)人数和热度。其实一般来说,同个资源多下几个,选最好(速度最快)的就行了。