GL.iNet Flint 3E(GL-BE6500)修改地区代码、激活VPN菜单教程

GL.iNet 路由器在国内销售有区域锁,限制使用某些VPN功能。解锁是把设备工厂分区中的市场标识由 CN 改为国际版标识,从而让固件按国际版本加载相关菜单。本文记录在 GL.iNet Flint 3E(GL-BE6500)、固件 4.8.8 上将设备区域从中国永久改为美国,以及让简体中文管理界面显示 VPN 与 AdGuard Home 菜单。

本教程旨在指导用户如何在 GL-BE6500 路由器上更改区域设置。由于操作涉及直接写入闪存,存在一定风险。操作前请确保充分理解每一步骤,并小心谨慎地执行。

写在前面

GL-BE6500 的地区信息不只存在于普通 OpenWrt 配置中,还写在无线校准数据所在的 ART 制造分区里。仅执行 「uci set wireless.*.country=US」 可以改变当前无线配置,但恢复出厂设置或重新刷机后可能回到原区域。

本文涉及直接修改 ART 分区中的两个字节。ART 同时保存无线校准和设备硬件信息,错误的分区号或偏移量可能导致无线功能异常,甚至使设备难以恢复。因此必须先确认型号、分区布局和原始字节,并完整备份 ART。无线监管域必须与设备实际使用地一致。

设备信息

  • 设备:GL.iNet Flint 3E(GL-BE6500)
  • 固件:4.8.8
  • 管理地址:192.168.8.1
  • SSH 用户:root
  • 系统:OpenWrt 23.05-SNAPSHOT
  • ART 分区:mtd11,名称 0:ART,大小 2 MiB
  • 地区字段偏移:十进制 136

不同型号、硬件批次或固件的闪存布局可能不同。不要把本文中的 mtd11和偏移 136套用到其他设备。

更改区域

1.确认分区与地区字段

通过 SSH 登录路由器:

ssh [email protected]

查看 MTD 分区:

cat /proc/mtd

本机相关输出为:

mtd11: 00200000 00040000 "0:ART"

读取偏移 128 开始的内容:

hexdump -C -n 256 -s 128 /dev/mtdblock11

修改前的关键部分:

00000080 ff ff ff ff ff ff ff ff 43 4e ff ff ff ff ff ff |........CN......|

43 4e 是 ASCII 字符 CN,位于 0x80 + 8,即十进制偏移 136。写入前还要精确读取这两个字节:

dd if=/dev/mtdblock11 bs=1 skip=136 count=2 2>/dev/null

只有结果准确为 CN时才能继续。如果显示其他内容,应立即停止,重新核对型号和偏移。

2.完整备份 ART

在路由器上创建备份:

dd if=/dev/mtd11 of=/tmp/GL-BE6500-ART-before-US.bin bs=256k
sha256sum /tmp/GL-BE6500-ART-before-US.bin

ART 备份应为 2,097,152 字节。随后把文件复制到电脑并妥善保存。新版 OpenSSH 默认使用 SFTP,而 GL.iNet 固件可能没有 sftp-server,此时可使用旧版 SCP 协议:

scp -O [email protected]:/tmp/GL-BE6500-ART-before-US.bin ./

复制后再次计算 SHA-256,确认本地文件与路由器上的校验值一致。

3.永久修改地区

确认备份和偏移无误后,只写入两个字节:

printf 'US' | dd of=/dev/mtdblock11 bs=1 seek=136 count=2 conv=notrunc
sync

立即回读验证:

dd if=/dev/mtdblock11 bs=1 skip=136 count=2 2>/dev/null
hexdump -C -n 32 -s 128 /dev/mtdblock11

预期结果:

US
00000080 ff ff ff ff ff ff ff ff 55 53 ff ff ff ff ff ff |........US......|

同时更新当前 OpenWrt 无线配置,使修改立即生效:

uci set wireless.wifi0.country='US'
uci set wireless.wifi1.country='US'
uci commit wireless
wifi reload

重启后检查:

iw reg get

本机两个无线 PHY 均显示:

country US: DFS-FCC

