feat: 添加 GL-iNet 路由器工具箱主脚本,支持自动检测机型和手动选择
This commit is contained in:
190
main.sh
Executable file
190
main.sh
Executable file
@@ -0,0 +1,190 @@
|
||||
#!/bin/sh
|
||||
# GL-iNet 路由器一键安装工具箱 - 主脚本
|
||||
# by @wukongdaily
|
||||
|
||||
# 定义颜色输出函数
|
||||
red() { echo -e "\033[31m\033[01m$1\033[0m"; }
|
||||
green() { echo -e "\033[32m\033[01m$1\033[0m"; }
|
||||
yellow() { echo -e "\033[33m\033[01m$1\033[0m"; }
|
||||
blue() { echo -e "\033[34m\033[01m$1\033[0m"; }
|
||||
light_magenta() { echo -e "\033[95m\033[01m$1\033[0m"; }
|
||||
light_yellow() { echo -e "\033[93m\033[01m$1\033[0m"; }
|
||||
cyan() { echo -e "\033[38;2;0;255;255m$1\033[0m"; }
|
||||
|
||||
HTTP_HOST="https://cafe.cpolar.cn/wkdaily/gl/raw/branch/main"
|
||||
|
||||
##获取软路由型号信息
|
||||
get_router_name() {
|
||||
model_info=$(cat /tmp/sysinfo/model)
|
||||
echo "$model_info"
|
||||
}
|
||||
|
||||
## 自动检测路由器型号并调用对应脚本
|
||||
auto_detect_and_run() {
|
||||
gl_name=$(get_router_name)
|
||||
echo "检测到路由器型号: $gl_name"
|
||||
|
||||
case "$gl_name" in
|
||||
*BE6500* | *be6500*)
|
||||
green "正在启动 BE6500 脚本..."
|
||||
sh "$(dirname "$0")/be6500.sh"
|
||||
;;
|
||||
*BE3600* | *be3600*)
|
||||
green "正在启动 BE3600 脚本..."
|
||||
sh "$(dirname "$0")/be3600.sh"
|
||||
;;
|
||||
*MT5000* | *mt5000*)
|
||||
green "正在启动 MT5000 脚本..."
|
||||
sh "$(dirname "$0")/mt5000.sh"
|
||||
;;
|
||||
*MT3600* | *mt3600*)
|
||||
green "正在启动 MT3600 脚本..."
|
||||
sh "$(dirname "$0")/mt3600.sh"
|
||||
;;
|
||||
*MT-3000* | *mt3000* | *MT3000*)
|
||||
if grep -q "OP24" /etc/openwrt_release 2>/dev/null; then
|
||||
green "正在启动 MT-3000 OP24 脚本..."
|
||||
sh "$(dirname "$0")/gl-inet-op24.sh"
|
||||
else
|
||||
green "正在启动 MT-3000 脚本..."
|
||||
sh "$(dirname "$0")/gl-inet.sh"
|
||||
fi
|
||||
;;
|
||||
*MT-6000* | *mt6000* | *MT6000*)
|
||||
if grep -q "OP24" /etc/openwrt_release 2>/dev/null; then
|
||||
green "正在启动 MT-6000 OP24 脚本..."
|
||||
sh "$(dirname "$0")/gl-inet-op24.sh"
|
||||
else
|
||||
green "正在启动 MT-6000 脚本..."
|
||||
sh "$(dirname "$0")/gl-inet.sh"
|
||||
fi
|
||||
;;
|
||||
*MT-2500* | *mt2500* | *MT2500*)
|
||||
green "正在启动 MT-2500A 脚本..."
|
||||
sh "$(dirname "$0")/gl-inet.sh"
|
||||
;;
|
||||
*)
|
||||
red "抱歉,暂不支持该机型: $gl_name"
|
||||
echo "您可以手动选择机型运行对应脚本"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
## 手动选择机型
|
||||
select_model() {
|
||||
echo
|
||||
echo "请选择您的路由器型号:"
|
||||
echo
|
||||
green " 1. GL-iNet BE-6500"
|
||||
green " 2. GL-iNet BE-3600"
|
||||
green " 3. GL-iNet MT-5000"
|
||||
green " 4. GL-iNet MT-3600"
|
||||
green " 5. GL-iNet MT-2500A"
|
||||
green " 6. GL-iNet MT-3000"
|
||||
green " 7. GL-iNet MT-6000"
|
||||
echo
|
||||
green " 8. GL-iNet MT-3000 (OP24固件)"
|
||||
green " 9. GL-iNet MT-6000 (OP24固件)"
|
||||
echo
|
||||
green "10. MT-3000 换分区助手 (U盘扩容)"
|
||||
green "11. MT-3000 Docker安装"
|
||||
echo
|
||||
echo " Q. 退出"
|
||||
echo
|
||||
read -p "请输入选项: " choice
|
||||
|
||||
case $choice in
|
||||
1)
|
||||
sh "$(dirname "$0")/be6500.sh"
|
||||
;;
|
||||
2)
|
||||
sh "$(dirname "$0")/be3600.sh"
|
||||
;;
|
||||
3)
|
||||
sh "$(dirname "$0")/mt5000.sh"
|
||||
;;
|
||||
4)
|
||||
sh "$(dirname "$0")/mt3600.sh"
|
||||
;;
|
||||
5 | 6 | 7)
|
||||
sh "$(dirname "$0")/gl-inet.sh"
|
||||
;;
|
||||
8)
|
||||
sh "$(dirname "$0")/gl-inet-op24.sh"
|
||||
;;
|
||||
9)
|
||||
sh "$(dirname "$0")/gl-inet-op24.sh"
|
||||
;;
|
||||
10)
|
||||
if [ -f "$(dirname "$0")/mt-3000/mt3000.sh" ]; then
|
||||
sh "$(dirname "$0")/mt-3000/mt3000.sh"
|
||||
else
|
||||
wget -O "$(dirname "$0")/mt-3000.sh" "$HTTP_HOST/mt-3000/mt3000.sh" && chmod +x "$(dirname "$0")/mt-3000.sh"
|
||||
sh "$(dirname "$0")/mt-3000.sh"
|
||||
fi
|
||||
;;
|
||||
11)
|
||||
if [ -f "$(dirname "$0")/docker/do_docker.sh" ]; then
|
||||
sh "$(dirname "$0")/docker/do_docker.sh"
|
||||
else
|
||||
wget -O "$(dirname "$0")/do_docker.sh" "$HTTP_HOST/docker/do_docker.sh" && chmod +x "$(dirname "$0")/do_docker.sh"
|
||||
sh "$(dirname "$0")/do_docker.sh"
|
||||
fi
|
||||
;;
|
||||
q | Q)
|
||||
echo "退出"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
red "无效选项,请重新选择"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
## 主菜单
|
||||
show_main_menu() {
|
||||
gl_name=$(get_router_name)
|
||||
clear
|
||||
echo "***********************************************************************"
|
||||
echo "* *"
|
||||
echo "* GL-iNet 路由器一键安装工具箱 by @wukongdaily *"
|
||||
echo "* *"
|
||||
echo "***********************************************************************"
|
||||
echo
|
||||
green "当前路由器型号: $gl_name"
|
||||
echo
|
||||
echo "支持以下操作:"
|
||||
echo
|
||||
light_magenta " A. 自动检测并运行对应脚本 (推荐)"
|
||||
light_magenta " B. 手动选择机型"
|
||||
echo
|
||||
echo " Q. 退出"
|
||||
echo
|
||||
}
|
||||
|
||||
## 主循环
|
||||
while true; do
|
||||
show_main_menu
|
||||
echo
|
||||
read -p "请输入选项: " main_choice
|
||||
|
||||
case $main_choice in
|
||||
a | A)
|
||||
auto_detect_and_run
|
||||
;;
|
||||
b | B)
|
||||
select_model
|
||||
;;
|
||||
q | Q)
|
||||
echo "退出"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
red "无效选项,请重新选择"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo
|
||||
read -p "按 Enter 键返回主菜单..."
|
||||
done
|
||||
Reference in New Issue
Block a user