MYF

小米路由器mini——Padavan折腾笔记

概述

Padavan固件实在是太强大了,花了好几个周末休息的时间才懂个大概,本文打算介绍以下几个部分。设备为小米路由器mini,其他设备应该同理

  • breed
  • SN丢失救砖
  • 刷入Padavan
  • opkg安装
  • curl安装及应用——深澜校园网认证
  • Cron计划任务
  • 双栈环境下IPv6设置
  • 开启shadowsocks客户端
  • 开启shadowsocks服务器端
  • 广告屏蔽Adbyby
  • ngrok内网穿透设置

其他功能:

  • 开启VPN服务器端——免流应用:网上类似的路由器免流教程已经很多了,本文不再赘述
  • 花生壳。本文介绍ngrok,类似的产品
  • USB应用程序。本文不介绍

本人时间十分有限,想写的时候回来写几笔,什么时候写完遥遥无期。

备注: 根据本文把路由器玩坏的话本人概不负责

前提

建议使用小米路由器mini开发版 2.7.11版本,如果SN丢失了有免编程器修复SN的解决方法,本人没有尝试过,请自行搜索相关博客。

breed

刷入breed

刷入breed之前的版本:官方固件开发版,已开启ssh(如不知道如何开启ssh请参考官网)

如果不是小米路由器mini,请到下载服务器链接 找到自己对应的breed,修改下面wget指向的链接及文件名。

先ssh登录路由器的后台,执行下述指令

1
cd /tmp;wget http://breed.hackpascal.net/breed-mt7620-xiaomi-mini.bin;chmod +x breed-mt7620-xiaomi-mini.bin;mtd write breed-mt7620-xiaomi-mini.bin Bootloader

然后会出现Writing from breed-mt7620-xiaomi-mini.bin to Bootloader

好了之后应该会出现 root@XiaoQiang:/tmp #

进入breed

  1. 电脑网络连接设置为自动获取 IP 地址
  2. 按住复位键再给路由通电,如果看到路由器的部分或全部LED连闪4次
  3. 电脑连接网线打开192.168.1.1就进入breed了(此时是没有WI-FI信号的,必须要用网线
  4. 固件启动设置——固件类型——选择小米路由器mini

刷入固件

固件更新——常规固件——选择文件(应该是.trx文件)——上传——一直下一步更新即可

SN丢失救砖

网上有不需要编程器固件的救砖方法,本文只介绍使用编程器的方法

硬件准备:烙铁、焊锡、路由器、编程器(这里使用土豪金CH341A编程器)

拆机请参考:[测评] 【路由mini首拆】小米路由器mini拆机!拆!拆!拆!

编程器焊接参考:看来必须发一篇关于小米路由器mini丢SN找回的帖子了

附上网友分享的sn丢失找回教程,bin固件,请务必修改SN后使用百度云链接 密码: cdsq

备注:芯片的焊接较为精细,最好找有相关经验的朋友焊接

刷入Padavan

前提:刷入前请确保刷入了上面说的Breed

Padavan固件下载地址

本人使用的是2016-8-8文件夹中的RT-AC54U-GPIO-30-xiaomimini-128M_3.4.3.9-099.trx

  1. 电脑网络连接设置为自动获取 IP 地址
  2. 按住复位键再给路由通电,如果看到路由器的部分或全部LED连闪4次
  3. 电脑连接网线打开192.168.1.1就进入breed了(此时是没有WI-FI信号的,必须要用网线
  4. 固件启动设置——固件类型——选择小米路由器mini
  5. 固件更新——常规固件——选择文件(应该是.trx文件)——上传——一直下一步更新即可
  6. 等待,然后找到新出现的Wi-Fi名称连接(好像叫PDCNPDCN_5G,记不清了)

新固件网关:192.168.123.1
管理账号:admin/admin
Wi-Fi密码:1234567890

opkg安装

备注:路由器重启后会消失。。。

opkg:一个包管理软件,类似于ubuntu下的apt-get,centos下的yum,mac下的homebrew

硬件准备:一个U盘,越大越好吧

参考链接:如何像openwrt一样安装额外的软件包

参考链接里说明的很详细了,跟着一步一步来即可。

安装好后,在终端执行opkg -h,应该会出现opkg的使用方法

建议安装好后先更新一下opkg的软件源,指令:opkg update

curl安装

curl玩网络爬虫的一定不陌生,可以帮助我们get/post信息,我用这个这个来登录网关

前提:已部署好opkg

安装方法:opkg insatll curl

安装好后,在终端执行curl,应该会出现curl的使用方法

使用举例:

比如我校的登录方式为发送一个包到校园网的认证包,我们可以使用iOS上的Surge / Replica抓包获取发送的消息,然后模拟这个过程。

我登录我校ipv4深澜网关时,用户名为XUEHAO,密码为MIMA,那么我就在终端执行下面这条语句即可实现登录,在*nix平台上再设置一个alias省时省力

1
curl -d "action=login&ac_id=1&user_ip=&nas_ip=&user_mac=&username=XUEHAO&password=MIMA"  http://gw.cugb.edu.cn:804/srun_portal_phone.php

Cron计划任务

Padavan的Cron计划任务自带Luci界面

  1. 登录192.168.123.1
  2. 系统管理
  3. 服务
  4. 开启Cron守护程序 (计划任务)
  5. 手动编辑Crontab)
  6. 应用本页面设置

双栈环境下IPv6设置

SSH进入Padavan后台,然后执行下面的指令

1
2
3
modprobe ip6table_mangle
ebtables -t broute -A BROUTING -p ! ipv6 -j DROP -i eth2.2
brctl addif br0 eth2.2

建议加入开机启动:在自定义设置——脚本——“在路由器启动后执行:”条目最后加入上述三条指令——保存——重启即可

电脑设置为自动获取IPv6地址,即可。

测试连接:北邮人BT,能打开说明你已经成功开启了IPv6

开启shadowsocks客户端

  1. 登录192.168.123.1
  2. Shadowsocks设置
  3. 填入自己服务器的各种信息吧。。。

开启shadowsocks服务器端

  1. 登录192.168.123.1
  2. Shadowsocks设置
  3. Server设置
  4. 填入自己想设置的各种信息吧

如果挂了路由器的shadowsocks,服务器的管理界面将不是192.168.123.1而是0.0.0.0

广告屏蔽Adbyby

  1. 登录192.168.123.1
  2. Adbyby 开启

ngrok内网穿透设置

服务器端设置

首先,你要去ngrok网站上注册一个账号,然后你会得到一个token

HTTP隧道

  • 隧道名称随意填写
  • 域名/远程端口 随意填写
  • 本地地址:你在内网访问时的地址,比如我在内网可以访问1.2.3.4,外网无法访问
  • 本地端口:自行设置吧

效果是:你从外网访问15765.ngrok.cc相当于你访问了内网的1.2.3.4:80

TCP隧道

作用:可以用来代理SS-Server或者OpenVPN服务器

比如我要用15765.ngrok.cc:20324映射到本地的192.168.123.1:8250,我就这样填写。

客户端设置

如图设置即可

我的SS-server端口为8250,那么通过ss隧道进入内网的服务器地址就是:15765.ngrok.cc端口号是20324,加密方式和密码都是自己设定的,开启ss成功进入内网

参考