|
本帖最后由 fastpace 于 2014-5-23 15:17 编辑
自从发布 《【原创】Atheros芯片DD-WRT实现脱机下载教程(transmission)》 https://www.right.com.cn/forum/thread-127772-1-1.html 后,有网友希望我能写个aria2的安装教程。之前因为aria2比transmission体积稍大,路由器可怜的16M实在装不下,今天特地将某些软件卸载了,腾出点空间来装aria2。
0、前言
aria2的确要比transmission要些,支持多协议、多源(HTTP/HTTPS、FTP、 BitTorrent、 Metalink),这是最吸引人的地方。如果单从使用torrent方式下载来说,还是transmission更适合用来做脱机下载。transmission有个是aria2所不具备的功能,就是“计划速度限制”
这功能十分有用,平时可以用小管慢慢下,不影响家里其他设备使用网络,夜间自动切换到全速下。当然在任何时间你也可以通过点击管理界面的小乌龟图标来临时启用全速下载。
aria2一个吸引人的地方是可以通过插件实现迅雷、百度网盘、360云盘、QQ旋风等一键脱机下载。经过今天试用,发现aria2稳定性比transmission要差,经常无辜崩溃掉,易用性也没transmission好。
本文以Buffalo WZR-HP-AG300H为例,来说明安装过程,其他路由器可以参照着也能装起来。
1、要求
1)、DD-WRT已经安装opkg,详情见《Atheros芯片DD-WRT借用OpenWrt的packages安装python、goagent实例教程》的1~6步骤。
2)、安装完opkg,你的DD-WRT JFFS2空间不小于1.75M(估)
3)、ROM至少32M,太小跑不动,128M、256M更佳
4)、有点linux基础,会些命令行操作
5)、移动硬盘已挂载成功
2、安装aria2
首先telnet或者ssh登录到路由器。
分别执行如下命令
- opkg update
- opkg install aria2
复制代码 终端会提示安装过程,我的输出如下:
- root@DD-WRT:/jffs/transmission-config# opkg install aria2
- Installing aria2 (1.15.1-1) to root...
- Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/aria2_1.15.1-1_ar71xx.ipk.
- Installing libxml2 (2.7.8-2) to root...
- Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/libxml2_2.7.8-2_ar71xx.ipk.
- Installing libstdcpp (4.6-linaro-1) to root...
- Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/libstdcpp_4.6-linaro-1_ar71xx.ipk.
- Configuring libxml2.
- Configuring libstdcpp.
- Configuring aria2.
复制代码 以上安装的是aria2 v1.15版,如果你找到更新的版本可以升级到aria新版本,前提是处理器类型要匹配,我的路由器是Atheros AR7161。如果你的路由器芯片是ar71xx,可以回复本贴后下载下方的附件。
下载上面附件解压后将aria2_1.18.3-1_ar71xx.ipk上传到/tmp/root/aria2_1.18.3-1_ar71xx.ipk(可以通过SFTP),如果是其他芯片可以在网络上自己找到对应ipk文件。
执行
- opkg remove aria2
- opkg install /tmp/root/aria2_1.18.3-1_ar71xx.ipk
复制代码 aria2安装完毕。
3、配置aria2
我比较倾向于将配置和下载内容分开了。创建配置目录和配置文件:
aria2.conf的内容如下(参照网友帖子加了注释):
- #Aria2 configuration
- # RPC Setting
- #允许rpc
- enable-rpc=true
- #允许非外部访问
- rpc-listen-all=true
- #允许所有来源, web界面跨域权限需要
- rpc-allow-origin-all=true
- #RPC端口, 仅当默认端口被占用时修改
- rpc-listen-port=6800
- #用户名
- rpc-user=user
- #密码
- rpc-passwd=pwd
- # General Setting
- #文件保存路径, 默认为当前启动位置
- dir=/mnt/sda_part1/aria2/downloads/
- input-file=/mnt/sda_part1/aria2/aria2.session
- save-session=/mnt/sda_part1/aria2/aria2.session
- #定时保存会话,需要1.16.1之后的release版
- save-session-interval=60
- #日志路径
- log=/mnt/sda_part1/aria2/aria2-log.log
- #日志级别
- log-level=warn
- #event-poll=select
- #文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
- disk-cache=8M
- #另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本
- #enable-mmap=true
- #文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
- #所需时间 none < falloc ? trunc << prealloc,falloc和trunc需要文件系统和内核支持
- file-allocation=falloc
- #特性
- peer-id-prefix=-UT2210-
- user-agent=uTorrent/2210(25130)
- # Connection Setting
- #断点续传
- continue=true
- #同服务器连接数
- max-connection-per-server=5
- #最大同时下载数(任务数), 路由建议值: 3
- max-concurrent-downloads=3
- #最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
- min-split-size=10M
- #单文件最大线程数, 路由建议值: 5
- split=5
- #下载速度限制
- max-overall-download-limit=150K
- #上传速度限制
- max-overall-upload-limit=50K
- #单文件下载速度限制
- max-download-limit=150K
- #单文件速度限制
- max-upload-limit=20K
- #断开速度过慢的连接
- lowest-speed-limit=1K
- auto-save-interval=120
- check-certificate=false
- # BT/PT Setting
- #强制加密, 防迅雷必备
- bt-require-crypto=true
- #单种子最大连接数
- bt-max-peers=55
- enable-peer-exchange=true
- #启用本地节点查找
- bt-enable-lpd=true
- #不确定是否需要,为保险起见,need more test
- enable-dht=true
- #监听端口
- listen-port=48028
- dht-listen-port=48028
- #当下载的文件是一个种子(以.torrent结尾)时, 自动下载BT
- follow-torrent=true
- #保存会话
- force-save=true
- bt-seed-unverified=true
- bt-save-metadata=true
- bt-hash-check-seed=true
- bt-remove-unselected-file=false
- bt-stop-timeout=900
- #修改做种设置, 允许做种
- seed-ratio=1
- seed-time=5
- disable-ipv6=true
复制代码 几个主要的参数修改成你自己的便可以,比如
- #用户名
- rpc-user=user
- #密码
- rpc-passwd=pwd
- dir=/mnt/sda_part1/aria2/downloads/
- input-file=/mnt/sda_part1/aria2/aria2.session
- save-session=/mnt/sda_part1/aria2/aria2.session
- log=/mnt/sda_part1/aria2/aria2-log.log
- #下载速度限制
- max-overall-download-limit=150K
- #上传速度限制
- max-overall-upload-limit=50K
- #单文件下载速度限制
- max-download-limit=150K
- #单文件速度限制
- max-upload-limit=20K
复制代码 在移动硬盘创建目录和文件
- mkdir /mnt/sda_part1/downloads/
- touch /mnt/sda_part1/aria2/aria2.session
复制代码
4、创建启动脚本
- cat > /jffs/aria2-config/run.sh << EOF
- #!/bin/sh
- if [ -d "/mnt/sda_part1/aria2/" ]; then
- echo "restarting aria2 ..."
- iptables -D INPUT -p tcp --dport 48028 -j ACCEPT
- iptables -I INPUT -p tcp --dport 48028 -j ACCEPT
- iptables -D INPUT -p udp --dport 48028 -j ACCEPT
- iptables -I INPUT -p udp --dport 48028 -j ACCEPT
- iptables -D INPUT -p tcp --dport 6800 -j ACCEPT
- iptables -I INPUT -p tcp --dport 6800 -j ACCEPT
- killall aria2c
- aria2c --conf-path=/jffs/aria2-config/aria2.conf -c -D
- else
- echo /mnt/sda_part1/aria2/ not mount!
- fi
- EOF
复制代码 上述6800是管理端口,48028是aria2的监听端口,都开放这些端口。
5、启动测试
运行:
- sh /jffs/aria2-config/run.sh
复制代码 然后tail一下日志文件,看看是否有错误
- tail -f /mnt/sda_part1/aria2/aria2-log.log
复制代码 用浏览器打开http://路由器IP:6800/jsonrpc?jsoncallback=1
如果返回内容如下,就表示成功了。
- 1({"id":null,"jsonrpc":"2.0","error":{"code":-32600,"message":"Invalid Request."}})
复制代码
6、管理和使用
aria2是基于xml-rpc接口进行管理的,管理客户端可以是本机或外部的web、pc软件、手机app,十分的灵活,大家可以参考http://www.360doc.com/content/13/1117/16/8314158_330009781.shtmlweb控制台
pc上客户端
手机APP1
手机APP2
导读
【原创】Atheros芯片DD-WRT借用OpenWrt的packages安装python、goagent实例教程
【原创】Atheros芯片DD-WRT实现脱机下载教程(transmission)
【原创】DD-WRT实现脱机下载教程2(aria2篇)
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|