最近从朋友那里看到了一个软路由的系统,OpenWrt,可以实现路由器级别的FQ,这个就很Nice,另外除了这个功能之外,还有很多其他的插件,所以就有了自己弄一个的想法,前面测试过使用斐讯N1的docker的软路由,但是还是需要自己在wifi手动设置代理,个人感觉还是有点繁琐,不是那么友好

刚好在家翻到一个吃灰的小米路由青春版,于是就有了本篇笔记

流程总览

1
2
3
4
5
6
7
1. 官方有一个漏洞可以直接通过接口修改root密码
2. 如果上面的不好使,说嘛ssh服务并没有启动,可以使用第二阶段的命令开启windows的telnet
3. 使用telnet去启动ssh服务
4. 使用putty(ssh)和winscp(文件上传)连接服务器
5. 上传breed的文件,并且刷入重启
6. 在breed中刷自己定义的rom
7. 如何刷回官方(暂未测试)

1. 刷入开发版,获取root

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1. 首先需要下载能够root的开发版(最高版本2.1.26),默认官方都超过这个版本,需要可以在这里进行下载
下载链接:

2. 修改root密码
进入到小米路由的首页
http://miwifi.com/cgi-bin/luci/; ... 6b246eaa4c2c586fc65/web/home#router
把你浏览器中的/web/home#router替换成/api/xqsystem/set_name_password?oldPwd=tianbaoha&newPwd=admin
返回值是{"code":0} 就是成功了
这个时候默认还是无法登录的,ssh服务没有开启(我测试是这样子的,所以进行下一步)

3. 开启telnet
和上面一样登陆路由器,把你浏览器中的/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了,telnet登陆路由吧(特别注意,win10需控制面板添加telnet,默认win10不开启)

4. 开启ssh服务
telnet miwifi.com
输入用户名root和你的密码登陆进去
然后输入:
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
这时候就可以用常用的PuTTY或者WinSCP登陆了。



参考链接: https://www.right.com.cn/forum/thread-183266-1-1.html

2. 刷入Breed

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1. 下载breed,在上面百度云分享的包里面就包含了breed,直接解压使用即可

2. 使用winscp上传到路由器(/tmp)即可
注意: 默认是sftp的协议,本人测试这个协议默认好像能直接使用,换成第二个,scp协议就ok了

3. 备份固件(因为本人没有进行备份,所以后面恢复的时候,有点难)
dd if=/dev/mtd0 of=/tmp/all.bin
这表示备份第一个固件到tmp文件夹的all.bin文件中,如有需要可按对应的方式备份其他分区数据。

4. 使用命令刷入breed
mtd -r write /tmp/breed.bin Bootloader

5. 按住reset就直接进入到了breed控制台界面
注意: 刷完其他估计后,长按reset,闪烁以后表示会自动重启,这个时候注意,等关机之后,立马又按住reset,等黄灯闪烁之后,这个时候就会停留在breed的控制台,否则很快就会直接进入到系统

参考链接: https://www.jianshu.com/p/e4e0a5818c3d

3. 刷入第三方Rom

1
2
3
4
5
6
7
直接在breed界面刷入第三方rom即可

openwrt
默认密码是password

MI-NANO
默认密码是1234567890

4. 踩坑记录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
官方刷机流程:
1. 设置本机器ip: 192.168.30.10网关192.168.30.1
2. 访问192.168.30.1,这里直接倒入官方的包就可以了,刷完之后会自动重启,升级降级都可以
参考链接: http://www.miui.com/forum.php?mod=viewthread&tid=11753469


刷入breed的时候要注意备份......



拆机图解参考:
https://jingyan.baidu.com/article/9989c746cd1d0ff649ecfe4b.html


其他rom可以到恩山论坛搜索

5. 加入内网穿透(lan_proxy)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
已经fork了一份代码到个人仓库,上面有go的客户端,可以直接下载
1. 访问项目地址
https://gitee.com/wieen/lanproxy-go-client

2. 在release界面下载对应的客户端版本
https://gitee.com/wieen/lanproxy-go-client/releases
当前的路由器(小米路由器青春版)下载这个对应的版本
lanproxy-client-linux-mipsle-20190213.tar.gz
如果路由器是arm的话,请下载这个版本
lanproxy-client-linux-arm.tar.gz

3. 上传客户端脚本,并且使用命令行测试连接,是否成功
nohup /home/proxy/client_linux_mipsle -s xx.xx.xx.xx -p 4900 -k your_client_key > /home/proxy/proxy.log 2>&1 &

4. 把该脚本添加到开机启动中(在openwrt界面上直接操作)
nohup /home/proxy/client_linux_mipsle -s xx.xx.xx.xx -p 4900 -k your_client_key > /home/proxy/proxy.log 2>&1 &