树莓派安装aria2实现远程下载,配置aria2的web界面
安装 aria2
aira2 官方仓库:https://github.com/aria2/aria2/
静态编译 ARM 树莓派:https://github.com/q3aql/aria2-static-builds/releases
也可以使用软件源安装:sudo apt install -y aria2
创建配置文件:
mkdir -p ~/.config/aria2/ nano ~/.config/aria2/aria2.conf
配置文件,建议根据 aria2 配置 按需填写,以下为极简配置(请自行替换几个路径):
# 后台运行 daemon=true # 断点续传 continue=true # Aria2 退出时保存错误/未完成的下载任务到会话文件(必须为全路径) save-session=/home/lakor/.config/aria2/aria2.session # 定时保存会话, 0为退出时才保存, 默认为 0 save-session-interval=60 # 强制保存会话, 默认:false force-save=true # 启用RPC, 默认:false enable-rpc=true # 允许所有来源, 默认:false rpc-allow-origin-all=true # 允许非外部访问, 默认:false rpc-listen-all=true # 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同 #event-poll=kqueue # RPC监听端口, 端口被占用时可以修改, 默认:6800 #rpc-listen-port=6800 # 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项 rpc-secret=secret # 文件保存路径, 默认为当前启动位置 dir=/media/udisk/downloads #另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?) enable-mmap=true # 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc # 预分配所需时间: 快none < trunc < falloc < prealloc慢 # falloc仅仅比trunc慢0.06s # 磁盘碎片: 无falloc = prealloc < trunc = none有 # 推荐优先级: 高falloc --> prealloc --> trunc -->none低 # EXT4, btrfs, xfs, NTFS等新型文件系统建议使用falloc, falloc(fallocate)在这些文件系统上可以瞬间创建完整的空文件 # trunc(ftruncate) 同样是是瞬间创建文件, 但是与falloc的区别是创建出的空文件不占用实际磁盘空间 # prealloc 传统的创建完整的空文件, aria2会一直等待直到分配结束, 也就是说如果是在HHD上下载10G文件,那么你的aria2将会一直等待你的硬盘持续满载工作直到10G文件创建完成后才会开始下载 # none将不会预分配, 磁盘碎片程度受下面的disk-cache影响, trunc too # 请勿在传统文件系统如:EXT3, FAT32上使用falloc, 它的实际效果将与prealloc相同 # MacOS建议使用prealloc, 因为它不支持falloc, 也不支持trunc, but可以尝试用brew安装truncate以支持trunc(ftruncate) # 事实上我有些不能理解trunc在aria2中的角色, 它与none几乎没有区别, 也就是说:太鸡肋了 file-allocation=trunc # 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M disk-cache=64M
创建存储数据用的会话文件:
touch /home/lakor/.config/aria2/aria2.session
测试下aria2是否启动成功:aria2c --conf-path=/home/lakor/.config/aria2/aria2.conf -D
,用 ps -ef | grep aria2
看是否有进程启动,若有说明启动成功了。(强制结束进程:kill -9 <pid>
)
配置 aria2 服务
Raspbian 系统是使用 systemd 来管理服务的,会和最初 init.d 有差别。
编辑 aria2.service
:sudo nano /etc/systemd/system/aria2.service
。
填入如下内容:
[Unit] Description=Aria2 Service After=network.target [Service] User=lakor Type=forking ExecStart=/usr/bin/aria2c --conf-path=/home/lakor/.config/aria2/aria2.conf -D [Install] WantedBy=multi-user.target
重新载入服务,并设置开机启动:
sudo systemctl daemon-reload sudo systemctl enable aria2 sudo systemctl start aria2
配置 aria2 的 web 界面
配置 Web 界面需要用第三方工具,其通过 rpc 接口来管理 aria2 下载的内容。在尝试过几种 aria2 的 web 界面,我认为 AriaNG 是最舒服的。
**AriaNg 项目地址:https://github.com/mayswind/AriaNg/releases/,打开发布页面复制最新下载链接,之后运行命令:
$ sudo apt install -y git nginx $ wget https://github.com/mayswind/AriaNg/releases/download/1.1.4/AriaNg-1.1.4.zip -O aria-ng.zip $ unzip aria-ng.zip -d aria-ng $ sudo mv aria-ng /var/www/html/ $ sudo systemctl enable nginx $ sudo systemctl start nginx
用浏览器访问树莓派 IP 下的 aira-ng,即:http://<your_raspi_ip>/aria-ng
,之后在左栏 AriaNg设置
–> RPC(<IP:Port>)
–> 修改 Aria2 RPC 密钥
值为 secret
。之后就可以正常添加任务下载了。
其他 web 界面
webui-aria2:https://github.com/ziahamza/webui-aria2
BT 下载速度慢问题
给 aria2 添加 Tracker,让 aria2 不只是从 DHT 网络或者种子文件中存储的 Tracker 信息查找源,从而找到更多的下载源。
这里建议添加trackers_best (20 trackers)
,最优的20条。
链接:https://github.com/ngosang/trackerslist
nano ~/.config/aria2/aria2.config # 在末尾添加一行,Tracker 用「,」隔开 bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.open-internet.nl:6969/announce,udp://tracker.skyts.net:6969/announce,udp://tracker.piratepublic.com:1337/announce,udp://tracker.opentrackr.org:1337/announce,udp://9.rarbg.to:2710/announce,udp://retracker.coltel.ru:2710/announce,udp://pubt.in:2710/announce,udp://public.popcorn-tracker.org:6969/announce,udp://z.crazyhd.com:2710/announce,udp://wambo.club:1337/announce,udp://tracker4.itzmx.com:2710/announce,udp://tracker1.wasabii.com.tw:6969/announce,udp://tracker.zer0day.to:1337/announce,udp://tracker.xku.tv:6969/announce,udp://tracker.vanitycore.co:6969/announce,udp://ipv4.tracker.harry.lu:80/announce,udp://inferno.demonoid.pw:3418/announce,udp://open.facedatabg.net:6969/announce,udp://mgtracker.org:6969/announce
Enjoy~
版权声明:本文为期权记的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.qiquanji.com/post/4617.html
微信扫码关注
更新实时通知