mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-03-12 00:11:31 +00:00
Merge pull request #1193 from sofia-riese/redesign-1
chore(9_upgrade.sh): invoke the common.sh component
This commit is contained in:
@@ -17,12 +17,8 @@ error_down() {
|
|||||||
# 更新/卸载功能菜单
|
# 更新/卸载功能菜单
|
||||||
upgrade() {
|
upgrade() {
|
||||||
while true; do
|
while true; do
|
||||||
|
|
||||||
if [ -z "$version_new" ]; then
|
if [ -z "$version_new" ]; then
|
||||||
checkupdate
|
checkupdate
|
||||||
line_break
|
|
||||||
else
|
|
||||||
line_break
|
|
||||||
fi
|
fi
|
||||||
[ -z "$core_v" ] && core_v=$crashcore
|
[ -z "$core_v" ] && core_v=$crashcore
|
||||||
core_v_new=$(eval echo \$"$crashcore"_v)
|
core_v_new=$(eval echo \$"$crashcore"_v)
|
||||||
@@ -33,7 +29,6 @@ upgrade() {
|
|||||||
[ "$(dir_avail "$CRASHDIR")" -le 5120 ] && [ "$CRASHDIR" = "$BINDIR" ] && {
|
[ "$(dir_avail "$CRASHDIR")" -le 5120 ] && [ "$CRASHDIR" = "$BINDIR" ] && {
|
||||||
content_line "\033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m"
|
content_line "\033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m"
|
||||||
}
|
}
|
||||||
separator_line "="
|
|
||||||
content_line "1) 更新\033[36m管理脚本\t\033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m"
|
content_line "1) 更新\033[36m管理脚本\t\033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m"
|
||||||
content_line "2) 切换/更新\033[33m内核文件\t\033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m"
|
content_line "2) 切换/更新\033[33m内核文件\t\033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m"
|
||||||
content_line "3) 安装/更新本地\033[32m数据库文件\033[0m"
|
content_line "3) 安装/更新本地\033[32m数据库文件\033[0m"
|
||||||
@@ -68,12 +63,8 @@ upgrade() {
|
|||||||
setcrt
|
setcrt
|
||||||
;;
|
;;
|
||||||
6)
|
6)
|
||||||
line_break
|
msg_alert -t 2 "PAC配置链接为:\033[30;47m http://$host:$db_port/ui/pac \033[0m" \
|
||||||
separator_line "="
|
"PAC的使用教程请参考:\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m"
|
||||||
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)
|
7)
|
||||||
setserver
|
setserver
|
||||||
@@ -82,10 +73,7 @@ upgrade() {
|
|||||||
. "$CRASHDIR"/menus/uninstall.sh && uninstall
|
. "$CRASHDIR"/menus/uninstall.sh && uninstall
|
||||||
;;
|
;;
|
||||||
9)
|
9)
|
||||||
line_break
|
comp_box "感谢以下项目及其开发者们的无私奉献!"
|
||||||
separator_line "="
|
|
||||||
content_line "感谢以下项目及其开发者们的无私奉献!"
|
|
||||||
separator_line "="
|
|
||||||
|
|
||||||
content_line "\033[32mClash \033[0m开发:\033[36mDreamacro\033[0m"
|
content_line "\033[32mClash \033[0m开发:\033[36mDreamacro\033[0m"
|
||||||
content_line ""
|
content_line ""
|
||||||
@@ -118,14 +106,11 @@ upgrade() {
|
|||||||
content_line "开发者地址:\033[32mhttps://github.com/DustinWin\033[0m"
|
content_line "开发者地址:\033[32mhttps://github.com/DustinWin\033[0m"
|
||||||
content_line ""
|
content_line ""
|
||||||
|
|
||||||
separator_line "="
|
comp_box "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m"
|
||||||
content_line "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 2
|
sleep 2
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -187,15 +172,12 @@ getscripts() {
|
|||||||
|
|
||||||
setscripts() {
|
setscripts() {
|
||||||
while true; do
|
while true; do
|
||||||
|
|
||||||
comp_box "\033[33m注意:更新时会停止服务!\033[0m" \
|
comp_box "\033[33m注意:更新时会停止服务!\033[0m" \
|
||||||
"" \
|
"" \
|
||||||
"当前脚本版本为:\033[36m$versionsh_l\033[0m" \
|
"当前脚本版本为:\033[36m$versionsh_l\033[0m" \
|
||||||
"最新脚本版本为:\033[32m$version_new\033[0m"
|
"最新脚本版本为:\033[32m$version_new\033[0m"
|
||||||
|
|
||||||
btm_box "1) 立即更新" \
|
btm_box "1) 立即更新" \
|
||||||
"0) 返回上级菜单"
|
"0) 返回上级菜单"
|
||||||
|
|
||||||
read -r -p "请输入对应标号> " res
|
read -r -p "请输入对应标号> " res
|
||||||
case "$res" in
|
case "$res" in
|
||||||
"" | 0)
|
"" | 0)
|
||||||
@@ -210,7 +192,6 @@ setscripts() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -224,7 +205,6 @@ setcpucore() {
|
|||||||
comp_box "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m" \
|
comp_box "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m" \
|
||||||
"不知道如何获取核心版本?\033[0m" \
|
"不知道如何获取核心版本?\033[0m" \
|
||||||
"请参考:\033[36;4mhttps://juewuy.github.io/bdaz\033[0m"
|
"请参考:\033[36;4mhttps://juewuy.github.io/bdaz\033[0m"
|
||||||
|
|
||||||
content_line "当前可供在线下载的处理器架构为:"
|
content_line "当前可供在线下载的处理器架构为:"
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
|
|
||||||
@@ -249,15 +229,13 @@ setcpucore() {
|
|||||||
# 手动指定内核类型
|
# 手动指定内核类型
|
||||||
setcoretype() {
|
setcoretype() {
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash
|
echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash
|
||||||
content_line "\033[33m请确认该自定义内核的类型:\033[0m"
|
comp_box "\033[33m请确认该自定义内核的类型:\033[0m"
|
||||||
separator_line "-"
|
|
||||||
content_line "1) Mihomo(Meta)"
|
content_line "1) Mihomo(Meta)"
|
||||||
content_line "2) Singbox-reF1nd"
|
content_line "2) Singbox-reF1nd"
|
||||||
content_line "3) Singbox"
|
content_line "3) Singbox"
|
||||||
content_line "4) Clash"
|
content_line "4) Clash"
|
||||||
|
content_line ""
|
||||||
content_line "0) 返回上级菜单"
|
content_line "0) 返回上级菜单"
|
||||||
separator_line "="
|
separator_line "="
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
@@ -277,7 +255,6 @@ setcoretype() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
continue
|
continue
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -292,15 +269,11 @@ switch_core() {
|
|||||||
[ "$core_new" != "$core_old" ] && {
|
[ "$core_new" != "$core_old" ] && {
|
||||||
[ "$dns_mod" = "redir_host" ] && [ "$core_old" = "clash" ] && setconfig dns_mod mix #singbox自动切换dns
|
[ "$dns_mod" = "redir_host" ] && [ "$core_old" = "clash" ] && setconfig dns_mod mix #singbox自动切换dns
|
||||||
[ "$dns_mod" = "mix" ] && [ "$crashcore" = 'clash' -o "$crashcore" = 'clashpre' ] && setconfig dns_mod redir_host #singbox自动切换dns
|
[ "$dns_mod" = "mix" ] && [ "$crashcore" = 'clash' -o "$crashcore" = 'clashpre' ] && setconfig dns_mod redir_host #singbox自动切换dns
|
||||||
line_break
|
comp_box "\033[33m已从$core_old内核切换至$core_new内核\033[0m" \
|
||||||
separator_line "="
|
"\033[33m二者Geo数据库及yaml/json配置文件不通用\033[0m" \
|
||||||
content_line "\033[33m已从$core_old内核切换至$core_new内核\033[0m"
|
"是否保留相关数据库文件?"
|
||||||
content_line "\033[33m二者Geo数据库及yaml/json配置文件不通用\033[0m"
|
btm_box "1) 保留" \
|
||||||
content_line "是否保留相关数据库文件?"
|
"0) 不保留"
|
||||||
separator_line "-"
|
|
||||||
content_line "1) 保留"
|
|
||||||
content_line "0) 不保留"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " res
|
read -r -p "请输入对应标号> " res
|
||||||
[ "$res" = '0' ] && {
|
[ "$res" = '0' ] && {
|
||||||
[ "$core_old" = "clash" ] && {
|
[ "$core_old" = "clash" ] && {
|
||||||
@@ -381,12 +354,9 @@ checkcustcore() {
|
|||||||
if [ -s "$TMPDIR"/core.list ]; then
|
if [ -s "$TMPDIR"/core.list ]; then
|
||||||
separator_line "="
|
separator_line "="
|
||||||
|
|
||||||
line_break
|
comp_box "内核版本:\033[36m$release_tag\033[0m" \
|
||||||
separator_line "="
|
"发布时间:\033[33m$release_date\033[0m" \
|
||||||
content_line "内核版本:\033[36m$release_tag\033[0m"
|
"更新时间:\033[32m$update_date\033[0m"
|
||||||
content_line "发布时间:\033[33m$release_date\033[0m"
|
|
||||||
content_line "更新时间:\033[32m$update_date\033[0m"
|
|
||||||
separator_line "-"
|
|
||||||
content_line "\033[33m请确认内核信息并选择:\033[0m"
|
content_line "\033[33m请确认内核信息并选择:\033[0m"
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
grep -oE "$release_tag.*" "$TMPDIR/core.list" |
|
grep -oE "$release_tag.*" "$TMPDIR/core.list" |
|
||||||
@@ -410,12 +380,10 @@ checkcustcore() {
|
|||||||
getcore
|
getcore
|
||||||
else
|
else
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
@@ -485,13 +453,10 @@ setcustcore() {
|
|||||||
checkcustcore
|
checkcustcore
|
||||||
;;
|
;;
|
||||||
9)
|
9)
|
||||||
line_break
|
comp_box "请输入自定义内核的链接地址" \
|
||||||
separator_line "="
|
"(必须是以.tar.gz或.gz结尾的压缩文件)" \
|
||||||
content_line "请输入自定义内核的链接地址"
|
"" \
|
||||||
content_line "(必须是以.tar.gz或.gz结尾的压缩文件)"
|
"或者输入 0 返回上级菜单"
|
||||||
content_line ""
|
|
||||||
content_line "或者输入 0 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入> " link
|
read -r -p "请输入> " link
|
||||||
if [ "$link" = 0 ]; then
|
if [ "$link" = 0 ]; then
|
||||||
continue
|
continue
|
||||||
@@ -503,7 +468,6 @@ setcustcore() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -533,7 +497,6 @@ setziptype() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
setconfig zip_type "$zip_type"
|
setconfig zip_type "$zip_type"
|
||||||
@@ -576,7 +539,6 @@ setcore() {
|
|||||||
content_line "9) 手动指定处理器架构"
|
content_line "9) 手动指定处理器架构"
|
||||||
content_line ""
|
content_line ""
|
||||||
content_line "0 返回上级菜单"
|
content_line "0 返回上级菜单"
|
||||||
|
|
||||||
separator_line "="
|
separator_line "="
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
@@ -585,11 +547,7 @@ setcore() {
|
|||||||
;;
|
;;
|
||||||
1)
|
1)
|
||||||
[ -d "/jffs" ] && {
|
[ -d "/jffs" ] && {
|
||||||
line_break
|
msg_alert -t 2 "\033[31mMeta内核使用的GeoSite.dat数据库在华硕设备存在被系统误删的问题,可能无法使用!\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[31mMeta内核使用的GeoSite.dat数据库在华硕设备存在被系统误删的问题,可能无法使用!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 2
|
|
||||||
}
|
}
|
||||||
crashcore=meta
|
crashcore=meta
|
||||||
custcorelink=''
|
custcorelink=''
|
||||||
@@ -630,7 +588,6 @@ setcore() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -697,25 +654,19 @@ checkcustgeo() {
|
|||||||
while true; do
|
while true; do
|
||||||
[ "$api_tag" = "latest" ] && api_url=latest || api_url="tags/$api_tag"
|
[ "$api_tag" = "latest" ] && api_url=latest || api_url="tags/$api_tag"
|
||||||
[ ! -s "$TMPDIR"/geo.list ] && {
|
[ ! -s "$TMPDIR"/geo.list ] && {
|
||||||
line_break
|
comp_box "\033[32m正在查找可更新的数据库文件......\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[32m正在查找可更新的数据库文件......\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
webget "$TMPDIR"/github_api https://api.github.com/repos/${project}/releases/${api_url}
|
webget "$TMPDIR"/github_api https://api.github.com/repos/${project}/releases/${api_url}
|
||||||
release_tag=$(cat "$TMPDIR"/github_api | grep '"tag_name":' | awk -F '"' '{print $4}')
|
release_tag=$(cat "$TMPDIR"/github_api | grep '"tag_name":' | awk -F '"' '{print $4}')
|
||||||
cat "$TMPDIR"/github_api | grep "browser_download_url" | grep -oE 'releases/download.*' | grep -oiE 'geosite.*\.dat"$|country.*\.mmdb"$|.*.mrs|.*.srs' | sed 's|.*/||' | sed 's/"//' >"$TMPDIR"/geo.list
|
cat "$TMPDIR"/github_api | grep "browser_download_url" | grep -oE 'releases/download.*' | grep -oiE 'geosite.*\.dat"$|country.*\.mmdb"$|.*.mrs|.*.srs' | sed 's|.*/||' | sed 's/"//' >"$TMPDIR"/geo.list
|
||||||
rm -rf "$TMPDIR"/github_api
|
rm -rf "$TMPDIR"/github_api
|
||||||
}
|
}
|
||||||
if [ -s "$TMPDIR"/geo.list ]; then
|
if [ -s "$TMPDIR"/geo.list ]; then
|
||||||
|
comp_box "请选择需要更新的数据库文件:"
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
content_line "请选择需要更新的数据库文件:"
|
|
||||||
separator_line "-"
|
|
||||||
awk '{print NR") "$1}' "$TMPDIR/geo.list" |
|
awk '{print NR") "$1}' "$TMPDIR/geo.list" |
|
||||||
while IFS= read -r line; do
|
while IFS= read -r line; do
|
||||||
content_line "$line"
|
content_line "$line"
|
||||||
done
|
done
|
||||||
|
content_line ""
|
||||||
content_line "0) 返回上级菜单"
|
content_line "0) 返回上级菜单"
|
||||||
separator_line "="
|
separator_line "="
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
@@ -733,21 +684,15 @@ checkcustgeo() {
|
|||||||
getcustgeo
|
getcustgeo
|
||||||
else
|
else
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
line_break
|
msg_alert "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@@ -756,13 +701,11 @@ checkcustgeo() {
|
|||||||
setcustgeo() {
|
setcustgeo() {
|
||||||
while true; do
|
while true; do
|
||||||
rm -rf "$TMPDIR"/geo.list
|
rm -rf "$TMPDIR"/geo.list
|
||||||
line_break
|
comp_box "\033[36m此处数据库均源自互联网采集,此处致谢各位开发者!\033[0m" \
|
||||||
separator_line "="
|
"\033[32m请点击或复制链接前往项目页面查看具体说明!\033[0m" \
|
||||||
content_line "\033[36m此处数据库均源自互联网采集,此处致谢各位开发者!\033[0m"
|
"\033[31m自定义数据库不支持定时任务及小闪存模式!\033[0m" \
|
||||||
content_line "\033[32m请点击或复制链接前往项目页面查看具体说明!\033[0m"
|
"\033[33m如遇到网络错误请先启动ShellCrash服务!\033[0m"
|
||||||
content_line "\033[31m自定义数据库不支持定时任务及小闪存模式!\033[0m"
|
|
||||||
content_line "\033[33m如遇到网络错误请先启动ShellCrash服务!\033[0m"
|
|
||||||
separator_line "-"
|
|
||||||
content_line "\033[0m请选择需要更新的数据库项目来源:\033[0m"
|
content_line "\033[0m请选择需要更新的数据库项目来源:\033[0m"
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
content_line "1) \033[36;4mhttps://github.com/MetaCubeX/meta-rules-dat\033[0m"
|
content_line "1) \033[36;4mhttps://github.com/MetaCubeX/meta-rules-dat\033[0m"
|
||||||
@@ -781,6 +724,7 @@ setcustgeo() {
|
|||||||
sub_content_line "(仅限Clash-GeoIP)"
|
sub_content_line "(仅限Clash-GeoIP)"
|
||||||
|
|
||||||
content_line "9) \033[33m自定义数据库链接 \033[0m"
|
content_line "9) \033[33m自定义数据库链接 \033[0m"
|
||||||
|
content_line ""
|
||||||
content_line "0) 返回上级菜单"
|
content_line "0) 返回上级菜单"
|
||||||
separator_line "="
|
separator_line "="
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
@@ -821,7 +765,6 @@ setcustgeo() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -829,15 +772,13 @@ setcustgeo() {
|
|||||||
|
|
||||||
setgeo() {
|
setgeo() {
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
|
||||||
. $CFG_PATH >/dev/null
|
. $CFG_PATH >/dev/null
|
||||||
[ -n "$cn_mini_v" ] && geo_type_des=精简版 || geo_type_des=全球版
|
[ -n "$cn_mini_v" ] && geo_type_des=精简版 || geo_type_des=全球版
|
||||||
separator_line "="
|
comp_box "\033[33m注意:Mihomo内核和SingBox内核的数据库文件不通用\033[0m" \
|
||||||
content_line "\033[33m注意:Mihomo内核和SingBox内核的数据库文件不通用\033[0m"
|
"在线数据库最新版本(每日同步上游):\033[32m$GeoIP_v\033[0m" \
|
||||||
content_line "在线数据库最新版本(每日同步上游):\033[32m$GeoIP_v\033[0m"
|
"" \
|
||||||
content_line ""
|
"请选择需要更新的Geo数据库文件:"
|
||||||
content_line "请选择需要更新的Geo数据库文件:"
|
|
||||||
separator_line "="
|
|
||||||
content_line "1) CN-IP绕过文件(约0.1mb) \033[33m$china_ip_list_v\033[0m"
|
content_line "1) CN-IP绕过文件(约0.1mb) \033[33m$china_ip_list_v\033[0m"
|
||||||
content_line "2) CN-IPV6绕过文件(约30kb) \033[33m$china_ipv6_list_v\033[0m"
|
content_line "2) CN-IPV6绕过文件(约30kb) \033[33m$china_ipv6_list_v\033[0m"
|
||||||
content_line ""
|
content_line ""
|
||||||
@@ -892,12 +833,10 @@ setgeo() {
|
|||||||
;;
|
;;
|
||||||
9)
|
9)
|
||||||
while true; do
|
while true; do
|
||||||
comp_box "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m"
|
comp_box "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m" \
|
||||||
"清理后启动服务即可自动下载所需文件"
|
"清理后启动服务即可自动下载所需文件"
|
||||||
|
btm_box "1) 确认清理" \
|
||||||
content_line "1) 确认清理"
|
"0) 返回上级菜单"
|
||||||
content_line "0) 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " res
|
read -r -p "请输入对应标号> " res
|
||||||
case "$res" in
|
case "$res" in
|
||||||
"" | 0)
|
"" | 0)
|
||||||
@@ -916,14 +855,12 @@ setgeo() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -974,16 +911,10 @@ getdb() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dbdir() {
|
dbdir() {
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if [ -f /www/clash/CNAME ] || [ -f "$CRASHDIR"/ui/CNAME ]; then
|
if [ -f /www/clash/CNAME ] || [ -f "$CRASHDIR"/ui/CNAME ]; then
|
||||||
content_line "\033[33m检测到已经安装过本地面板\033[0m"
|
comp_box "\033[33m检测到已经安装过本地面板\033[0m"
|
||||||
separator_line "="
|
btm_box "1) 升级/覆盖安装" \
|
||||||
content_line "请选择操作:"
|
"0) 返回上级菜单"
|
||||||
separator_line "-"
|
|
||||||
content_line "1) 升级/覆盖安装"
|
|
||||||
content_line "0) 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " res
|
read -r -p "请输入对应标号> " res
|
||||||
if [ "$res" = 1 ]; then
|
if [ "$res" = 1 ]; then
|
||||||
rm -rf "$BINDIR"/ui
|
rm -rf "$BINDIR"/ui
|
||||||
@@ -994,15 +925,12 @@ dbdir() {
|
|||||||
msg_alert "\033[33m安装已取消\033[0m"
|
msg_alert "\033[33m安装已取消\033[0m"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif [ -w /www ] && [ -n "$(pidof nginx)" ]; then
|
elif [ -w /www ] && [ -n "$(pidof nginx)" ]; then
|
||||||
separator_line "请选择面板\033[33m安装目录:\033[0m"
|
comp_box "请选择面板\033[33m安装目录:\033[0m"
|
||||||
separator_line "="
|
btm_box "1) 在${CRASHDIR}/ui目录安装" \
|
||||||
content_line "1) 在${CRASHDIR}/ui目录安装"
|
"2) 在/www/clash目录安装" \
|
||||||
content_line "2) 在/www/clash目录安装"
|
"" \
|
||||||
content_line ""
|
"0) 返回上级菜单"
|
||||||
separator_line "0) 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
"" | 0)
|
"" | 0)
|
||||||
@@ -1020,7 +948,6 @@ dbdir() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
return 1
|
return 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -1033,13 +960,10 @@ dbdir() {
|
|||||||
|
|
||||||
setdb() {
|
setdb() {
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
comp_box "\033[36m安装 dashboard 管理面板到本地\033[0m" \
|
||||||
separator_line "="
|
"\033[32m打开管理面板的速度更快且更稳定\033[0m" \
|
||||||
content_line "\033[36m安装 dashboard 管理面板到本地\033[0m"
|
"" \
|
||||||
content_line "\033[32m打开管理面板的速度更快且更稳定\033[0m"
|
"请选择面板安装类型:"
|
||||||
separator_line "="
|
|
||||||
content_line "请选择面板安装类型:"
|
|
||||||
separator_line "-"
|
|
||||||
content_line " - - - - - - -维护中- - - - - - -"
|
content_line " - - - - - - -维护中- - - - - - -"
|
||||||
content_line "1) 安装\033[32mzashboard面板\033[0m(约2.2mb)"
|
content_line "1) 安装\033[32mzashboard面板\033[0m(约2.2mb)"
|
||||||
content_line "2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)"
|
content_line "2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)"
|
||||||
@@ -1049,9 +973,9 @@ setdb() {
|
|||||||
content_line "5) 安装\033[32mMeta基础面板\033[0m(约800kb)"
|
content_line "5) 安装\033[32mMeta基础面板\033[0m(约800kb)"
|
||||||
content_line "6) 安装\033[32mYacd面板\033[0m(约1.1mb)"
|
content_line "6) 安装\033[32mYacd面板\033[0m(约1.1mb)"
|
||||||
content_line "9) \033[31m卸载本地面板\033[0m"
|
content_line "9) \033[31m卸载本地面板\033[0m"
|
||||||
|
content_line ""
|
||||||
content_line "0) 返回上级菜单"
|
content_line "0) 返回上级菜单"
|
||||||
separator_line "="
|
separator_line "="
|
||||||
|
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
"" | 0)
|
"" | 0)
|
||||||
@@ -1085,13 +1009,9 @@ setdb() {
|
|||||||
;;
|
;;
|
||||||
9)
|
9)
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
comp_box "是否卸载本地面板?"
|
||||||
separator_line "="
|
btm_box "1) 确认卸载" \
|
||||||
content_line "是否卸载本地面板:"
|
"0) 返回上级菜单"
|
||||||
separator_line "="
|
|
||||||
content_line "1) 确认卸载"
|
|
||||||
content_line "0) 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " res
|
read -r -p "请输入对应标号> " res
|
||||||
case "$res" in
|
case "$res" in
|
||||||
"" | 0)
|
"" | 0)
|
||||||
@@ -1106,14 +1026,12 @@ setdb() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -1184,7 +1102,6 @@ setcrt() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
continue
|
continue
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -1275,12 +1192,9 @@ setserver() {
|
|||||||
;;
|
;;
|
||||||
c)
|
c)
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
comp_box "\033[33m开发版未经过妥善测试,可能依然存在大量bug!!!\033[0m" \
|
||||||
separator_line "="
|
"\033[33m如果你没有足够的耐心或者测试经验,切勿使用此版本!\033[0m" \
|
||||||
content_line "\033[33m开发版未经过妥善测试,可能依然存在大量bug!!!\033[0m"
|
"请务必加入我们的讨论组:\033[36;4mhttps://t.me/ShellClash\033[0m"
|
||||||
content_line "\033[33m如果你没有足够的耐心或者测试经验,切勿使用此版本!\033[0m"
|
|
||||||
content_line "请务必加入我们的讨论组:\033[36;4mhttps://t.me/ShellClash\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
content_line "是否依然切换到开发版:"
|
content_line "是否依然切换到开发版:"
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
content_line "1) 确认切换"
|
content_line "1) 确认切换"
|
||||||
@@ -1299,18 +1213,13 @@ setserver() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
d)
|
d)
|
||||||
line_break
|
comp_box "请直接输入个人源路径" \
|
||||||
separator_line "="
|
"或者输入 0 返回上级菜单"
|
||||||
content_line "请直接输入个人源路径"
|
|
||||||
content_line ""
|
|
||||||
content_line "或者输入 0 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入个人源路径> " update_url
|
read -r -p "请输入个人源路径> " update_url
|
||||||
if [ "$update_url" = 0 ]; then
|
if [ "$update_url" = 0 ]; then
|
||||||
continue
|
continue
|
||||||
@@ -1321,9 +1230,9 @@ setserver() {
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
e)
|
e)
|
||||||
|
if [ -n "$url_id" ] && [ "$url_id" -lt 200 ]; then
|
||||||
line_break
|
line_break
|
||||||
separator_line "="
|
separator_line "="
|
||||||
if [ -n "$url_id" ] && [ "$url_id" -lt 200 ]; then
|
|
||||||
content_line "\033[32m正在获取版本信息......\033[0m"
|
content_line "\033[32m正在获取版本信息......\033[0m"
|
||||||
. "$CRASHDIR"/libs/web_get_lite.sh
|
. "$CRASHDIR"/libs/web_get_lite.sh
|
||||||
web_get_lite https://github.com/juewuy/ShellCrash/tags | grep -o 'releases/tag/.*data' | awk -F '/' '{print $3}' | sed 's/".*//g' >"$TMPDIR"/tags
|
web_get_lite https://github.com/juewuy/ShellCrash/tags | grep -o 'releases/tag/.*data' | awk -F '/' '{print $3}' | sed 's/".*//g' >"$TMPDIR"/tags
|
||||||
@@ -1352,7 +1261,6 @@ setserver() {
|
|||||||
saveserver
|
saveserver
|
||||||
else
|
else
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
@@ -1363,16 +1271,13 @@ setserver() {
|
|||||||
fi
|
fi
|
||||||
rm -rf "$TMPDIR"/tags
|
rm -rf "$TMPDIR"/tags
|
||||||
else
|
else
|
||||||
content_line "\033[31m当前源不支持版本回退\033[0m"
|
msg_alert "\033[31m当前源不支持版本回退\033[0m" \
|
||||||
content_line "\033[31m请尝试更换其他安装源!\033[0m"
|
"\033[31m请尝试更换其他安装源!\033[0m"
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user