From 757331c7e21b9a3c40d0b49aa9a250185bbca446 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=AC=E5=93=A5=E4=BE=83=E4=BE=83=E4=BE=83ygkkk?= <121604513+yonggekkk@users.noreply.github.com> Date: Tue, 11 Feb 2025 09:47:27 +0800 Subject: [PATCH] Update serv00.sh --- serv00.sh | 81 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 58 insertions(+), 23 deletions(-) diff --git a/serv00.sh b/serv00.sh index 955755a..11e9af3 100644 --- a/serv00.sh +++ b/serv00.sh @@ -152,6 +152,8 @@ sleep 2 echo download_and_run_singbox cd + fastrun + green "创建快捷方式:sb" echo servkeep cd $WORKDIR @@ -165,7 +167,9 @@ uninstall_singbox() { case "$choice" in [Yy]) bash -c 'ps aux | grep $(whoami) | grep -v "sshd\|bash\|grep" | awk "{print \$2}" | xargs -r kill -9 >/dev/null 2>&1' >/dev/null 2>&1 - rm -rf domains serv00.sh serv00keep.sh + rm -rf domains bin serv00keep.sh + sed -i '/export PATH="\$HOME\/bin:\$PATH"/d' "${HOME}/.bashrc" >/dev/null 2>&1 + source "${HOME}/.bashrc" #crontab -l | grep -v "serv00keep" >rmcron #crontab rmcron >/dev/null 2>&1 #rm rmcron @@ -182,7 +186,9 @@ reading "\n清理所有进程并清空所有安装内容,将退出ssh连接, case "$choice" in [Yy]) bash -c 'ps aux | grep $(whoami) | grep -v "sshd\|bash\|grep" | awk "{print \$2}" | xargs -r kill -9 >/dev/null 2>&1' >/dev/null 2>&1 - rm -rf domains serv00.sh serv00keep.sh + rm -rf domains bin serv00keep.sh + sed -i '/export PATH="\$HOME\/bin:\$PATH"/d' "${HOME}/.bashrc" >/dev/null 2>&1 + source "${HOME}/.bashrc" #crontab -l | grep -v "serv00keep" >rmcron #crontab rmcron >/dev/null 2>&1 #rm rmcron @@ -1128,7 +1134,7 @@ if [[ -e $WORKDIR/list.txt ]]; then green "查看节点及proxyip/非标端口反代ip信息" cat $WORKDIR/list.txt else -red "未安装sing-box" && exit +red "未安装脚本,请选择1进行安装" && exit fi } @@ -1146,7 +1152,7 @@ sleep 2 cat $WORKDIR/clash_meta.yaml echo else -red "未安装sing-box" && exit +red "未安装脚本,请选择1进行安装" && exit fi } @@ -1218,27 +1224,45 @@ okip(){ echo "$IP" } +fastrun(){ +if [[ -e $WORKDIR/config.json ]]; then + COMMAND="sb" + SCRIPT_PATH="$HOME/bin/$COMMAND" + mkdir -p "$HOME/bin" + curl -Ls https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00.sh > "$SCRIPT_PATH" + chmod +x "$SCRIPT_PATH" + if [[ ":$PATH:" != *":$HOME/bin:"* ]]; then + echo "export PATH=\"\$HOME/bin:\$PATH\"" >> "$HOME/.bashrc" + source "$HOME/.bashrc" + fi + curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/sversion | awk -F "更新内容" '{print $1}' | head -n 1 > $WORKDIR/v + else + red "未安装脚本,请选择1进行安装" && exit + fi +} #主菜单 menu() { clear echo "============================================================" - purple "修改自Serv00|ct8老王sing-box安装脚本" + purple "修改自Serv00老王sing-box安装脚本" purple "转载请著名出自老王,请勿滥用" green "甬哥Github项目 :github.com/yonggekkk" green "甬哥Blogger博客 :ygkkk.blogspot.com" green "甬哥YouTube频道 :www.youtube.com/@ygkkk" - green "一键三协议共存:vless-reality、Vmess-ws(Argo)、hysteria2" - green "当前脚本版本:V25.1.27 快捷方式:bash serv00.sh" + green "serv00-sb-yg三协议共存:vless-reality、Vmess-ws(Argo)、Hy2" + green "脚本快捷方式:sb" echo "============================================================" - green "1. 安装sing-box" + green "1. 一键安装 serv00-sb-yg" echo "------------------------------------------------------------" - red "2. 卸载sing-box" + red "2. 卸载删除 serv00-sb-yg" echo "------------------------------------------------------------" - green "3. 查看:各节点分享/sing-box与clash-meta订阅链接/CF节点proxyip" + green "3. 升级更新 serv00-sb-yg" echo "------------------------------------------------------------" - green "4. 查看:sing-box与clash-meta配置文件" + green "4. 查看各节点分享/sing-box与clash订阅链接/CF节点proxyip" echo "------------------------------------------------------------" - yellow "5. 重置并清理所有服务进程(系统初始化)" + green "5. 查看sing-box与clash配置文件" + echo "------------------------------------------------------------" + yellow "6. 重置并清理所有服务进程(系统初始化)" echo "------------------------------------------------------------" red "0. 退出脚本" echo "============================================================" @@ -1268,8 +1292,17 @@ green "Serv00服务器名称:$snb" green "当前可选择的IP如下:" cat $WORKDIR/ip.txt echo -if [[ -e $WORKDIR/list.txt ]]; then -green "已安装sing-box" +insV=$(cat $WORKDIR/v 2>/dev/null) +latestV=$(curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/sversion | awk -F "更新内容" '{print $1}' | head -n 1) +if [ -f $WORKDIR/v ]; then +if [ "$insV" = "$latestV" ]; then +echo -e "当前 serv00-sb-yg 脚本最新版:${purple}${insV}${re} (已安装)" +else +echo -e "当前 serv00-sb-yg 脚本版本号:${purple}${insV}${re}" +echo -e "检测到最新 serv00-sb-yg 脚本版本号:${yellow}${latestV}${re} (可选择3进行更新)" +echo -e "${yellow}$(curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/sversion)${re}" +fi +echo -e "=========================================================" ps aux | grep '[r]un -c con' > /dev/null && green "主进程运行正常" || yellow "主进程未启动…………请刷新一下保活网页" if [ -f "$WORKDIR/boot.log" ] && grep -q "trycloudflare.com" "$WORKDIR/boot.log" 2>/dev/null && ps aux | grep '[t]unnel --u' > /dev/null; then argosl=$(cat "$WORKDIR/boot.log" 2>/dev/null | grep -a trycloudflare.com | awk 'NR==2{print}' | awk -F// '{print $2}' | awk '{print $1}') @@ -1304,20 +1337,22 @@ green "保活网页:http://${snb}.${USERNAME}.serv00.net/up" #green "Cron保活运行正常。打开 http://${USERNAME}.${USERNAME}.serv00.net/up 也可实时保活" #fi else -red "未安装sing-box,请选择 1 进行安装" +echo -e "当前 serv00-sb-yg 脚本版本号:${purple}${latestV}${re}" +yellow "未安装 serv00-sb-yg 脚本!请先选择 1 安装" fi -curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00.sh -o serv00.sh && chmod +x serv00.sh - echo "=========================================================" - reading "请输入选择【0-5】: " choice - echo "" +#curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00.sh -o serv00.sh && chmod +x serv00.sh + echo -e "=========================================================" + reading "请输入选择【0-6】: " choice + echo case "${choice}" in 1) install_singbox ;; 2) uninstall_singbox ;; - 3) showlist ;; - 4) showsbclash ;; - 5) kill_all_tasks ;; + 3) fastrun && green "脚本已更新成功" && sleep 2 && sb ;; + 4) showlist ;; + 5) showsbclash ;; + 6) kill_all_tasks ;; 0) exit 0 ;; - *) red "无效的选项,请输入 0 到 5" ;; + *) red "无效的选项,请输入 0 到 6" ;; esac } menu