add mt6000 but Not tested

This commit is contained in:
悟空的日常镜像仓库 2025-06-04 11:22:27 +08:00
parent 5916bc8ac1
commit de75944ea9

125
mt6000.sh Normal file
View File

@ -0,0 +1,125 @@
#!/bin/sh
# 免责声明函数
show_disclaimer() {
clear
echo "⚠️ 免责声明"
echo "=============================================="
echo "使用本脚本可能存在以下风险:"
echo "- 设备无法启动或变砖"
echo "- 丢失厂商保修"
echo "- 网络功能异常或配置丢失"
echo ""
echo "即使您完全按照教程操作,也可能仍有不可预知的风险。"
echo "本脚本作者对任何由此产生的问题不承担责任,"
echo "所有操作风险由用户自行承担。"
echo "=============================================="
echo ""
read -p "您是否同意并愿意继续?(yes/no): " agree
if [ "$agree" != "yes" ]; then
echo "您已拒绝免责声明,脚本将退出。"
exit 1
fi
}
# 检测型号
check_model() {
echo "🧰 正在检测路由器型号..."
local model_file="/proc/gl-hw-info/model"
local expected_model="mt6000"
if [ ! -f "$model_file" ]; then
echo "⚠️ 无法检测型号,文件不存在:$model_file"
return 1
fi
local model
model=$(cat "$model_file" | tr -d '\r\n')
if [ "$model" != "$expected_model" ]; then
echo "❌ 当前设备型号为:$model,非 $expected_model,不支持本脚本操作!"
return 1
fi
echo "✅ 检测到设备型号:$model,符合要求,继续执行..."
return 0
}
# 获取当前区域函数
get_current_region() {
region_hex=$(hexdump -C /dev/mmcblk0p2 | head -n 10 | grep -oE 'US|CN' | head -n 1)
if [ "$region_hex" = "US" ]; then
echo "US"
elif [ "$region_hex" = "CN" ]; then
echo "CN"
else
echo "未知"
fi
}
# ======================
# 脚本开始执行
# ======================
show_disclaimer
# 调用检查函数
check_model || exit 1
echo
read -p "按回车键继续..." dummy
# 主循环
while true; do
clear
current_region=$(get_current_region)
echo "========== GL-iNet MT6000 区域切换工具 =============="
echo "当前路由器区域:$current_region"
echo ""
echo "1. 切换为美区"
echo "2. 切换为国区"
echo "q. 退出"
echo "==================================================="
read -p "请输入选项 [1/2/q]: " choice
case "$choice" in
1)
echo ""
echo "⚠️ 警告:切换区域可能会影响保修或部分功能。"
echo "⚠️ 此操作将修改 Flash 并重启路由器。"
read -p "是否确认切换为美区?(yes/no): " confirm
if [ "$confirm" = "yes" ]; then
echo "正在切换为美区..."
echo "US" | dd of=/dev/mmcblk0p2 conv=notrunc bs=1 seek=136
sync
echo "切换完成,正在重启路由器..."
sleep 2
reboot
else
echo "已取消操作。"
sleep 2
fi
;;
2)
echo ""
echo "⚠️ 警告:切换区域可能会影响保修或部分功能。"
echo "⚠️ 此操作将修改 Flash 并重启路由器。"
read -p "是否确认切换为国区?(yes/no): " confirm
if [ "$confirm" = "yes" ]; then
echo "正在切换为国区..."
echo "CN" | dd of=/dev/mmcblk0p2 conv=notrunc bs=1 seek=136
sync
echo "切换完成,正在重启路由器..."
sleep 2
reboot
else
echo "已取消操作。"
sleep 2
fi
;;
q|Q)
echo "已退出。"
exit 0
;;
*)
echo "无效选项,请重新输入。"
sleep 2
;;
esac
done