OpenIsle
OpenIsle
话题发帖我的消息关于🔥 活动
类别
好玩 & 轻松交流 x 282
技术 & 开发调优 x 139
软件 & 资源 x 68
资讯 & 快讯 x 44
运营反馈 x 37
水深火热 x 13
Crypto x 10
标签
纯水 x 243
软件开发 x 110
人工智能 x 68
抽奖 x 64
开源共建 x 45
快问快答 x 33
夸克网盘 x 31
搬运 x 24
百度网盘 x 14
ChatGPT x 13
查看更多
AX6S RB03:OpenWrt + ShellCrash 最全步骤(macOS + 网线)
软件 & 资源
软件开发
OpenWRT
avatar
nagisa 贡献者
今天 20:47

楼主最近搬了新家,家里有投影仪,但是需要一些科学方法把YouTube之类的内容投影到投影仪上。捣鼓了一下于是弄了以下教程。

路由器需要选择闪存高一些的,我在闲鱼淘了Redmi AX6S,大约100💰


本教程适用范围:仅限 Redmi AX6S / Xiaomi AX3200 的 RB03。

这条路线依赖 RB03 的 telnet/SSH 解锁思路;当前 OpenWrt 官方仍提供 xiaomi_redmi-router-ax6s 的镜像,最新 stable 可见为 25.12.1,当前目录里有 xiaomi_redmi-router-ax6s-factory.bin、xiaomi_redmi-router-ax6s-squashfs-sysupgrade.itb 等文件。AX6S/AX3200 公开资料常见硬件是 MT7622B、256MB RAM、128MB Flash,跑 OpenWrt + ShellCrash 这类轻量代理方案通常是够的。(firmware-selector.openwrt.org)

为什么使用shellclash而不使用openclash?

shellclash更加轻量级,配置起来更简单,而且本来就是全家设备走一个策略文件,无需像openclash那样过多配置.

0)先看结论

目标流程:

  1. 先把原厂系统初始化
  2. 拿到 telnet/root
  3. 开启SSH
  4. 从原厂刷入OpenWrt factory.bin
  5. 第一次进入 OpenWrt 后做一次boot flag 修正
  6. 安装ShellCrash
  7. 导入机场订阅,切到Router mode
  8. 开机自启,测试分流/全局是否正常

1)你需要准备的东西

  • 一台RB03
  • Mac
  • 一根网线
  • 路由器电源
  • 最好先把路由器放到一个简单环境里折腾:Mac 只接路由器 LAN 口
  • 机身底部的S/N 序列号

如果你 Mac 上没有telnet,Homebrew 现在仍可直接安装:

brew install telnet

Homebrew 公式页当前仍给出这个安装命令。(Homebrew Formulae)

2)先做原厂初始化

  1. 网线把 Mac 接到路由器LAN 口
  2. 浏览器打开:
http://192.168.31.1
  1. 完成原厂初始设置
  2. 记住你设置的原厂管理密码

3)先试一下 23 端口有没有开

Mac 终端执行:

nc -vz 192.168.31.1 23

如果提示连通

说明 telnet 口大概率已经开着,直接跳到第 5 步

如果不通

走第 4 步:先刷 RB03 的 1.2.7 固件,再拿 telnet

RB03 社区常用的解锁仓库AX6S-unlock 当前仍包含miwifi_rb03_firmware_stable_1.2.7.bin、unlock_pwd.py,README 也明确写了 RB03 的顺序是:更新固件、根据 S/N 解密码、telnet 192.168.31.1、再开 SSH/UART。(GitHub)

4)如果 23 端口没开:先把原厂升级到解锁流程常用固件

去YangWang92/AX6S-unlock 仓库取这两个文件:

  • miwifi_rb03_firmware_stable_1.2.7.bin
  • unlock_pwd.py

仓库当前文件列表和 README 都还能看到这两个文件名。(GitHub)

原厂页面手动升级

在小米原厂后台里找到“系统升级 / 手动升级”,上传:

miwifi_rb03_firmware_stable_1.2.7.bin

