mostmad 发表于 2013-3-21 11:29

关于aria2c断电续传、任务不丢失、远程访问及安装的一些操作(tomato)

本帖最后由 mostmad 于 2013-3-27 16:14 编辑

      前段时间买个N16,在家里想布置千兆网络加上aria2c实现远程下载。刷了很多固件,却发现没有像OPENWARE那样集成aria2c功能的固件。最后只能自己折腾安装,期间断断续续几次,后面在论坛上问了个坛友的一些问题,最终算是解决了远程访问及断电续传的问题,在这里非常感谢这位坛友。
      路由型号:N16   固体版:Tomato v13.02.0039 MIPSR2 K26 USB 8M
       aria2c安装是按照 挣脱 的帖https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=115027,然后aria2c再更新到1.16.4版本,用的是 赵阳光 编译的 https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=118929 (实话说我都不知aria2c 1.16.4更新了什么),在此感谢两位的帖。安装时注意里面的硬盘路径,有的话要备份/opt/lib/libssl.so.0.9.7 和libcrypto.so.0.9.7 两个文件然后再复制到lib文件夹里,个人建议还是备份复制进去。配置文件要看个人需求,帖里面都有详细介绍的,有些要求要改的根据实际情况改。按照上面成功安装的,基本上aria2c都能成功运行。(以前只简单的安装了,能够运行,每次断电或重启后,在YAAW里面看不到任务,还得要再添加多一次任务,不过那个任务有保存进度的,可以继续下载,那时无知的我认为这样可以)
       aria2c前端我用的是本地YAAW客户端,没有集成里面。当时用ARIA2C只能本地访问,一连外网就不行了,原来防火墙里少了个脚本,大家不能远程访问的可以试试,因为我一用就行了。 系统管理—脚本设置—防火墙
iptables -A INPUT -p tcp --dport 6800 -j ACCEPT

========================================================================   
      
       现在讲下重点,断电续传,我是通用两种方法进行测试的,如果通过算是达成我的目的(这里的测试可能对硬盘或路由有损,还是用个旧硬盘或U盘试)
1.路由本身在运行aria2c(就是路由里面运行aria2c进行下载文件),当卸载硬盘后再挂载硬盘,aria2c有保存进度并能够自动下载此任务(非手动添加任务进行下载),此时任务记录在卸载挂载后没有丢失
2.路由本身在运行aria2c,路由断电后再通电后有保存进度并能继续下载,此时任务记录在卸载挂载后没有丢失,这里其实有两种情况的,温柔点的:路由里面的重启、暴力点的:拔电源(这里的断电最好要有10S时间,我试过有几次拔后立刻插,电脑连不上)
          解决方法:
      保存任务记录的话比较好解决,在配置文件里记得开启save-session-interval=60,再在配置文件末尾另起一行添加force-save=true,断电或重启后任务下载记录都不会丢失的,aria2.session文件也有记录了。
      以上操作做好后,我就通过刚才罗列的两种方式进行测试,第1点能通过。第2点就死活不过,有任务记录,就是全部打××(就是任务出错),后来想着用telnet进路由killallaria2c(把aria2c进程关闭),再运行aria2c --conf-path=/tmp/mnt/bt/aria2.conf,看能不能通过。一试,它立刻活过来了,任务有进度还能自动下载,第二点就顺利通过了,试过几次都是这样。后来在路由USB挂载脚本里延长sleep时间,添加killall指令,试过多次后,有些可以,有些不可以。那时想着路由重启后几秒时间反应不过来,干脆把sleep调到100再killall再运行aria2c,这次神了,任务记录有了,自动下载也行了,顺利通过。

=====================================================================
   
       以上是我折腾ARIA的一些过程,当然废话较多,现在写下重重点,其它按照那两个大神设置,安照以下方式可以实现断电续传,以下是我要改的:
1.YAAW前端远程访问(前提是路由已经开启远程访问功能):系统管理—脚本设置—防火墙
iptables -A INPUT -p tcp --dport 6800 -j ACCEPT
   
2. 保存任务记录:修改配置文件,开启save-session-interval=60,再在配置文件末尾另起一行添加force-save=true

3. 实现断电续传:在路由里面修改USB应用—USB设置—挂载后运行脚本   添加以下指令(注意要改路径,bt是我的硬盘)
mount -o bind /tmp/mnt/bt/opt /opt
sleep 80
killall aria2c
aria2c --conf-path=/tmp/mnt/bt/aria2.conf -D
sleep要多长,自己衡量,我设置80秒,要见效果的话要等80秒哦(一般太短的话都不太行,各位不访试试最短的时间是哪个)

