找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 32197|回复: 21

【原创】DD-WRT实现脱机下载教程2(aria2篇)

  [复制链接]
发表于 2014-5-20 16:15 | 显示全部楼层 |阅读模式
本帖最后由 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登录到路由器。
分别执行如下命令
  1. opkg update
  2. opkg install aria2
复制代码
终端会提示安装过程,我的输出如下:
  1. root@DD-WRT:/jffs/transmission-config# opkg install aria2
  2. Installing aria2 (1.15.1-1) to root...
  3. Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/aria2_1.15.1-1_ar71xx.ipk.
  4. Installing libxml2 (2.7.8-2) to root...
  5. Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/libxml2_2.7.8-2_ar71xx.ipk.
  6. Installing libstdcpp (4.6-linaro-1) to root...
  7. Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/libstdcpp_4.6-linaro-1_ar71xx.ipk.
  8. Configuring libxml2.
  9. Configuring libstdcpp.
  10. 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文件。
执行
  1. opkg remove aria2
  2. opkg install /tmp/root/aria2_1.18.3-1_ar71xx.ipk
复制代码
aria2安装完毕。

3、配置aria2
我比较倾向于将配置和下载内容分开了。创建配置目录和配置文件:
  1. mkdir /jffs/aria2-config
复制代码
aria2.conf的内容如下(参照网友帖子加了注释):
  1. #Aria2 configuration

  2. # RPC Setting
  3. #允许rpc
  4. enable-rpc=true
  5. #允许非外部访问
  6. rpc-listen-all=true
  7. #允许所有来源, web界面跨域权限需要
  8. rpc-allow-origin-all=true
  9. #RPC端口, 仅当默认端口被占用时修改
  10. rpc-listen-port=6800
  11. #用户名
  12. rpc-user=user
  13. #密码
  14. rpc-passwd=pwd


  15. # General Setting
  16. #文件保存路径, 默认为当前启动位置
  17. dir=/mnt/sda_part1/aria2/downloads/
  18. input-file=/mnt/sda_part1/aria2/aria2.session
  19. save-session=/mnt/sda_part1/aria2/aria2.session
  20. #定时保存会话,需要1.16.1之后的release版
  21. save-session-interval=60
  22. #日志路径
  23. log=/mnt/sda_part1/aria2/aria2-log.log
  24. #日志级别
  25. log-level=warn
  26. #event-poll=select
  27. #文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
  28. disk-cache=8M
  29. #另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本
  30. #enable-mmap=true
  31. #文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
  32. #所需时间 none < falloc ? trunc << prealloc,falloc和trunc需要文件系统和内核支持
  33. file-allocation=falloc
  34. #特性
  35. peer-id-prefix=-UT2210-
  36. user-agent=uTorrent/2210(25130)

  37. # Connection Setting
  38. #断点续传
  39. continue=true
  40. #同服务器连接数
  41. max-connection-per-server=5
  42. #最大同时下载数(任务数), 路由建议值: 3
  43. max-concurrent-downloads=3
  44. #最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
  45. min-split-size=10M
  46. #单文件最大线程数, 路由建议值: 5
  47. split=5
  48. #下载速度限制
  49. max-overall-download-limit=150K
  50. #上传速度限制
  51. max-overall-upload-limit=50K
  52. #单文件下载速度限制
  53. max-download-limit=150K
  54. #单文件速度限制
  55. max-upload-limit=20K
  56. #断开速度过慢的连接
  57. lowest-speed-limit=1K
  58. auto-save-interval=120
  59. check-certificate=false

  60. # BT/PT Setting
  61. #强制加密, 防迅雷必备
  62. bt-require-crypto=true
  63. #单种子最大连接数
  64. bt-max-peers=55
  65. enable-peer-exchange=true
  66. #启用本地节点查找
  67. bt-enable-lpd=true
  68. #不确定是否需要,为保险起见,need more test
  69. enable-dht=true
  70. #监听端口
  71. listen-port=48028
  72. dht-listen-port=48028
  73. #当下载的文件是一个种子(以.torrent结尾)时, 自动下载BT
  74. follow-torrent=true
  75. #保存会话
  76. force-save=true
  77. bt-seed-unverified=true
  78. bt-save-metadata=true
  79. bt-hash-check-seed=true
  80. bt-remove-unselected-file=false
  81. bt-stop-timeout=900
  82. #修改做种设置, 允许做种
  83. seed-ratio=1
  84. seed-time=5

  85. disable-ipv6=true