升级重启后,再测一次:

nc -vz 192.168.31.1 23

5)根据 S/N 生成 telnet 密码

在 Mac 上把unlock_pwd.py 放到当前目录后执行:

python3 unlock_pwd.py <你的SN序列号>

README 当前就是这个流程:从 S/N 解出密码,然后telnet 192.168.31.1。(GitHub)

6)用 telnet 登录 root

telnet 192.168.31.1

登录信息:

username: root password: 上一步算出来的密码

RB03 的现成教程里就是这样写的:telnet 192.168.31.1,用户名root,密码为脚本算出的密码。(GitHub)

7)在原厂 shell 里开启 SSH / UART / boot_wait

登录进去后依次执行:

nvram set telnet_en=1 nvram set uart_en=1 nvram set ssh_en=1 nvram set boot_wait=on nvram commit passwd root /etc/init.d/dropbear enable /etc/init.d/dropbear start

这组命令和顺序在 RB03 公开教程里都能看到:先开ssh_en、uart_en、boot_wait,再改 root 密码,最后启用dropbear。(GitHub)

然后测试 SSH:

ssh root@192.168.31.1

以后都尽量不用 telnet 了,直接 SSH。(GitHub)

8)下载 OpenWrt factory 镜像

当前 OpenWrt 对这个机型的 stable 目录里,设备镜像名是:

  • xiaomi_redmi-router-ax6s-factory.bin
  • xiaomi_redmi-router-ax6s-squashfs-sysupgrade.itb

你第一次从原厂刷入,用的是factory.bin。当前 25.12.1 目录和文件名都可见。(firmware-selector.openwrt.org)

在路由器里直接下载

先 SSH 进路由器:

ssh root@192.168.31.1

然后执行:

cd /tmp wget https://downloads.openwrt.org/releases/25.12.1/targets/mediatek/mt7622/xiaomi_redmi-router-ax6s-factory.bin wget https://downloads.openwrt.org/releases/25.12.1/targets/mediatek/mt7622/sha256sums grep xiaomi_redmi-router-ax6s-factory.bin sha256sums sha256sum xiaomi_redmi-router-ax6s-factory.bin

当前目录里这份factory.bin 的 SHA-256 为:

f6d5ae6db5d1b7cf52dad919c2e9e30886d9aa93822c555ddb0c97b8dbcddf36

文件大小当前目录显示约12672 KB。(OpenWrt 下载)

9)刷机前写 NVRAM 标志

在原厂 SSH 里执行:

nvram set flag_boot_success=1 nvram set flag_try_sys1_failed=0 nvram set flag_try_sys2_failed=0 nvram commit

这是 RB03 公开刷机步骤里常见的预处理。(GitHub)

10)正式刷入 OpenWrt

mtd -r write xiaomi_redmi-router-ax6s-factory.bin firmware

RB03 的现成安装教程就是用mtd -r write ... firmware 把 factory 镜像写进firmware 分区。(GitHub)

路由器会自动重启。

11)如果刷完又回到原厂,再补这组标志再刷一次

少数情况下,刷完会重启回原厂。那就在原厂 SSH 里先补这组,再重新执行第 10 步:

nvram set flag_boot_rootfs=0 nvram set "boot_fw1=run boot_rd_img;bootm" nvram set flag_boot_success=1 nvram set flag_try_sys1_failed=0 nvram set flag_try_sys2_failed=0 nvram commit mtd -r write xiaomi_redmi-router-ax6s-factory.bin firmware

这组 fallback 标志也出现在 RB03 的公开安装文档里。(GitHub)

12)第一次进入 OpenWrt

刷完后一般改成:

http://192.168.1.1

默认 root 密码为空,第一次进 LuCI 后马上设置密码。RB03 刷机教程也明确写了新地址为192.168.1.1,初始密码为空。(GitHub)

建议你第一时间做这几件事

  1. 设 root 密码
  2. 把 LAN 网段改成你习惯的
  3. 先确认 WAN 能上网
  4. 先不要急着装一堆插件

