相信不少同学都开着电脑苦苦等待一部电影下载完成经历;那么今天我就斗胆分享一份只要花少量钱财,就能不开电脑,节约电源,并且能充分榨干网络运营商的带宽流量的方法。
首先我们会重现下部分场景,小明打算下载一部电影有空的时候欣赏,结果不料电影资源很少,需要很长的下载时间,如果开电脑下载一晚上浪费电又烧电脑;此时可能你想到了我花点钱去买个下载器就OK了,确实,这是一个最快捷最省事的办法,但是这个不是我们爱折腾的生活。
然后说说前提,想要实现路由器下载首先需要有一个带USB接口的路由器,然后需要一个USB存储器(U盘,移动硬盘等),或者直接是一个类似小米那种内置硬盘的路由器;到这里硬件部分就准备的差不多了,因为能大USB的路由器基本上也都能跑起几大所谓智能路由系统了,例如Tomoto,DD-WRT,OPENWRT,如果发现你的路由器带USB接口,但是系统不在以上3个中,请自行搜索如何刷机;由于我的路由器是Tomato系统(简称TT),以下示例均已TT为平台。相信有不少同学首次玩路由器,在此小推荐一款 HG320,此可谓神级便宜路由,几乎通吃各个系统,请自行X宝购买。
当硬件、软件、网络都以准备妥当时,距离我们的目标已经完成了80%,当路由器接上存储器连接好网络后,路由器下载可以说已经实现了,请看截图:
以上截图为现在TT一般自带的两个脱机下载工具,其功能类似迅雷,也具有远程管理能力,但是,在现在电信等运营商大面积封杀外网端口的时代,他们的远程管理显得有点力不从心,尤其是当根据没办法外网访问路由器的时候就更无奈了。
当然以上都不是今天的重点 -_-|||, 今天的重点是迅雷远程下载,首先放张截图让大家羡慕下:
在极路由、小米这些互联网公司还没玩路由器之前,路由器一直是属于小众玩家的,现在可能迎来一个新的智能路由器时代;去年迅雷也开始制作自家路由器,然后就先放出了部分迅雷固件(Xware,目前最新版本 1.07)让我们帮其免费测试,顺便体验下迅雷的远程下载;以下为官方安装教程:
下载迅雷固件
下载地址
安装迅雷程序
启动和停止迅雷
绑定设备及解绑设备
根据cpu架构选择相应的程序包,常见的有arm和mips架构,我这台路由器的输出如下,则可以看出cpu为mips架构。(也可以尝试在网上通过路由器型号查cpu架构)
root@DD-WRT:~# cat /proc/cpuinfo
system type : Broadcom BCM5357 chip rev 2
processor : 0
cpu model : MIPS 74K V4.9
…
确定cpu大小端,这个目前没有好的方法,只能两个都下载下来试一下了,如:xunlei_mips_be_mips32_2.207.3.58_143326.zip(大端)和xunlei_mips_le_mips32_2.207.3.58_143326.zip(小端)。解压后里面都有个portal程序(参考下面的【安装迅雷程序】部分),尝试运行一下:
如果输出如下则说明大小端模式正确:
root@DD-WRT:~# ./portal
initing...
…
如果输出如下则说明大小端模式不正确:
root@DD-WRT:~#./portal
./portal: ./portal: 1: Syntaxerror: …
将移动硬盘接在PC机上,在硬盘上建立一个名为xunlei的目录,安装将在这个目录下进行。
将下载到的迅雷程序包(一般格式类似于xunlei_mips_le_mips32_2.207.3.58_143326.zip)解压到xunlei的目录下。有以下3个文件:EmbedThunderManager,ETMDaemon, portal。
如果你之前在这目录已经安装过了迅雷,没关系,只需覆盖掉即可。
从PC机上安全移除移动硬盘,把移动硬盘接到路由器上。查看硬盘的挂载信息:
root@DD-WRT:~# cat /proc/mounts
…
/dev/sda1 /tmp/mnt/disc0_part1fuseblk rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
…
root@DD-WRT:~#
其中/dev/sda1 /tmp/mnt/disc0_part1就是移动硬盘的挂载项(如果一段时间后还是没有发现磁盘被挂载,请确定路由器支持接硬盘并已经在路由器设置页面开启此功能)。进入到之前创建的xunlei目录:
root@DD-WRT:~# cd /tmp/mnt/disc0_part1/xunlei/
现在给迅雷程序加执行权限:
root@DD-WRT:~# chmod 777 * -R
至此配置完成,最终的目录结构如下:
xunlei
├── EmbedThunderManager
├── ETMDaemon
└── portal
使用以下命令启动迅雷:
root@DD-WRT:/tmp/mnt/disc0_part1/xunlei#./portal
如果输出类似于以下则启动成功(有的设备启动比较慢请耐心等待完成):
initing...
try stoppingxunlei service...
killall:ETMDaemon: no process killed
killall:EmbedThunderManager: no process killed
setting xunleiruntime env...
port: 9000 isusable.
your control port is: 9000.
startingxunlei service...
execv:/home/shdxiang/test/lib/ETMDaemon.
getting xunleiservice info...
Connecting to127.0.0.1:9000 (127.0.0.1:9000)
portal.tmp 0T --:--:-- ETA
THE ACTIVE CODE IS: 42SND1
go tohttp://yuancheng.xunlei.com, bind your device with the active code.
finished.
使用以下命令停止迅雷:
root@DD-WRT:/tmp/mnt/disc0_part1/xunlei#./portal –s
因为启动迅雷服务会先尝试停止在运行迅雷服务,所以重启迅雷和启动迅雷一样:
root@DD-WRT:/tmp/mnt/disc0_part1/xunlei# ./portal
注意启动时输出有一行:
THE ACTIVE CODE IS: 42SND1
这就是你的激活码。
使用迅雷帐号登录迅雷远程下载页面http://yuancheng.xunlei.com,点【添加】,选择【路由器】并填入激活码,点【确定】即绑定成功。如下图方框所示:
当绑定成功后点上图圆圈处即可解除绑定。
如果已经绑定,再次启动时则显示绑定到哪个用户,如下所示:
…
THIS DEVICE HAS BOUND TO USER: 米空格.
目前Xware约定一周更新一次固件,另外由于目前Xware相当不稳定,而且经常会出现占用资源极高(CPU 100%,拖慢路由器正常上网),建议大家启动迅雷进程采用如下命令: nice -n 18 ./portal 以减少资源占用;然后由于其不稳定表现为yuancheng.xunlei.com显示为“下载器不在线”,但是ps进程存在,所以对于用 crontab + ps 做守护进程也存在困难;目前我采用曲线救国的方案:
首先创建 /mnt/sda1/xunlei/autorestart.sh 脚本,内容如下:
#!/bin/sh
#Thunder remote auto restart
/mnt/sda1/xunlei/portal -s
nice -n 18 /mnt/sda1/xunlei/portal
#Thunder remote auto restart
/mnt/sda1/xunlei/portal -s
nice -n 18 /mnt/sda1/xunlei/portal
然后在路由器中设置定时任务(如使用注意更换其中路径为自己的路径),每两小时重启一次:
如已尝试成功,请点赞。
另告诉大家一个秘密,目前部分TT固件支持GAE智能翻墙,Like this:MIPSR2-20130708.Hyzoom.RT_N5x K26 USB 16M-AIO-AR-TR-PY-GAE
Enjoy!