Mac下配置Aria2来代替迅雷

Aria2的BT下载还是不那么让人满意...

最近用迅雷下BT是越来越不顺心...各种版权限制/资源敏感...会员是一点卵用都没有

好好的正常电影资源(上映N久那种)你敏感个啥?活该药丸。

Mac上的其他下载工具(FDM等)下载磁力链等也不尽如人意,于是想到了Aria2,今天就来尝试玩一下

安装Aria2

因为本人是Mac,所以只提供Mac的安装教程,其他平台请自行摸索。

使用brew安装aria2,很方便

brew install aria2

创建配置文件aria2.conf

mkdir ~/.aria2 && cd ~/.aria2

touch aria2.conf

编辑配置文件,这份模板网上一大堆

此处我们使用Aria2的RPC模式(另外一种模式就是命令行下载,觉得不方便)

文件保存路径dir=/Users/[your folder]/Downloads可以改成你自己的本地地址

#用户名
#rpc-user=user
#密码
#rpc-passwd=passwd
#上面的认证方式不建议使用,建议使用下面的token方式
#设置加密的密钥(设置成你的加密密钥即可)
rpc-secret=secret
#允许rpc
enable-rpc=true
#允许所有来源, web界面跨域权限需要
rpc-allow-origin-all=true
#允许外部访问,false的话只监听本地端口
rpc-listen-all=true
#RPC端口, 仅当默认端口被占用时修改
#rpc-listen-port=6800
#最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=5
#断点续传
continue=true
#同服务器连接数
max-connection-per-server=5
#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
#单文件最大线程数, 路由建议值: 5
split=10
#下载速度限制
max-overall-download-limit=0
#单文件速度限制
max-download-limit=0
#上传速度限制
max-overall-upload-limit=0
#单文件速度限制
max-upload-limit=0
#断开速度过慢的连接
#lowest-speed-limit=0
#验证用,需要1.16.1之后的release版本
#referer=*
#文件保存路径, 默认为当前启动位置
dir=/Users/[your folder]/Downloads
#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
#disk-cache=0
#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
#enable-mmap=true
#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持
file-allocation=prealloc

接下来启动就完事,注意把--conf-path换成你配置文件存放的路径;-D的话就可以在后台运行了

 aria2c --conf-path=/Users/xxx/.aria2/aria2.conf -D

安装Aria2 GUI

我们选择webui-aria2作为图形化界面

git clone https://github.com/ziahamza/webui-aria2.git

有两种运行方法:

  1. 进入doc文件夹,直接打开index.html
  2. 安装nodejs的情况下,直接根目录运行node node-server.js,然后打开http://localhost:8888即可

打开后界面如下:

webui-aria2主界面
webui-aria2主界面

如果你的Aria2没有设置token的话,打开界面是会提示的,让你设置一个token保障安全

可以在设置->连接设置里,填写"密码令牌”:

连接设置界面
连接设置界面

但是发现每次打开都要在这个界面里去输入令牌好麻烦…肯定有个配置文件可以初始化这些数据

发现了在src/js/services/configuration.js里可以配置:在auth字段下配置token字段即可,其他user、pass字段亦然,具体如下:

export default angular
  ...
  .constant("$authconf", {
    // default authentication configuration, never fill it in case the webui is hosted in public IP as it can be compromised
    host: location.protocol.startsWith("http") ? location.hostname : "localhost",
    path: "/jsonrpc",
    port: 6800,
    encrypt: false,
    auth: {
            token: '[Your token]'
      // either add the token field or the user and pass field, not both.
      // token: '$YOUR_SECRET_TOKEN$'
      /*-----------------------------*/
      // user: '*YOUR_USERNAME*',
      // pass: '*YOUR_SECRET_PASS*'
    },
    directURL: "" // If supplied, links will be created to enable direct download from the aria2 server, requires appropriate webserver to be configured
  })
    ...

现在就可以正常使用Aria2来下载了。

BT下载过慢的问题

添加BT tracker地址

配置好上述操作后,我发现下载磁力链和种子几乎没速度,磁力链更甚,连解析都失败。所以接下来我们来解决BT没速度的问题。

首先我们访问BT Tracker,将其中trackers_besttrackers_all_http中的数据添加到Aria2的配置文件中

一般优先选trackers_best即可,但是有些地区的运营商对udp流量的QoS严重,所以最好把trackers_all_http中的地址加上,而且优先解析http,后udp。

我们在aria2.conf中加入配置字段bt-tracker,后面的BT服务器用逗号隔开

bt-tracker=http://tracker.opentrackr.org:1337/announce,http://tracker.internetwarriors.net:1337/an...

这里我们得把地址一个一个复制到字段里并用','隔开太麻烦了,已经有轮子可以自动化操作了。

点击获取并生成,然后点击复制即可。

添加DHT配置

aria2.conf中添加dht配置:

其中dht-file-path先手动生成一个空文件dht.dat即可

 打开DHT
enable-dht=true
# DHT默认监听端口,默认:6881-6999,最好改成52415
dht-listen-port=52415
# 本地节点查找禁用
bt-enable-lpd=true
enable-peer-exchange=true
# dht文件位置
dht-file-path=/Users/xxx/.aria2/dht.dat
# 同一服务器连接数
max-connection-per-server=13
# 单个种子最大连接数
bt-max-peers=100

现在重新打开Aria2,测试下,速度肯定有所改善(很很冷门的资源依旧会有问题)

其他问题汇总

1. 资源下载完依旧在上传做种

可以试试在配置文件中添加:

# 分离仅做种任务
bt-detach-seed-only=true
#  Specifying --seed-time=0 disables seeding after download completed.
seed-time=0

2. 比较齐全的Aria2配置解释

Aria2配置详解

添加新评论

已有 8 条评论