小米路由器mini刷PandoraBox使用Shadowsocks

1. 获取SSH权限

  首先需要获取小米路由器mini的SSH权限,需要在开发版ROM的基础上,使用USB写入SSH的bin文件。

1.1. 烧入开发版ROM

  开发版ROM可以在http://www1.miwifi.com/miwifi_download.html下载。下载得到一个xxx.bin文件,例如miwifi_r1cm_firmware_46a10_2.7.63 。此时有两种方法进行升级:

  法一:网页登录小米路由器,点击右上角路由器名称,选择“系统升级”,然后点击“手动升级”,如图1所示。之后选择刚才下载的.bin文件升级即可。

0

图1

  法二:将下载得到的.bin文件重命名为miwifi.bin ,复制入U盘(须为FAT或FAT32格式)。路由器断电,将U盘插入,并用针压住复位孔,路由器上电,待指示灯变为黄色闪烁状态后松开复位,等待路由器安装和重启。

1.2. 获取SSH权限

  在https://d.miwifi.com/rom/ssh处登录小米账号绑定路由器,获得root密码,如图2。

图2

图2

  下载工具包,得到miwifi_ssh.bin ,复制到U盘(如果之前U盘里复制了miwifi.bin ,务必删除)。路由器断电,将U盘插入,并用针压住复位孔,路由器上电,待指示灯变为黄色闪烁状态后松开复位,等待路由器安装和重启。

  之后可以使用PuTTY登录路由器,主机名称为miwifi.com ,端口号为22 ,用户名为root ,密码为root密码。

2. 烧入PandoraBox

2.1. 下载PandoraBox

  小米路由器mini使用的PandoraBox可以在http://downloads.openwrt.org.cn/PandoraBox/Xiaomi-Mini-R1CM/下载,貌似旧版本曾经整合过Shadowsocks,新版本又移除了。下载得到一个.bin文件,例如PandoraBox-ralink-mt7620-xiaomi-mini-squashfs-sysupgrade-r1024-20150608.bin ,为了方便使用,将它重命名为pb.bin 。

2.2. 复制PandoraBox到路由器

  可以使用WinSCP将文件复制到路由器。将pb.bin 复制到路由器/tmp 文件夹中,注意用WinSCP直接root登录后,当前目录是/root ,要返回上一级目录才能看到/tmp 文件夹。

2.3. 烧入PandoraBox

  SSH登录路由器,执行:

mtd -r write /tmp/pb.bin OS1

开始烧机。网上很多教程用的是形如mtd -r write XXX.bin firmware ,新版本要是用OS1 而不是firmware 。

  烧完后使用192.168.1.1登录路由器确认烧写成功。

2.4. 配置PPPoE拨号上网

  如果家里用的是PPPoE拨号上网,还需要进行配置。PandoraBox的PPPoE配置藏得比较深,在“网络”/“接口”/“WAN”里的“基本设置”选项卡下修改“协议”为PPPoE,然后输入用户名和密码即可,如图3。

图3

图3

3. 配置OPKG

  OPKG是OpenWrt的软件包管理器,需要根据路由器的硬件进行配置,使得OPKG允许安装对应硬件的bin。小米路由器mini使用MTK MT7620A单核580MHz的CPU,对应ramips/mt7620a 。“系统”/“软件包”里的“配置”选项卡提供了修改OPKG配置文件的界面,如图4所示。

图4

图4

参考这里,将其内容修改为(使用反向代理加速):

dest root /
dest ram /tmp
lists_dir ext /etc/opkg-lists
option overlay_root /overlay
# notice below is the full path of USB device
dest usb /mnt/sdb1/opkg

arch all 100
arch ramips_24kec 200
arch ramips 300
arch mips 400
arch unkown 500


src/gz barrier_breaker_base http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/base
src/gz barrier_breaker_luci http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/luci
src/gz barrier_breaker_management http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/management
src/gz barrier_breaker_oldpackages http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/oldpackages
src/gz barrier_breaker_packages http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/packages
src/gz barrier_breaker_routing http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/routing
src/gz barrier_breaker_telephony http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/telephony

  配置完后,SSH登录,执行:
opkg update

4. 安装Shadowsocks

4.1. 安装依赖

  Shadowsocks有如下依赖:

  • zlib
  • libc
  • libgcc
  • libpolarssl
  • ip

OPKG不到的话可以在http://sourceforge.net/projects/openwrt-dist/files/depends-libs/ramips/直接下载并复制到路由器,然后依次安装(省略了版本号):

opkg install zlib.ipk
opkg install libgcc.ipk
opkg install libc.ipk
opkg install ip.ipk
opkg install libopenssl.ipk
opkg install shadowsocks-libev-spec.ipk

4.2. 安装Shadowsocks

  终于可以装Shaodowsocks了,目前使用opkg install shadowsocks-libev-spec 直接安装新版本的Shadowsocks会报错,可以在http://sourceforge.net/projects/openwrt-dist/files/shadowsocks-libev/下载历史版本,2.1.4亲测可用,下载ramips版本,复制到路由器安装(省略了路径):

opkg install shadowsocks-libev-spec_2.1.4-1_ramips_24kec.ipk

  最后安装:
opkg install luci-app-shadowsocks-spec

这个竟然一次就成功了。

4.3. 配置Shadowsocks

  安装完成后,在“服务”/“ShadowSocks”下进行配置,可以使用配置文件(位于/etc/shadowsocks/config.json),也可以直接在界面上配置,如图5所示。

图5

图5

2 Comments

  1. lihang

    你好,按照你的方法我配置成功了。ss账号有效,但是不能翻墙,你有相应的解决办法吗?
    我看其它的教程后续在做chinaDNS,是不是这个的原因?

    1. nex3z (Post author)

      Hi,只用ss,如果自己电脑上可以翻,路由器翻不了,二者网络环境是一样的,应该就是路由器配置的问题了。感觉最近ss也不稳定了,还是VPN好使…

Comments are closed.