=======================================================================

       这里大体讲下安装流程,都是根据那两个帖的,有需要的还是看看原帖:
挂载硬盘的时候,大家要留意自己硬盘或者U盘的名称,以下是以我的硬盘(bt)为例写的:
mkdir /tmp/mnt/bt/opt
mount -o bind /tmp/mnt/bt/opt /opt
sleep 2
cd /tmp
wget http://bbs.dualwan.cn/downloads/optware-install.sh -O - | tr -d '\r' > /tmp/optware-install.sh
chmod 755 optware-install.sh
sh optware-install.sh
ipkg update
ipkg install aria2
       这里直接安装aria2c是为了获取lib/libssl.so.0.9.7和libcrypto.so.0.9.7两个文件,因为我研究过忽略此步直接安装aria1.16.4的话,是不会出现那两个文件,此时要备份好。接下来用SCP把赵阳光编译aria2_1.16.4-1_mipsel.ipk及openssl_1.0.1c-2_mipsel.ipk传到硬盘里面,我存放的位置放在硬盘根目录下,再执行以下指令
ipkg install /tmp/mnt/bt/aria2_1.16.4-1_mipsel.ipk
ipkg install /tmp/mnt/bt/openssl_1.0.1c-2_mipsel.ipk
      安装好后把备份两个文件复制到lib文件夹里面。接下来修改aria2.conf配置文件,配置文件挣脱帖有提供下载,我个人修改了五个地方(如果使用aria2c时想改线程,改同时任务数都是在这里面改,改完去掉#号哦,如果想生效还需要重启下)input-file=/tmp/mnt/bt/aria2.session
save-session=/tmp/mnt/bt/aria2.session
dir=mnt/bt         #这个不改也行,默认就在硬盘根目录
save-session-interval=60    #这个要启用,默认是关闭的
force-save=true                #这个是另外添加上去
      改完配置文件后用SCP把两个配置文件传到硬盘根目录下,配置文件共有两个的,分别是aria2.conf及aria2.session,而aria2.session是空白文件,接下来telnet运行指令
aria2c --conf-path=/tmp/mnt/bt/aria2.conf -D
      这样算是完成安装了!!

      下面还在路由里面添加下脚本,保证重启或者断电后能继续运行aria2c:
1.系统管理—脚本设置—防火墙
iptables -A INPUT -p tcp --dport 6800 -j ACCEPT
2.USB应用—USB设置—挂载后运行脚本   添加以下指令(注意要改路径,bt是我的硬盘)
mount -o bind /tmp/mnt/bt/opt /opt
sleep 80
killall aria2c
aria2c --conf-path=/tmp/mnt/bt/aria2.conf -D
3.USB应用—USB设置—卸载前运行脚本(目的是防止卸载硬盘时aria在运行而不能卸载)
killall aria2c
umount -l /mnt/bt
安照以上设置,已经可以。ENJOY IT!

=========================================================

       至于YAAW前端,用的是挣脱帖子里提供的客户端,想集成YAAW到硬盘里面的话可以看这个帖子https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=116688,据说放在路由里,重启后会不见,所以建议放在硬盘里面.在硬盘opt文件夹里面新建aria2c文件夹,把解压后的文件放在里面,再做个映射就行了。挂载后运行脚本要改成这样
mount -o bind /tmp/mnt/bt/opt /opt
mount -o bind /tmp/mnt/bt/opt/aria2c /www/user
sleep 50
killall aria2c
aria2c --conf-path=/tmp/mnt/bt/aria2.conf -D
设置完重启下路由,这样http://192.168.1.1/user/index.html就可以访问了,需要远程的话可以改成自己的域名,http://动态域名:端口/user/index.html。

===============================================================

如果想用aria实现迅雷VIP离线下载的话,用FIREFOX浏览器,然后安装这个插件

安装好右下脚有个绿色图标的

在这里下个脚本,是一个JS后缀的文件,下载后解压
**** Hidden Message *****
然后把解压后文件拖进浏览器里面,会提示安装的,安装,然后用迅雷VIP登陆http://lixian.vip.xunlei.com,现在要改路径,本地的改成http://192.168.1.1:6800/jsonrpc,远程的话http://动态域名:6800/jsonrpc,改完后菜单栏里会多了一个批量导出的,选YAAW吧...........
            


大致是这样了,大家有什么问题可以反馈
问题:1.硬盘建议用EXT格式,如果用ntfs格式的会出现ntfs-3g进程的CPU占用率过大,我的N16突破50%,大家可以用top的指令来查看,想路由格式化硬盘可以看此帖http://bbs.dualwan.cn/thread-31272-1-1.html
         2.实现断电续传并自动下载的关键是添加killall指令,把sleep调到80的目的是让路由重启后留出段时间稳定运行,所以断电重启后aria是不会立即启动的,耐心的等2分钟,之后aria便会活过来并自动下载。
         3.下面打包了一个软件包,包括 汉化yaaw前端 、aria2_1.16.4-1_mipsel.ipk及openssl_1.0.1c-2_mipsel.ipk、aria配置文件、winscp、putty、迅雷离线脚本。配置文件已经改好,各位一定要留意自己的路径。特别要留意bt
             百度云:**** Hidden Message *****
          4.经过试验,killall命令在有些aria的版本上可以用,有些版本不能用,所以遇到不行的话,大家不访把killall命令给删了再重启
mount -o bind /tmp/mnt/bt/opt /opt
mount -o bind /tmp/mnt/bt/opt/aria2c /www/user
sleep 50
aria2c --conf-path=/tmp/mnt/bt/aria2.conf -D

damnsoul 发表于 2013-3-21 15:14

这个以前还真困扰我好长时间,自己无论怎么折腾都没整明白。
现在终于有人解决了,非常感谢!

kddoth 发表于 2013-3-21 19:33

总结的很好,

nba061 发表于 2013-3-21 20:13

支持一个吧,我的总是有的种子能下,有的挂一天都没速度,种子都没问题,不知道为啥。。。

mostmad 发表于 2013-3-21 20:29

nba061 发表于 2013-3-21 20:13 static/image/common/back.gif
支持一个吧,我的总是有的种子能下,有的挂一天都没速度,种子都没问题,不知道为啥。。。

这个我没有研究过,我自己试用aria下BT文件,基本很慢的,所以自己买了个迅雷VIP下.

nba061 发表于 2013-3-21 21:14

刚装了1.16.4 之前挂一天的种子居然可以下了 速度目前飙升到170KB

nba061 发表于 2013-3-21 21:57

本帖最后由 nba061 于 2013-3-21 21:59 编辑

太棒了 现在可以4M宽带满速了 基本 400+

qinyongning 发表于 2013-3-21 22:04

我也是和楼主的情况,以前没搞定,索性就不搞了。
多谢楼主分享,有空要试试看了

mostmad 发表于 2013-3-21 23:16

nba061 发表于 2013-3-21 21:57 static/image/common/back.gif
太棒了 现在可以4M宽带满速了 基本 400+

有这个速度的话已经不错了~

cryman 发表于 2013-3-21 23:18

bt就通过迅雷或者qq的离线下载,pt可以直接挂着,硬盘格式用ext4就行了

hmd123 发表于 2013-3-22 05:51

楼主,目的已经达到。但是使用中有两个严重问题。第一,任务出错的话,比如提示not enough disk space errot或者http header error,就无法继续下载。而且删除任务重新添加也无法继续下载。提示出错。第二,挂载后的四条命令中,为何要使用killall aria2c干掉进程。这个好像是卸载时用的命令吧?望不吝赐教。

mostmad 发表于 2013-3-22 09:32

hmd123 发表于 2013-3-22 05:51 static/image/common/back.gif
楼主,目的已经达到。但是使用中有两个严重问题。第一,任务出错的话,比如提示not enough disk space erro ...

第一:两个错误分别是空间不足,http header error应该是下载任务的链接出错。检查硬盘空间,硬盘路径是否正确,YAAW前端删除任务是不行的,要用SCP到硬盘里面删。检查下载链接,迅雷能下的aria不一定能下,个人建议还是用迅雷离线来下,不管什么文件都行的
第二:帖子里也有说的,不要killall命令的,断电或重启后任务会显示出错而无法自动下载的,你自己也可以试试。个中原因本人也不解,这个是折腾出来的!

plr 发表于 2013-3-22 10:46

好文,我是才从零起步走过来的,早点看到可以少走很多弯路

yhmbetter 发表于 2013-3-22 19:45

求地址!!

snyzf 发表于 2013-3-22 19:56

好贴。真的学习了。等回家试一下。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 关于aria2c断电续传、任务不丢失、远程访问及安装的一些操作(tomato)