搜狐插件大法: 极路由Root

极路由云插件“搜狐视频远程下载”使用了开源下载工具aria2,由于aria2主程序aria2c占用空间较大,因此被安装到了SD卡的usr/bin目录。aria2c在每次开机时运行,因此给极客们一个ROOT机会。ROOT的思路是:用自己的脚本文件替换aria2c文件,在脚本文件中加入启用dropber服务的指令。具体方法如下:

1、安装云插件“搜狐视频远程下载”,然后验证aria2c是否安装运行,验证方法:在PC机上运行下面的命令:

telnet 192.168.199.1 6800  

如果能连接,说明aria2c已经运行。

2、关掉路由器,拔出SD卡,将SD卡插入SD读卡器。下面的操作需要用到Linux操作系统,一般人不会有一台安装Linux的计算机,但可以在Windows下安装VMware Workstation,在VMware里安装Linux操作系统。关于VMware和Linux安装的资源网上很多,这里就不多说了。

3、Linux操作系统能自动加载USB SD读卡器驱动,一般情况下设备名为/dev/sdb,或者用dmesg命令查询驱动程序日志,从中发现设备名。SD卡有2个分区,第1个是大小为1GB的luks加密分区,第2个是正常的ext4分区。9006版固件的aria2c文件在第2分区,因此需要mount该分区,命令为:

mount -t ext4 /dev/sdb2 /mnt  

4、aria2c文件在/mnt/usr/bin目录中,先换名,然后替换。

cd /mnt/usb/bin

mv aria2c aria2c.orig  

然后用vi命令创建文件aria2c,内容为:

#!/bin/sh

if [ "$1" = "ok" ]; then

         rm -f /tmp/data/usr/bin/aria2c 

         mv /tmp/data/usr/bin/aria2c.orig /tmp/data/usr/bin/aria2c 

         exit 0

fi 

sed -i 's/1022/22/g' /etc/config/dropbear 

/etc/init.d/dropbear enable

/etc/init.d/dropbear start

/tmp/data/usr/bin/aria2c ok &>/dev/null 

exit 0  

为新建的aria2c添加执行权限:

chmod a+x aria2c  

5、执行下面命令umount SD卡,拔出SD卡,插入路由器,路由器通电后即完成ROOT。

cd / 

umount /mnt  

6、SSH登录路由器后,执行下面的脚本进行ROOT保持,也就是下次自动升级固件时还能保持ROOT状态,脚本只需执行一次。

echo "sed -i 's/1022/22/g' /etc/config/dropbear" >>/etc/rc.local 

echo '/etc/init.d/dropbear enable' >>/etc/rc.local

echo '/etc/init.d/dropbear restart' >>/etc/rc.local

echo '/etc/rc.local' >/lib/upgrade/keep.d/base 

echo '/lib/upgrade/keep.d/base' >>/lib/upgrade/keep.d/base 

echo '/etc/sysupgrade.conf' >>/lib/upgrade/keep.d/base 

echo '/etc/rc.local' >>/etc/sysupgrade.conf 

echo '/lib/upgrade/keep.d/base' >>/etc/sysupgrade.conf 

echo '/etc/sysupgrade.conf' >>/etc/sysupgrade.conf  

文件和工具下载:http://pan.baidu.com/s/16hWWu