13)很重要:做一次 boot flag 修正,避免反复重启后出问题

AX3200 / AX6S 社区里长期有人报告:反复重启后,try_sys 计数可能导致 soft-brick;公开讨论里的常见 workaround 是在启动时重置这两个环境变量。OpenWrt issue 和社区讨论都提到了这个问题。(GitHub)

执行:

ssh root@192.168.1.1 cat >/etc/rc.local <<'EOF' #!/bin/sh fw_setenv flag_try_sys1_failed 0 fw_setenv flag_try_sys2_failed 0 exit 0 EOF chmod +x /etc/rc.local reboot

这不是刷机必需,但我建议你做。

14)先确认 OpenWrt 当前可用空间和内存

进入 OpenWrt 后执行:

df -h free -m

AX6S/AX3200 公开规格常见为128MB Flash + 256MB RAM,比 4A 这类小闪存机型宽裕不少;跑 OpenWrt + ShellCrash 通常够用,但也不建议再叠很多重型服务。(Giacomo Felletti)

15)安装 ShellCrash

ShellCrash 官方 README 当前写得很明确:

  • 支持OpenWrt 及其衍生固件
  • 支持Router mode
  • 支持在线导入订阅链接
  • 路由器安装可直接用官方提供的curl 或wget 命令
  • 安装完成后用crash 启动交互菜单。(GitHub)

先试 GitHub 源安装(推荐)

在 OpenWrt SSH 里执行:

export url='https://raw.githubusercontent.com/juewuy/ShellCrash/dev' \ && sh -c "$(curl -kfsSl $url/install_en.sh)" \ && . /etc/profile >/dev/null 2>&1

这是 ShellCrash README 当前给出的Router Device Installation via curl 命令。(GitHub)

如果 curl 不行,就用 wget 版

export url='https://raw.githubusercontent.com/juewuy/ShellCrash/dev' \ && wget -q --no-check-certificate -O /tmp/install.sh $url/install_en.sh \ && sh /tmp/install.sh \ && . /etc/profile >/dev/null 2>&1

这也是官方 README 当前给出的路由器安装命令。(GitHub)

如果 GitHub 源连不上,再试 jsDelivr

export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@dev' \ && sh -c "$(curl -kfsSl $url/install_en.sh)" \ && . /etc/profile >/dev/null 2>&1

ShellCrash README 当前也给了 jsDelivr 源。(GitHub)

16)安装完成后进入 ShellCrash 菜单

crash

ShellCrash README 当前写明:安装后用crash 启动交互菜单,用crash -h 看帮助。(GitHub)

17)ShellCrash 首次配置,建议这样选

下面这部分是我给你的推荐项,不是官方固定菜单编号。你照着思路选就行。

建议选项

  • 内核:选mihomo
  • 运行模式:选Router mode
  • 配置来源:导入你的机场订阅链接
  • 开机启动:开启
  • 自动更新订阅:开启,但别太频繁
  • 仪表盘:可选,不是必须

这样配的原因是:ShellCrash 官方说明本身就支持mihomo / sing-box、支持订阅导入、支持Router mode,而你现在的需求是“整套路由器挂代理”。(GitHub)

18)导入机场订阅后,建议先用最简单策略

你的需求如果是“全屋先跑起来”

推荐先这样:

  • 默认策略组选一个主节点组
  • 国内走DIRECT
  • 国外走Proxy
  • DNS 先走 ShellCrash 默认推荐方案
  • 先别自己手改太多规则

先跑通,再慢慢优化。

19)检查 ShellCrash 是否正常启动

执行:

crash -h ps | grep -E 'mihomo|clash|sing-box'

如果已经启动,通常能看到内核进程。
然后在客户端设备上测试:

  • 能否打开 Google
  • 能否打开 YouTube
  • 国内网站是否直连正常
  • DNS 是否正常,不抽风

20)设置开机自启后,重启验证一遍

reboot

重启后再 SSH 进去确认:

ps | grep -E 'mihomo|clash|sing-box'

再从手机 / 电脑测一次网络。

Sort by:
返回
暂无评论