小米路由器-青春版的刷机历程

小米路由器-青春版的刷机历程

目的:能够通过ssh登录路由器,并能够让其支持shadowsocks,为了更好地玩PS4,去TM的加速器。

支持SSH登录

第一步:刷入开发版固件

如果是在小米开发者官网下载的开发者固件,那么很不幸的告诉你,其固件的漏洞已经修复,而我们也是通过低版本的开发者固件的某一个漏洞才能够使其支持ssh登录。如果需要可以发邮件到y841034081@163.com联系我,我会把低版本(开发版2.1.22)的开发者固件发送到你的邮箱。

刷入小米的开发者固件比较简单,选择“系统升级”:

选择“手动升级”即可,选择上述的开发版固件包,等待其刷入

第二步:更改root的密码

路由器的真正的root密码其实是我们不知道的,并不是所谓的路由器管理界面的“管理员密码”。所以这一步就是要让root的密码变成我们自己设置的密码(即重置root密码),使用的方式比较hack了:

我们进入mwifi的管理界面的URL应该是:

http://192.168.31.1/cgi-bin/luci/;stok=075a9192918557c27cdbcae2175281d9/web/home#router

把其中的/web/home#router替换成/api/xqsystem/set_name_password?oldPwd=当前路由的密码&newPwd=admin

然后回车,不出意外会出现一个{"code":0}的页面消息。如果有意外,请检查你的固件版本。

这样我们就把root的密码设置成了admin,当然你也可以修改成自己想要的,更改上述URL的参数即可。

下面,再次登录路由器,把你浏览器中的/web/home#router替换成

/api/xqnetwork/set_wifi_ap?ssid=tianbao&encryption=NONE&enctype=NONE&channel=1%3B%2Fusr%2Fsbin%2Ftelnetd

可能会返回:{"msg":"未能连接到指定WiFi(Probe timeout)","code":1616},不过已经没问题了。

这时候就可以通过:telnet 192.168.31.1 登录路由器了, 用户名是root,密码是admin

效果图如下:

第三步:使用ssh登录

登录后依次输入下列命令:

sed -i ":x;N;s/if \[.*\; then\n.*return 0\n.*fi/#tb/;b x" /etc/init.d/dropbear

/etc/init.d/dropbear start

nvram set ssh_en=1; nvram commit

登出之后,不出意外,是能够通过ssh的方式登录路由器,看起来和登录一台自己的服务器别无二致。

刷入breed:一个万能的基础刷固件平台

breed就是一个用于刷其他固件的平台,一旦遇到问题问题,我们可以通过特定的方式重刷固件,而breed本身只用刷一次即可。

第一步:查看我们已有的固件

登录后,用 cat /proc/mtd命令可以查看我们当前的固件。mtd0-10都是固件和分区其中mtd0是编程固件。

如果你觉得自己的刷机过程可能会失败,可以进行备份:

dd if=/dev/mtd0 of=//tmp/all.bin

即是把mtd0拷贝并重命名到了/tmp/all.bin,然后你可以通过你喜欢的方式将all.bin拷出本机(路由器)即可。

刷入breed.bin

首先,你需要breed.bin这个固件,你可以在网上去找,也可以邮件联系我,我会把一套需要的固件全部发给你。

我们可以通过scp的方式把固件拷入路由器,命令参考如下:

scp breed.bin root@192.168.31.1:/tmp

上传完成之后,我们登录路由器,输入命令

mtd -r write /tmp/breed.bin Bootloader

即是刷入breed.bin固件。

请注意:这时候路由器会重启,等待路由器重新启动之后,固定电脑有线网卡的IP为192.168.1.100,可能会出现前置状态灯不亮的情况,请暂时忽略灯的情况,观察端口的灯是否亮即可。

进入breed.bin

等待重启完成后,再进行下面的步骤。

这一步最为关键,请一定按下述的步骤来操作:

  1. 拔掉电源线。
  2. 用针或其他细物顶住路由器的“reset”键,不要放。
  3. 顶住的同时,插入电源线,观察指示灯,等待灯光闪烁的时候释放“reset”键。

启动之后,一般情况下的灯是不会再亮的,后面可以自己进行配置。

等待2~3分钟,进入192.168.1.1,不出意外,你会看到:

至此,刷入breed结束,其只是作为一个安装其他的固件平台,当然还需要一个路由器固件,我暂时用的是Pandora+SS+多拨+Qos。

刷入Pandora

下载Pandora的固件,至于怎么找到资源我已经在上面说过了,不再赘述。

访问192.168.1.1,选择“固件更新”,在“固件”栏上传你欲刷的固件。如上图所示。

继续往下,最后点击更新,这时候千万别断电源,如图所示

等待2~3分钟,重启之后,就会看到如下的界面:

WX20181115-132714@2x

至此,Pandora(潘多拉)刷入成功。

配置shadowsocks

我们想要达到的效果是不用走ss的时候走国内,需要的时候才走ss,那么就需要两个包,一个是ChinaDNS,一个是shadowsocks

第一步:配置全局信息

我默认你自己有自己的shadowsocks服务端,可能是买的国外的一台服务器还是什么的都行,只要服务器上跑着ss的服务端即可,需要ip、端口、加密方式、密码这四个信息。

填写进配置,如图:
WX20181115-142401@2x

下面的配置如图:

启动透明代理,这样不用科学上网的网站就会走国内,UDP转发地址选择谷哥家的DNS地址,8.8.4.4 或 8.8.8.8,端口用53。

第二步:设置China-DNS

将配置改成图中标红的配置即可。

第三步:DNS配置

服务器设置-一般设置:默认让DNS转发走127.0.0.1#1053,这样就会到我们前面配置的China-DNS了。
WX20181115-144718@2x

服务器设置-HOSTS和解析文件,勾选忽略解析文件。

WX20181115-144704@2x

第四步,WAN口配置,使用网关跃点40

保存所有设置,然后重启,不出意外,shad0ws0cks的配置就成功了。我们会看到ss已经运行:

一个请求的DNS如下:

DNS请求
  └─转发给ChinaDNS(127.0.0.1#5353)
        └─根据国内路由表(/etc/chinadns_chnroute.txt)判断是否为国内网站
              │
              ├─国内网站交给上游服务器(114.114.114.114)处理
              │
              └─国外网站交给shadowsocks的UDP转发(127.0.0.1:1153)处理
                    └─shadowsocks的UDP转发给国外DNS服务器(8.8.4.4:53)解析

DONE!

参考:

Pandora刷入ss
http://www.cashqian.net/blog/001472734000655b3d2e0db753848d39a052bc75220291f000

Pandora刷入ss
http://blog.51cto.com/11684959/2177131

小米路由器刷入Pandora
https://www.jianshu.com/p/e4e0a5818c3d

发表评论

电子邮件地址不会被公开。 必填项已用*标注