由于地区字节写入了 ART 制造分区,该值通常可以跨普通固件升级和恢复出厂设置保留。刷写会覆盖 ART 的完整镜像或手动恢复 ART 备份时除外。

菜单修改

1.菜单文件

完成地区修改后,英文或繁体中文界面已经显示 VPN 和 AdGuard Home,但切换到简体中文后菜单仍然消失。检查菜单定义发现,这不是软件包未安装,而是相关 JSON 中存在明确的语言隐藏规则:

"lang_hide": [
"zh-cn"
],

涉及六个文件:

/usr/share/oui/menu.d/adguardhome.json
/usr/share/oui/menu.d/vpndashboard.json
/usr/share/oui/menu.d/ovpnclient.json
/usr/share/oui/menu.d/ovpnserver.json
/usr/share/oui/menu.d/wgclient.json
/usr/share/oui/menu.d/wgserver.json

对应菜单包括:

  • VPN 仪表盘
  • OpenVPN 客户端与服务端
  • WireGuard 客户端与服务端
  • AdGuard Home

2.取消隐藏

先备份菜单文件:

mkdir -p /root/menu-backup-zhcn
cp /usr/share/oui/menu.d/adguardhome.json \
/usr/share/oui/menu.d/vpndashboard.json \
/usr/share/oui/menu.d/ovpnclient.json \
/usr/share/oui/menu.d/ovpnserver.json \
/usr/share/oui/menu.d/wgclient.json \
/usr/share/oui/menu.d/wgserver.json \
/root/menu-backup-zhcn/

删除六个文件中的 lang_hide段:

for f in adguardhome vpndashboard ovpnclient ovpnserver wgclient wgserver; do
sed -i '/"lang_hide"/{N;N;d;}' "/usr/share/oui/menu.d/$f.json"
done

逐个验证 JSON,并确认隐藏规则已经消失:

for f in adguardhome vpndashboard ovpnclient ovpnserver wgclient wgserver; do
p="/usr/share/oui/menu.d/$f.json"
jsonfilter -i "$p" -e '@.view'
grep -E 'lang_hide|zh-cn' "$p" && echo "仍有隐藏规则:$p"
done

重启 Web 服务:

sync
/etc/init.d/nginx restart

退出管理后台并刷新页面后,简体中文界面就会显示上述菜单。

一键脚本

为了方便固件升级后重新处理菜单,我把检查、备份、修改和验证整合成脚本:

gl-be6500-unlock.sh

在 macOS 或 Linux 终端中运行:

./gl-be6500-unlock.sh

脚本默认连接 192.168.8.1,只提示输入一次管理员密码,不会把密码保存在文件中。它会自动完成:

1. 核对设备主机名、ART 分区名称和大小;
2. 确认偏移 136 只能是 CN 或 US;
3. 完整备份 ART 并生成 SHA-256;
4. 幂等执行 CN → US,已经是 US`时不会重复写入;
5. 更新两个无线设备的 UCI 国家代码;
6. 备份六个菜单文件;
7. 删除简体中文隐藏规则并逐个解析 JSON;
8. 检测 AppleDouble 文件,发现异常时拒绝重启 Web 服务;
9. 重启 Nginx 使新菜单生效。

也可以只执行某一部分,只更改区域或菜单:

./gl-be6500-unlock.sh region
./gl-be6500-unlock.sh menus

路由器地址不是默认值时,可以执行以下操作(例如:192.168.10.1):

ROUTER_HOST=192.168.10.1 ./gl-be6500-unlock.sh

备份文件会保存在脚本目录下:

backups/年月日-时分秒/

恢复方法

如果只是菜单异常,可把备份文件复制回菜单目录,然后重启 Nginx:

cp /root/menu-backup-zhcn/*.json /usr/share/oui/menu.d/
/etc/init.d/nginx restart

ART 恢复属于高风险操作。不要在没有确认设备型号、分区大小和备份校验值的情况下直接把镜像写回闪存。菜单恢复与 ART 恢复不是同一等级的操作,前者只是 Web 配置,后者涉及无线校准数据。

附件下载

gl-be6500-unlock

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