复制代码
几个主要的参数修改成你自己的便可以,比如
  1. #用户名
  2. rpc-user=user
  3. #密码
  4. rpc-passwd=pwd
  5. dir=/mnt/sda_part1/aria2/downloads/
  6. input-file=/mnt/sda_part1/aria2/aria2.session
  7. save-session=/mnt/sda_part1/aria2/aria2.session
  8. log=/mnt/sda_part1/aria2/aria2-log.log
  9. #下载速度限制
  10. max-overall-download-limit=150K
  11. #上传速度限制
  12. max-overall-upload-limit=50K
  13. #单文件下载速度限制
  14. max-download-limit=150K
  15. #单文件速度限制
  16. max-upload-limit=20K
复制代码
在移动硬盘创建目录和文件
  1. mkdir /mnt/sda_part1/downloads/
  2. touch /mnt/sda_part1/aria2/aria2.session
复制代码

4、创建启动脚本
  1. cat > /jffs/aria2-config/run.sh << EOF
  2. #!/bin/sh

  3. if [ -d "/mnt/sda_part1/aria2/" ]; then
  4.         echo "restarting aria2 ..."
  5.         iptables -D INPUT -p tcp --dport 48028 -j ACCEPT
  6.         iptables -I INPUT -p tcp --dport 48028 -j ACCEPT
  7.         iptables -D INPUT -p udp --dport 48028 -j ACCEPT
  8.         iptables -I INPUT -p udp --dport 48028 -j ACCEPT
  9.         iptables -D INPUT -p tcp --dport 6800 -j ACCEPT
  10.         iptables -I INPUT -p tcp --dport 6800 -j ACCEPT
  11.         killall aria2c
  12.         aria2c --conf-path=/jffs/aria2-config/aria2.conf -c -D
  13. else
  14.         echo /mnt/sda_part1/aria2/ not mount!
  15. fi
  16. EOF
复制代码
上述6800是管理端口,48028是aria2的监听端口,都开放这些端口。

5、启动测试
运行:
  1. sh /jffs/aria2-config/run.sh
复制代码
然后tail一下日志文件,看看是否有错误
  1. tail -f /mnt/sda_part1/aria2/aria2-log.log
复制代码
用浏览器打开http://路由器IP:6800/jsonrpc?jsoncallback=1
如果返回内容如下,就表示成功了。
  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篇)






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2014-5-20 16:16 | 显示全部楼层
【原创】DD-WRT实现脱机下载教程2(aria2篇)
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-5-20 20:25 | 显示全部楼层
baffulo巴比禄 WHR-HP-G54 穿墙王 大功率 中继无线路由器 DD-WRT
掏宝上,销量就知道,机器稳定,便宜
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-5-21 23:45 | 显示全部楼层
创】DD-WRT实现脱机下载教程2(aria2篇)
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-5-24 06:11 | 显示全部楼层
看起来太叼了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-5-24 15:17 | 显示全部楼层
好教程啊,不过还是在TT或OP上容易一些,有些固件都集成好了,不用这麻烦自己搞命令
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-5-24 22:07 | 显示全部楼层
JFFS没空间,求如何挂载到/TMP重启而不丢失
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-5-26 18:09 | 显示全部楼层
老规矩,先回后下!!!!!!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-6-2 14:15 | 显示全部楼层
感谢lz分享,很有帮助
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-9-21 19:17 来自手机 | 显示全部楼层
лл
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-10-5 22:09 | 显示全部楼层
看起来太叼了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-11-10 19:07 | 显示全部楼层
这个是用Openwrt实现,原来差不多。
Openwrt脱机下载
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-1-12 20:41 | 显示全部楼层
6300 V2 怎么安装opkg 按这个教程不行。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-3-25 23:44 | 显示全部楼层
Collected errors:
* opkg_conf_load: Couldn't stat /etc/opkg.conf: No such file or directory.
装不了。是不是服务器搬了?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-4-7 17:26 | 显示全部楼层
测试了一下,速度不错。。就是CPU跑挂了~~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-20 05:41

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表