Merge pull request #1092 from sofia-riese/patch-2

feat(9_upgrade): redesign TUI
This commit is contained in:
juewuy
2026-01-18 17:22:34 +08:00
committed by GitHub

View File

@@ -16,35 +16,39 @@ error_down() {
# 更新/卸载功能菜单
upgrade() {
double_line_break
while true; do
echo "-----------------------------------------------"
[ -z "$version_new" ] && checkupdate
[ -z "$core_v" ] && core_v=$crashcore
core_v_new=$(eval echo \$"$crashcore"_v)
echo -e "\033[30;47m欢迎使用更新功能\033[0m"
echo "-----------------------------------------------"
echo -e "当前目录(\033[32m$CRASHDIR\033[0m)剩余空间:\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m"
# Automatically generate '====' lines
separator_line "="
content_line "\033[30;47m更新与支持\033[0m"
# Automatically generate '- - - ' lines
separator_line "-"
content_line "当前目录(\033[32m$CRASHDIR\033[0m)剩余空间:\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m"
[ "$(dir_avail "$CRASHDIR")" -le 5120 ] && [ "$CRASHDIR" = "$BINDIR" ] && {
echo -e "\033[33m当前目录剩余空间较低建议开启小闪存模式\033[0m"
sleep 1
content_line "\033[33m当前目录剩余空间较低建议开启小闪存模式\033[0m"
}
echo "-----------------------------------------------"
echo -e " 1 更新\033[36m管理脚本 \033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m"
echo -e " 2 切换\033[33m内核文件 \033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m"
echo -e " 3 更新\033[32m数据库文件\033[0m > \033[32m$GeoIP_v\033[0m"
echo -e " 4 安装本地\033[35mDashboard\033[0m面板"
echo -e " 5 安装/更新本地\033[33m根证书文件\033[0m"
echo -e " 6 查看\033[32mPAC\033[0m自动代理配置"
echo "-----------------------------------------------"
echo -e " 7 切换\033[36m安装源\033[0m及\033[36m安装版本\033[0m"
echo -e " 8 \033[32m配置自动更新\033[0m"
echo -e " 9 \033[31m卸载ShellCrash\033[0m"
echo "-----------------------------------------------"
echo -e " 99 \033[36m鸣谢\033[0m"
echo "-----------------------------------------------"
echo -e " 0 返回上级菜单"
echo "-----------------------------------------------"
read -p "请输入对应数字 > " num
separator_line "-"
content_line "1) 更新\033[36m管理脚本 \033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m"
content_line "2) 切换\033[33m内核文件 \033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m"
content_line "3) 更新\033[32m数据库文件\033[0m > \033[32m$GeoIP_v\033[0m"
content_line "4) 安装本地\033[35mDashboard\033[0m面板"
content_line "5) 安装/更新本地\033[33m根证书文件\033[0m"
content_line "6) 查看\033[32mPAC\033[0m自动代理配置"
content_line "7) 切换\033[36m安装源\033[0m及\033[36m安装版本\033[0m"
content_line "8) \033[32m配置自动更新\033[0m"
content_line "9) \033[31m卸载ShellCrash\033[0m"
content_line "99) \033[36m鸣谢\033[0m"
content_line "0) 返回上级菜单"
separator_line "="
read -p "请输入对应数字> " num
case "$num" in
"" | 0)
break
@@ -59,15 +63,18 @@ upgrade() {
setgeo
;;
4)
double_line_break
setdb
double_line_break
;;
5)
setcrt
;;
6)
echo "-----------------------------------------------"
echo -e "PAC配置链接为\033[30;47m http://$host:$db_port/ui/pac \033[0m"
echo -e "PAC的使用教程请参考\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m"
separator_line "="
content_line "PAC配置链接为\033[30;47m http://$host:$db_port/ui/pac \033[0m"
content_line "PAC的使用教程请参考\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m"
separator_line "="
sleep 2
;;
7)
@@ -80,19 +87,48 @@ upgrade() {
. "$CRASHDIR"/menus/uninstall.sh && uninstall
;;
99)
echo "-----------------------------------------------"
echo -e "感谢:\033[32mClash项目 \033[0m作者\033[36m Dreamacro\033[0m"
echo -e "感谢:\033[32msing-box项目 \033[0m作者\033[36m SagerNet\033[0m 项目地址:\033[32mhttps://github.com/SagerNet/sing-box\033[0m"
echo -e "感谢:\033[32mMetaCubeX项目 \033[0m作者\033[36m MetaCubeX\033[0m 项目地址:\033[32mhttps://github.com/MetaCubeX\033[0m"
echo -e "感谢:\033[32mYACD面板项目 \033[0m作者\033[36m haishanh\033[0m 项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m"
echo -e "感谢:\033[32mzashboard项目 \033[0m作者\033[36m Zephyruso\033[0m 项目地址:\033[32mhttps://github.com/Zephyruso/zashboard\033[0m"
echo -e "感谢:\033[32mSubconverter \033[0m作者\033[36m tindy2013\033[0m 项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m"
echo -e "感谢:\033[32msing-box分支项目 \033[0m作者\033[36m PuerNya\033[0m 项目地址:\033[32mhttps://github.com/PuerNya/sing-box\033[0m"
echo -e "感谢:\033[32msing-box分支项目 \033[0m作者\033[36m reF1nd\033[0m 项目地址:\033[32mhttps://github.com/reF1nd/sing-box\033[0m"
echo -e "感谢:\033[32mDustinWin相关项目 \033[0m作者\033[36m DustinWin\033[0m 作者地址:\033[32mhttps://github.com/DustinWin\033[0m"
echo "-----------------------------------------------"
echo -e "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们\033[0m"
echo "-----------------------------------------------"
separator_line "="
content_line "感谢以下项目和作者!"
separator_line "-"
content_line "\033[32mClash项目 \033[0m作者\033[36mDreamacro\033[0m"
content_line ""
content_line "\033[32msing-box项目 \033[0m作者\033[36mSagerNet\033[0m"
content_line "项目地址:\033[32mhttps://github.com/SagerNet/sing-box\033[0m"
content_line ""
content_line "\033[32mMetaCubeX项目 \033[0m作者\033[36mMetaCubeX\033[0m"
content_line "项目地址:\033[32mhttps://github.com/MetaCubeX\033[0m"
content_line ""
content_line "\033[32mYACD面板项目 \033[0m作者\033[36mhaishanh\033[0m"
content_line "项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m"
content_line ""
content_line "\033[32mzashboard项目 \033[0m作者\033[36mZephyruso\033[0m"
content_line "项目地址:\033[32mhttps://github.com/Zephyruso/zashboard\033[0m"
content_line ""
content_line "\033[32mSubconverter \033[0m作者\033[36mtindy2013\033[0m"
content_line "项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m"
content_line ""
content_line "\033[32msing-box分支项目 \033[0m作者\033[36mPuerNya\033[0m"
content_line "项目地址:\033[32mhttps://github.com/PuerNya/sing-box\033[0m"
content_line ""
content_line "\033[32msing-box分支项目 \033[0m作者\033[36mreF1nd\033[0m"
content_line "项目地址:\033[32mhttps://github.com/reF1nd/sing-box\033[0m"
content_line ""
content_line "\033[32mDustinWin相关项目 \033[0m作者\033[36mDustinWin\033[0m"
content_line "作者地址:\033[32mhttps://github.com/DustinWin\033[0m"
content_line ""
separator_line "-"
content_line "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们\033[0m"
separator_line "="
sleep 2
;;
*)
@@ -839,22 +875,25 @@ dbdir() {
setdb() {
while true; do
echo "-----------------------------------------------"
echo -e "\033[36m安装本地版dashboard管理面板\033[0m"
echo -e "\033[32m打开管理面板的速度更快且更稳定\033[0m"
echo "-----------------------------------------------"
echo -e "请选择面板\033[33m安装类型\033[0m"
echo "-----------------维护中------------------------"
echo -e " 1 安装\033[32mzashboard面板\033[0m(约2.2mb)"
echo -e " 2 安装\033[32mMetaXD面板\033[0m(约1.5mb)"
echo -e " 3 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)"
echo "---------------已停止维护----------------------"
echo -e " 4 安装\033[32m基础面板\033[0m(约500kb)"
echo -e " 5 安装\033[32mMeta基础面板\033[0m(约800kb)"
echo -e " 6 安装\033[32mYacd面板\033[0m(约1.1mb)"
echo "-----------------------------------------------"
echo -e " 9 卸载\033[33m本地面板\033[0m"
echo " 0 返回上级菜单"
separator_line "="
content_line "\033[36m安装 dashboard 管理面板到本地\033[0m"
content_line "\033[32m打开管理面板的速度更快且更稳定\033[0m"
separator_line "-"
content_line "请选择面板\033[33m安装类型\033[0m"
content_line " - - - - - - -维护中- - - - - - -"
content_line "1) 安装\033[32mzashboard面板\033[0m(约2.2mb)"
content_line "2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)"
content_line "3) 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)"
content_line " - - - - - -已停止维护- - - - - -"
content_line "4) 安装\033[32m基础面板\033[0m(约500kb)"
content_line "5) 安装\033[32mMeta基础面板\033[0m(约800kb)"
content_line "6) 安装\033[32mYacd面板\033[0m(约1.1mb)"
content_line ""
content_line "9) 卸载\033[33m本地面板\033[0m"
content_line "0) 返回上级菜单"
separator_line "="
read -p "请输入对应数字 > " num
case "$num" in
"" | 0)