From 145e283585effe8805737137a706db05605fe2ee 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, 25 Feb 2025 08:21:11 +0800 Subject: [PATCH 01/49] Update serv00.sh --- serv00.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serv00.sh b/serv00.sh index a123050..c24c82c 100644 --- a/serv00.sh +++ b/serv00.sh @@ -16,7 +16,7 @@ devil www add ${USERNAME}.serv00.net php > /dev/null 2>&1 FILE_PATH="${HOME}/domains/${USERNAME}.serv00.net/public_html" WORKDIR="${HOME}/domains/${USERNAME}.serv00.net/logs" [ -d "$WORKDIR" ] || (mkdir -p "$WORKDIR" && chmod 777 "$WORKDIR") -curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 +#curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 devil binexec on >/dev/null 2>&1 read_ip() { @@ -1237,7 +1237,7 @@ cd "$keep_path" npm install basic-auth express dotenv axios --silent > /dev/null 2>&1 rm $HOME/domains/${snb}.${USERNAME}.serv00.net/public_nodejs/public/index.html > /dev/null 2>&1 devil www restart ${snb}.${USERNAME}.serv00.net -curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 +#curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 green "安装完毕,多功能主页地址:http://${snb}.${USERNAME}.serv00.net" && sleep 2 } From d3658a8c1c4bb741008043759581ab04cc5b7a3d 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, 25 Feb 2025 08:53:33 +0800 Subject: [PATCH 02/49] Update serv00.sh --- serv00.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/serv00.sh b/serv00.sh index c24c82c..86b30d7 100644 --- a/serv00.sh +++ b/serv00.sh @@ -68,6 +68,8 @@ devil port del "$port_type" "$port" done <<< "$portlist" fi check_port + + } check_port () { @@ -126,10 +128,10 @@ if [[ $tcp_ports -ne 2 || $udp_ports -ne 1 ]]; then fi done fi - green "端口已调整完成,将断开ssh连接,请重新连接shh重新执行脚本" - devil binexec on >/dev/null 2>&1 - kill -9 $(ps -o ppid= -p $$) >/dev/null 2>&1 - sleep 2 + #green "端口已调整完成,将断开ssh连接,请重新连接shh重新执行脚本" + #devil binexec on >/dev/null 2>&1 + #kill -9 $(ps -o ppid= -p $$) >/dev/null 2>&1 + #sleep 2 else tcp_ports=$(echo "$port_list" | awk '/tcp/ {print $1}') tcp_port1=$(echo "$tcp_ports" | sed -n '1p') From aa8f694efdd404c438802cc578070dcd790dfe41 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, 25 Feb 2025 09:00:44 +0800 Subject: [PATCH 03/49] Update serv00.sh --- serv00.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serv00.sh b/serv00.sh index 86b30d7..c3969db 100644 --- a/serv00.sh +++ b/serv00.sh @@ -1360,7 +1360,7 @@ if [[ -n $portlist ]]; then green "已设置的端口如下:" echo -e "$portlist" else -yellow "未设置端口!请先选择 7 随机生成端口,再选择 1 安装脚本" +yellow "未设置端口" fi echo insV=$(cat $WORKDIR/v 2>/dev/null) From 4d9e20cce0e500beca5f379b88ecb92b3c1ded1d 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, 25 Feb 2025 09:53:10 +0800 Subject: [PATCH 04/49] Update serv00.sh --- serv00.sh | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/serv00.sh b/serv00.sh index c3969db..54c0705 100644 --- a/serv00.sh +++ b/serv00.sh @@ -68,8 +68,23 @@ devil port del "$port_type" "$port" done <<< "$portlist" fi check_port - - +if ps aux | grep '[r]un -c con' > /dev/null; then +purple "检测到Sing-box主进程运行中,执行端口替换,请稍等……" +sed -i '' "12s/$hyp/$hy2_port/g" $WORKDIR/config.json +sed -i '' "33s/$hyp/$hy2_port/g" $WORKDIR/config.json +sed -i '' "54s/$hyp/$hy2_port/g" $WORKDIR/config.json +sed -i '' "75s/$vlp/$vless_port/g" $WORKDIR/config.json +sed -i '' "102s/$vmp/$vmess_port/g" $WORKDIR/config.json +sed -i '' -e "17s|$vlp|'$vless_port'|" serv00keep.sh +sed -i '' -e "18s|$vmp|'$vmess_port'|" serv00keep.sh +sed -i '' -e "19s|$hyp|'$hy2_port'|" serv00keep.sh +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 +curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 +sleep 5 +green "端口替换完成!" +green "Argo临时隧道域名已变更,请在客户端更改下host/sni域名" +green "Argo固定隧道已失效,请在CF更改隧道端口后重启脚本" +fi } check_port () { From e73a6393d220cf7661ba59936543c96c566c6579 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, 25 Feb 2025 10:16:44 +0800 Subject: [PATCH 05/49] Update serv00.sh --- serv00.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/serv00.sh b/serv00.sh index 54c0705..0ebaaeb 100644 --- a/serv00.sh +++ b/serv00.sh @@ -69,6 +69,9 @@ done <<< "$portlist" fi check_port if ps aux | grep '[r]un -c con' > /dev/null; then +hyp=$(jq -r '.inbounds[0].listen_port' domains/ygkkk14.serv00.net/logs/config.json 2>/dev/null) +vlp=$(jq -r '.inbounds[3].listen_port' domains/ygkkk14.serv00.net/logs/config.json 2>/dev/null) +vmp=$(jq -r '.inbounds[4].listen_port' domains/ygkkk14.serv00.net/logs/config.json 2>/dev/null) purple "检测到Sing-box主进程运行中,执行端口替换,请稍等……" sed -i '' "12s/$hyp/$hy2_port/g" $WORKDIR/config.json sed -i '' "33s/$hyp/$hy2_port/g" $WORKDIR/config.json From 43ee3b117d64aba058454b01ad79ae0c4a76c4fe 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, 25 Feb 2025 10:59:55 +0800 Subject: [PATCH 06/49] Update serv00.sh --- serv00.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/serv00.sh b/serv00.sh index 0ebaaeb..a041589 100644 --- a/serv00.sh +++ b/serv00.sh @@ -68,11 +68,11 @@ devil port del "$port_type" "$port" done <<< "$portlist" fi check_port -if ps aux | grep '[r]un -c con' > /dev/null; then -hyp=$(jq -r '.inbounds[0].listen_port' domains/ygkkk14.serv00.net/logs/config.json 2>/dev/null) -vlp=$(jq -r '.inbounds[3].listen_port' domains/ygkkk14.serv00.net/logs/config.json 2>/dev/null) -vmp=$(jq -r '.inbounds[4].listen_port' domains/ygkkk14.serv00.net/logs/config.json 2>/dev/null) -purple "检测到Sing-box主进程运行中,执行端口替换,请稍等……" +if [[ -e $WORKDIR/config.json ]]; then +hyp=$(jq -r '.inbounds[0].listen_port' $WORKDIR/config.json 2>/dev/null) +vlp=$(jq -r '.inbounds[3].listen_port' $WORKDIR/config.json 2>/dev/null) +vmp=$(jq -r '.inbounds[4].listen_port' $WORKDIR/config.json 2>/dev/null) +purple "检测到Serv00-sb-yg脚本已安装,执行端口替换,请稍等……" sed -i '' "12s/$hyp/$hy2_port/g" $WORKDIR/config.json sed -i '' "33s/$hyp/$hy2_port/g" $WORKDIR/config.json sed -i '' "54s/$hyp/$hy2_port/g" $WORKDIR/config.json @@ -85,8 +85,12 @@ bash -c 'ps aux | grep $(whoami) | grep -v "sshd\|bash\|grep" | awk "{print \$2} curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 sleep 5 green "端口替换完成!" -green "Argo临时隧道域名已变更,请在客户端更改下host/sni域名" -green "Argo固定隧道已失效,请在CF更改隧道端口后重启脚本" +ps aux | grep '[r]un -c con' > /dev/null && green "Sing-box主进程启动成功" || yellow "Sing-box主进程启动失败,交给保活网页自动恢复吧" +if [ -f "$WORKDIR/boot.log" ]; then +ps aux | grep '[t]unnel --u' > /dev/null && green "Argo临时隧道启动成功,请在客户端的host/sni更新临时域名" || yellow "Argo临时隧道启动失败,交给保活网页自动恢复吧" +else +ps aux | grep '[t]unnel --n' > /dev/null && green "Argo固定隧道启动成功" || yellow "Argo固定隧道启动失败,请在CF更改隧道端口后重启脚本" +fi fi } From c58172a029aaa72aeaa77057e4917c1c9fc36931 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, 25 Feb 2025 11:17:22 +0800 Subject: [PATCH 07/49] Update serv00keep.sh --- serv00keep.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serv00keep.sh b/serv00keep.sh index 95c4e50..8bc5994 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -193,10 +193,10 @@ if [[ $tcp_ports -ne 2 || $udp_ports -ne 1 ]]; then fi done fi - echo "端口已调整完成,将断开ssh连接" + #echo "端口已调整完成,将断开ssh连接" sleep 3 - devil binexec on >/dev/null 2>&1 - kill -9 $(ps -o ppid= -p $$) >/dev/null 2>&1 + #devil binexec on >/dev/null 2>&1 + #kill -9 $(ps -o ppid= -p $$) >/dev/null 2>&1 else tcp_ports=$(echo "$port_list" | awk '/tcp/ {print $1}') tcp_port1=$(echo "$tcp_ports" | sed -n '1p') From 4e03c483162c11c1fce10c2bf50c71a84c32dc50 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, 25 Feb 2025 11:18:25 +0800 Subject: [PATCH 08/49] Update serv00.sh --- serv00.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serv00.sh b/serv00.sh index a041589..cc7d9b3 100644 --- a/serv00.sh +++ b/serv00.sh @@ -153,7 +153,7 @@ if [[ $tcp_ports -ne 2 || $udp_ports -ne 1 ]]; then #green "端口已调整完成,将断开ssh连接,请重新连接shh重新执行脚本" #devil binexec on >/dev/null 2>&1 #kill -9 $(ps -o ppid= -p $$) >/dev/null 2>&1 - #sleep 2 + sleep 3 else tcp_ports=$(echo "$port_list" | awk '/tcp/ {print $1}') tcp_port1=$(echo "$tcp_ports" | sed -n '1p') From 2a12fec65eafe674f2d56d3f89ccfa29897d9b6d 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, 25 Feb 2025 11:20:24 +0800 Subject: [PATCH 09/49] Update serv00.sh --- serv00.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serv00.sh b/serv00.sh index cc7d9b3..a2f9bf5 100644 --- a/serv00.sh +++ b/serv00.sh @@ -16,7 +16,7 @@ devil www add ${USERNAME}.serv00.net php > /dev/null 2>&1 FILE_PATH="${HOME}/domains/${USERNAME}.serv00.net/public_html" WORKDIR="${HOME}/domains/${USERNAME}.serv00.net/logs" [ -d "$WORKDIR" ] || (mkdir -p "$WORKDIR" && chmod 777 "$WORKDIR") -#curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 +curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 devil binexec on >/dev/null 2>&1 read_ip() { @@ -1261,7 +1261,7 @@ cd "$keep_path" npm install basic-auth express dotenv axios --silent > /dev/null 2>&1 rm $HOME/domains/${snb}.${USERNAME}.serv00.net/public_nodejs/public/index.html > /dev/null 2>&1 devil www restart ${snb}.${USERNAME}.serv00.net -#curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 +curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 green "安装完毕,多功能主页地址:http://${snb}.${USERNAME}.serv00.net" && sleep 2 } From 4dc678c982c0381c991042b0ec21e52b7b6a3e9e 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, 25 Feb 2025 12:10:09 +0800 Subject: [PATCH 10/49] Update serv00.sh --- serv00.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/serv00.sh b/serv00.sh index a2f9bf5..9667bf3 100644 --- a/serv00.sh +++ b/serv00.sh @@ -85,11 +85,11 @@ bash -c 'ps aux | grep $(whoami) | grep -v "sshd\|bash\|grep" | awk "{print \$2} curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 sleep 5 green "端口替换完成!" -ps aux | grep '[r]un -c con' > /dev/null && green "Sing-box主进程启动成功" || yellow "Sing-box主进程启动失败,交给保活网页自动恢复吧" +ps aux | grep '[r]un -c con' > /dev/null && green "Sing-box主进程启动成功,单节点用户修改下客户端三协议端口,订阅链接用户更新下订阅即可" || yellow "Sing-box主进程启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" if [ -f "$WORKDIR/boot.log" ]; then -ps aux | grep '[t]unnel --u' > /dev/null && green "Argo临时隧道启动成功,请在客户端的host/sni更新临时域名" || yellow "Argo临时隧道启动失败,交给保活网页自动恢复吧" +ps aux | grep '[t]unnel --u' > /dev/null && green "Argo临时隧道启动成功,单节点用户在客户端host/sni更换临时域名,订阅链接用户更新下订阅即可" || yellow "Argo临时隧道启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" else -ps aux | grep '[t]unnel --n' > /dev/null && green "Argo固定隧道启动成功" || yellow "Argo固定隧道启动失败,请在CF更改隧道端口后重启脚本" +ps aux | grep '[t]unnel --n' > /dev/null && green "Argo固定隧道启动成功" || yellow "Argo固定隧道启动失败,请先在CF更改隧道端口:$vmess_port,多刷几次保活网页可能会自动恢复" fi fi } @@ -1342,9 +1342,9 @@ menu() { echo "------------------------------------------------------------" green "6. 查看sing-box与clash配置文件" echo "------------------------------------------------------------" - yellow "7. 删除所有端口并随机生成新端口" + yellow "7. 重置并随机生成新端口(脚本安装前后都可执行)" echo "------------------------------------------------------------" - yellow "8. 重置并清理所有服务进程(系统初始化)" + yellow "8. 清理所有服务进程与文件(系统初始化)" echo "------------------------------------------------------------" red "0. 退出脚本" echo "============================================================" From 163029b19122ca9a191068b422a7caa02a8e7079 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, 25 Feb 2025 12:27:59 +0800 Subject: [PATCH 11/49] Update kp.sh --- kp.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/kp.sh b/kp.sh index 00445fd..aba9b09 100644 --- a/kp.sh +++ b/kp.sh @@ -2,13 +2,13 @@ # 定时设置:*/10 * * * * /bin/bash /root/kp.sh 每10分钟运行一次 # serv00变量添加规则: # 推荐:为确保节点可用性,建议在Serv00网页不设置端口,脚本会随机生成有效端口,首次运行会中断SSH,请把RES设置为n再执行即可 -# RES(必填):n表示每次不重置部署,y表示每次重置部署。REP(必填):n表示不重置随机端口,y表示重置端口(三个端口留空)。SSH_USER(必填)表示serv00账号名。SSH_PASS(必填)表示serv00密码。REALITY表示reality域名(留空表示serv00官方域名:你serv00账号名.serv00.net)。SUUID表示uuid(留空表示随机uuid)。TCP1_PORT表示vless的tcp端口(留空表示随机tcp端口)。TCP2_PORT表示vmess的tcp端口(留空表示随机tcp端口)。UDP_PORT表示hy2的udp端口(留空表示随机udp端口)。HOST(必填)表示登录serv00服务器域名。ARGO_DOMAIN表示argo固定域名(留空表示临时域名)。ARGO_AUTH表示argo固定域名token(留空表示临时域名)。 +# RES(必填):n表示每次不重置部署,y表示每次重置部署。REP(必填):n表示不重置随机端口(三个端口留空),y表示重置端口(三个端口留空)。SSH_USER(必填)表示serv00账号名。SSH_PASS(必填)表示serv00密码。REALITY表示reality域名(留空表示serv00官方域名:你serv00账号名.serv00.net)。SUUID表示uuid(留空表示随机uuid)。TCP1_PORT表示vless的tcp端口(留空表示随机tcp端口)。TCP2_PORT表示vmess的tcp端口(留空表示随机tcp端口)。UDP_PORT表示hy2的udp端口(留空表示随机udp端口)。HOST(必填)表示登录serv00服务器域名。ARGO_DOMAIN表示argo固定域名(留空表示临时域名)。ARGO_AUTH表示argo固定域名token(留空表示临时域名)。 # 必填变量:RES、REP、SSH_USER、SSH_PASS、HOST # 注意[]"",:这些符号不要乱删,按规律对齐 # 每行一个{serv00服务器},一个服务也可,末尾用,间隔,最后一个服务器末尾无需用,间隔 ACCOUNTS='[ {"RES":"n", "REP":"n", "SSH_USER":"你的serv00账号名", "SSH_PASS":"你的serv00账号密码", "REALITY":"你serv00账号名.serv00.net", "SUUID":"自设UUID", "TCP1_PORT":"vless的tcp端口", "TCP2_PORT":"vmess的tcp端口", "UDP_PORT":"hy2的udp端口", "HOST":"s1.serv00.com", "ARGO_DOMAIN":"", "ARGO_AUTH":""}, -{"RES":"y", "REP":"y", "SSH_USER":"123456", "SSH_PASS":"7890000", "REALITY":"time.is", "SUUID":"73203ee6-b3fa-4a3d-b5df-6bb2f55073ad", "TCP1_PORT":"55254", "TCP2_PORT":"55255", "UDP_PORT":"55256", "HOST":"s16.serv00.com", "ARGO_DOMAIN":"你的argo固定域名", "ARGO_AUTH":"eyJhIjoiOTM3YzFjYWI88552NTFiYTM4ZTY0ZDQzRmlNelF0TkRBd1pUQTRNVEJqTUdVeCJ9"} +{"RES":"y", "REP":"y", "SSH_USER":"123456", "SSH_PASS":"7890000", "REALITY":"time.is", "SUUID":"73203ee6-b3fa-4a3d-b5df-6bb2f55073ad", "TCP1_PORT":"", "TCP2_PORT":"", "UDP_PORT":"", "HOST":"s16.serv00.com", "ARGO_DOMAIN":"你的argo固定域名", "ARGO_AUTH":"eyJhIjoiOTM3YzFjYWI88552NTFiYTM4ZTY0ZDQzRmlNelF0TkRBd1pUQTRNVEJqTUdVeCJ9"} ]' run_remote_command() { local RES=$1 @@ -54,7 +54,7 @@ echo "甬哥Github项目 :github.com/yonggekkk" echo "甬哥Blogger博客 :ygkkk.blogspot.com" echo "甬哥YouTube频道 :www.youtube.com/@ygkkk" echo "自动远程部署Serv00三合一协议脚本【VPS+软路由】" -echo "版本:V25.2.18" +echo "版本:V25.2.25" echo "*****************************************************" echo "*****************************************************" count=0 @@ -82,7 +82,6 @@ echo "*****************************************************" if ! sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no "$SSH_USER@$HOST" "$check_process" || [[ "$RES" =~ ^[Yy]$ ]]; then echo "⚠️检测到主进程或者argo进程未启动,或者执行重置" echo "⚠️现在开始修复或重置部署……请稍等" - echo "⚠️中断退出,说明首次设置随机端口完成,请把RES设置为n再执行即可" output=$(run_remote_command "$RES" "$REP" "$SSH_USER" "$SSH_PASS" "${REALITY}" "$SUUID" "$TCP1_PORT" "$TCP2_PORT" "$UDP_PORT" "$HOST" "${ARGO_DOMAIN}" "${ARGO_AUTH}") echo "远程命令执行结果:$output" else From 2f0a5e36743c933e4006dcf7522b1b31d29c5adb 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, 25 Feb 2025 12:30:47 +0800 Subject: [PATCH 12/49] Update serv00.yml --- serv00.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/serv00.yml b/serv00.yml index 3637cef..84b3fa4 100644 --- a/serv00.yml +++ b/serv00.yml @@ -11,14 +11,14 @@ jobs: env: # serv00变量添加规则: # 推荐:为确保节点可用性,建议在Serv00网页不设置端口,脚本会随机生成有效端口,首次运行会中断SSH,请把RES设置为n再执行即可 - # RES(必填):n表示每次不重置部署,y表示每次重置部署。REP(必填):n表示不重置随机端口,y表示重置端口(三个端口留空)。SSH_USER(必填)表示serv00账号名。SSH_PASS(必填)表示serv00密码。REALITY表示reality域名(留空表示serv00官方域名:你serv00账号名.serv00.net)。SUUID表示uuid(留空表示随机uuid)。TCP1_PORT表示vless的tcp端口(留空表示随机tcp端口)。TCP2_PORT表示vmess的tcp端口(留空表示随机tcp端口)。UDP_PORT表示hy2的udp端口(留空表示随机udp端口)。HOST(必填)表示登录serv00服务器域名。ARGO_DOMAIN表示argo固定域名(留空表示临时域名)。ARGO_AUTH表示argo固定域名token(留空表示临时域名)。 + # RES(必填):n表示每次不重置部署,y表示每次重置部署。REP(必填):n表示不重置随机端口(三个端口留空),y表示重置端口(三个端口留空)。SSH_USER(必填)表示serv00账号名。SSH_PASS(必填)表示serv00密码。REALITY表示reality域名(留空表示serv00官方域名:你serv00账号名.serv00.net)。SUUID表示uuid(留空表示随机uuid)。TCP1_PORT表示vless的tcp端口(留空表示随机tcp端口)。TCP2_PORT表示vmess的tcp端口(留空表示随机tcp端口)。UDP_PORT表示hy2的udp端口(留空表示随机udp端口)。HOST(必填)表示登录serv00服务器域名。ARGO_DOMAIN表示argo固定域名(留空表示临时域名)。ARGO_AUTH表示argo固定域名token(留空表示临时域名)。 # 必填变量:RES、REP、SSH_USER、SSH_PASS、HOST # 注意[]"",:这些符号不要乱删,按规律对齐 # 每行一个{serv00服务器},一个服务也可,末尾用,间隔,最后一个服务器末尾无需用,间隔 ACCOUNTS: > [ {"RES":"n", "REP":"n", "SSH_USER":"你的serv00账号名", "SSH_PASS":"你的serv00账号密码", "REALITY":"你serv00账号名.serv00.net", "SUUID":"自设UUID", "TCP1_PORT":"vless的tcp端口", "TCP2_PORT":"vmess的tcp端口", "UDP_PORT":"hy2的udp端口", "HOST":"s1.serv00.com", "ARGO_DOMAIN":"", "ARGO_AUTH":""}, - {"RES":"y", "REP":"y", "SSH_USER":"123456", "SSH_PASS":"7890000", "REALITY":"time.is", "SUUID":"73203ee6-b3fa-4a3d-b5df-6bb2f55073ad", "TCP1_PORT":"55254", "TCP2_PORT":"55255", "UDP_PORT":"55256", "HOST":"s16.serv00.com", "ARGO_DOMAIN":"你的argo固定域名", "ARGO_AUTH":"eyJhIjoiOTM3YzFjYWI88552NTFiYTM4ZTY0ZDQzRmlNelF0TkRBd1pUQTRNVEJqTUdVeCJ9"} + {"RES":"y", "REP":"y", "SSH_USER":"123456", "SSH_PASS":"7890000", "REALITY":"time.is", "SUUID":"73203ee6-b3fa-4a3d-b5df-6bb2f55073ad", "TCP1_PORT":"", "TCP2_PORT":"", "UDP_PORT":"", "HOST":"s16.serv00.com", "ARGO_DOMAIN":"你的argo固定域名", "ARGO_AUTH":"eyJhIjoiOTM3YzFjYWI88552NTFiYTM4ZTY0ZDQzRmlNelF0TkRBd1pUQTRNVEJqTUdVeCJ9"} ] steps: - name: Checkout Repository @@ -59,7 +59,7 @@ jobs: echo "甬哥Blogger博客 :ygkkk.blogspot.com" echo "甬哥YouTube频道 :www.youtube.com/@ygkkk" echo "自动远程部署并保活Serv00三合一协议脚本【Github】" - echo "版本:V25.2.18" + echo "版本:V25.2.25" echo "*****************************************************" echo "*****************************************************" count=0 @@ -87,7 +87,6 @@ jobs: if ! sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no "$SSH_USER@$HOST" "$check_process" || [[ "$RES" =~ ^[Yy]$ ]]; then echo "⚠️检测到主进程或者argo进程未启动,或者执行重置" echo "⚠️现在开始修复或重置部署……请稍等" - echo "⚠️提示Error: Process completed with exit code 255中断并退出时,说明设置随机端口完成,请把RES、REP设置为n再执行即可" output=$(run_remote_command "$RES" "$REP" "$SSH_USER" "$SSH_PASS" "${REALITY}" "$SUUID" "$TCP1_PORT" "$TCP2_PORT" "$UDP_PORT" "$HOST" "${ARGO_DOMAIN}" "${ARGO_AUTH}") echo "远程命令执行结果:$output" else From a056c9bcd42ae95fd865c01271ee0bdb3e19c3ea 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, 25 Feb 2025 14:48:33 +0800 Subject: [PATCH 13/49] Update serv00.sh --- serv00.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/serv00.sh b/serv00.sh index 9667bf3..7f4a01a 100644 --- a/serv00.sh +++ b/serv00.sh @@ -85,7 +85,7 @@ bash -c 'ps aux | grep $(whoami) | grep -v "sshd\|bash\|grep" | awk "{print \$2} curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 sleep 5 green "端口替换完成!" -ps aux | grep '[r]un -c con' > /dev/null && green "Sing-box主进程启动成功,单节点用户修改下客户端三协议端口,订阅链接用户更新下订阅即可" || yellow "Sing-box主进程启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" +ps aux | grep '[r]un -c con' > /dev/null && green "主进程启动成功,单节点用户修改下客户端三协议端口,订阅链接用户更新下订阅即可" || yellow "Sing-box主进程启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" if [ -f "$WORKDIR/boot.log" ]; then ps aux | grep '[t]unnel --u' > /dev/null && green "Argo临时隧道启动成功,单节点用户在客户端host/sni更换临时域名,订阅链接用户更新下订阅即可" || yellow "Argo临时隧道启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" else @@ -1338,13 +1338,13 @@ menu() { echo "------------------------------------------------------------" green "4. 更新脚本" echo "------------------------------------------------------------" - green "5. 查看各节点分享/sing-box与clash订阅链接/CF节点proxyip" + green "5. 查看各节点分享/sing-box与clash订阅链接/反代IP/ProxyIP" echo "------------------------------------------------------------" green "6. 查看sing-box与clash配置文件" echo "------------------------------------------------------------" - yellow "7. 重置并随机生成新端口(脚本安装前后都可执行)" + yellow "7. 重置并随机生成新端口 (脚本安装前后都可执行)" echo "------------------------------------------------------------" - yellow "8. 清理所有服务进程与文件(系统初始化)" + yellow "8. 清理所有服务进程与文件 (系统初始化)" echo "------------------------------------------------------------" red "0. 退出脚本" echo "============================================================" From 72048d8116483723482e8d940a5b5afc2d17551f 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, 25 Feb 2025 15:10:07 +0800 Subject: [PATCH 14/49] Update sversion --- sversion | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sversion b/sversion index 2812c8d..4da62fe 100644 --- a/sversion +++ b/sversion @@ -1,5 +1,9 @@ -v25.2.22更新内容: -1、更新IP显示BUG +v25.2.26更新内容: +1、选项7重置端口功能在安装脚本前与后都可执行,端口重置不中断 +2、Github actions与CF workers支持网页保活功能 +3、修复BUG与文字修正 +4、Github/vps/软路由的部署脚本同步更新支持重置端口功能 +本次更新的视频教程:https://youtu.be/9uCfFNnjNc0 更新方式:在线更新 (在线更新:SSH选择4更新。。。重装更新:必须卸载重装) 详见:https://ygkkk.blogspot.com/2025/01/serv00.html From b3d7a4b46711e82929d778193cacb8afc63644eb 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, 25 Feb 2025 15:17:26 +0800 Subject: [PATCH 15/49] Update kp.sh --- kp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kp.sh b/kp.sh index aba9b09..5f23cbd 100644 --- a/kp.sh +++ b/kp.sh @@ -54,7 +54,7 @@ echo "甬哥Github项目 :github.com/yonggekkk" echo "甬哥Blogger博客 :ygkkk.blogspot.com" echo "甬哥YouTube频道 :www.youtube.com/@ygkkk" echo "自动远程部署Serv00三合一协议脚本【VPS+软路由】" -echo "版本:V25.2.25" +echo "版本:V25.2.26" echo "*****************************************************" echo "*****************************************************" count=0 From 1a59823109ac60935332e28f696b760d9dc89ec5 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, 25 Feb 2025 15:17:48 +0800 Subject: [PATCH 16/49] Update serv00.yml --- serv00.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serv00.yml b/serv00.yml index 84b3fa4..38a4b7c 100644 --- a/serv00.yml +++ b/serv00.yml @@ -59,7 +59,7 @@ jobs: echo "甬哥Blogger博客 :ygkkk.blogspot.com" echo "甬哥YouTube频道 :www.youtube.com/@ygkkk" echo "自动远程部署并保活Serv00三合一协议脚本【Github】" - echo "版本:V25.2.25" + echo "版本:V25.2.26" echo "*****************************************************" echo "*****************************************************" count=0 From 7f6364704004a60d3269448889102b7819a8268a 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, 25 Feb 2025 16:25:24 +0800 Subject: [PATCH 17/49] Update sversion --- sversion | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sversion b/sversion index 4da62fe..cf4e64b 100644 --- a/sversion +++ b/sversion @@ -4,6 +4,5 @@ v25.2.26更新内容: 3、修复BUG与文字修正 4、Github/vps/软路由的部署脚本同步更新支持重置端口功能 本次更新的视频教程:https://youtu.be/9uCfFNnjNc0 -更新方式:在线更新 -(在线更新:SSH选择4更新。。。重装更新:必须卸载重装) +本次更新方式:在线更新(在线更新:SSH选择4更新。。。重装更新:必须卸载重装) 详见:https://ygkkk.blogspot.com/2025/01/serv00.html From 9b17eaec2cb37cb1c8fed163d46a3b47a4f635be 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, 25 Feb 2025 16:39:38 +0800 Subject: [PATCH 18/49] Update app.js --- app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.js b/app.js index 11285cb..14ca891 100644 --- a/app.js +++ b/app.js @@ -50,7 +50,7 @@ app.get("/list/key", (req, res) => { }); }); app.use((req, res) => { - res.status(404).send('浏览器地址:http://where.name.serv00.net 三种路径功能:/up是保活,/re是重启,/list/你的uuid 是节点及订阅信息'); + res.status(404).send('请在浏览器地址:http://where.name.serv00.net 后面加三种路径功能:/up是保活,/re是重启,/list/你的uuid 是节点及订阅信息'); }); setInterval(runCustomCommand, 3 * 60 * 1000); app.listen(3000, () => { From c3edf3dcccc66ff2fb8e99fdc63b4e63d768dcf7 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, 25 Feb 2025 17:00:38 +0800 Subject: [PATCH 19/49] Update app.js --- app.js | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) diff --git a/app.js b/app.js index 14ca891..f4a342e 100644 --- a/app.js +++ b/app.js @@ -35,6 +35,122 @@ app.get("/re", (req, res) => { res.type('text').send(stdout); }); }); + +app.get("/rp", (req, res) => { + const changeportCommands = ` +USERNAME=$(whoami | tr '[:upper:]' '[:lower:]') +WORKDIR="/home/\${USERNAME}/domains/\${USERNAME}.serv00.net/logs" +portlist=\$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//') +if [[ -z "\$portlist" ]]; then +echo "无端口" +else +while read -r line; do +port=\$(echo "\$line" | awk '{print $1}') +port_type=\$(echo "\$line" | awk '{print $2}') +echo "删除端口 \$port (\$port_type)" +devil port del "\$port_type" "\$port" +done <<< "\$portlist" +fi +port_list=\$(devil port list) +tcp_ports=\$(echo "\$port_list" | grep -c "tcp") +udp_ports=\$(echo "\$port_list" | grep -c "udp") +if [[ \$tcp_ports -ne 2 || \$udp_ports -ne 1 ]]; then + echo "端口数量不符合要求,正在调整..." + if [[ \$tcp_ports -gt 2 ]]; then + tcp_to_delete=\$((tcp_ports - 2)) + echo "\$port_list" | awk '/tcp/ {print $1, $2}' | head -n \$tcp_to_delete | while read port type; do + devil port del \$type \$port + echo "已删除TCP端口: \$port" + done + fi + if [[ \$udp_ports -gt 1 ]]; then + udp_to_delete=\$((udp_ports - 1)) + echo "\$port_list" | awk '/udp/ {print $1, $2}' | head -n \$udp_to_delete | while read port type; do + devil port del \$type \$port + echo "已删除UDP端口: \$port" + done + fi + if [[ \$tcp_ports -lt 2 ]]; then + tcp_ports_to_add=\$((2 - tcp_ports)) + tcp_ports_added=0 + while [[ \$tcp_ports_added -lt \$tcp_ports_to_add ]]; do + tcp_port=\$(shuf -i 10000-65535 -n 1) + result=\$(devil port add tcp \$tcp_port 2>&1) + if [[ \$result == *"succesfully"* ]]; then + echo "已添加TCP端口: \$tcp_port" + if [[ \$tcp_ports_added -eq 0 ]]; then + tcp_port1=\$tcp_port + else + tcp_port2=\$tcp_port + fi + tcp_ports_added=\$((tcp_ports_added + 1)) + else + echo "端口 \$tcp_port 不可用,尝试其他端口..." + fi + done + fi + if [[ \$udp_ports -lt 1 ]]; then + while true; do + udp_port=\$(shuf -i 10000-65535 -n 1) + result=\$(devil port add udp \$udp_port 2>&1) + if [[ \$result == *"succesfully"* ]]; then + echo "已添加UDP端口: \$udp_port" + break + else + echo "端口 \$udp_port 不可用,尝试其他端口..." + fi + done + fi + sleep 3 +else + tcp_ports=\$(echo "\$port_list" | awk '/tcp/ {print $1}') + tcp_port1=\$(echo "\$tcp_ports" | sed -n '1p') + tcp_port2=\$(echo "\$tcp_ports" | sed -n '2p') + udp_port=\$(echo "\$port_list" | awk '/udp/ {print $1}') + echo "当前TCP端口: \$tcp_port1 和 \$tcp_port2" + echo "当前UDP端口: \$udp_port" +fi +export vless_port=\$tcp_port1 +export vmess_port=\$tcp_port2 +export hy2_port=\$udp_port +echo "你的vless-reality端口: \$vless_port" +echo "你的vmess-ws端口(设置Argo固定域名端口): \$vmess_port" +echo "你的hysteria2端口: \$hy2_port" +if [[ -e \$WORKDIR/config.json ]]; then +hyp=\$(jq -r '.inbounds[0].listen_port' \$WORKDIR/config.json 2>/dev/null) +vlp=\$(jq -r '.inbounds[3].listen_port' \$WORKDIR/config.json 2>/dev/null) +vmp=\$(jq -r '.inbounds[4].listen_port' \$WORKDIR/config.json 2>/dev/null) +echo "检测到Serv00-sb-yg脚本已安装,执行端口替换,请稍等……" +sed -i '' "12s/\$hyp/\$hy2_port/g" \$WORKDIR/config.json +sed -i '' "33s/\$hyp/\$hy2_port/g" \$WORKDIR/config.json +sed -i '' "54s/\$hyp/\$hy2_port/g" \$WORKDIR/config.json +sed -i '' "75s/\$vlp/\$vless_port/g" \$WORKDIR/config.json +sed -i '' "102s/\$vmp/\$vmess_port/g" \$WORKDIR/config.json +sed -i '' -e "17s|\$vlp|'\$vless_port'|" serv00keep.sh +sed -i '' -e "18s|\$vmp|'\$vmess_port'|" serv00keep.sh +sed -i '' -e "19s|\$hyp|'\$hy2_port'|" serv00keep.sh +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 +(cd ~ && bash serv00keep.sh >/dev/null 2>&1) & +sleep 5 +echo "端口替换完成!" +ps aux | grep '[r]un -c con' > /dev/null && echo "主进程启动成功,单节点用户修改下客户端三协议端口,订阅链接用户更新下订阅即可" || echo "Sing-box主进程启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" +if [ -f "$WORKDIR/boot.log" ]; then +ps aux | grep '[t]unnel --u' > /dev/null && echo "Argo临时隧道启动成功,单节点用户在客户端host/sni更换临时域名,订阅链接用户更新下订阅即可" || echo "Argo临时隧道启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" +else +ps aux | grep '[t]unnel --n' > /dev/null && echo "Argo固定隧道启动成功" || echo "Argo固定隧道启动失败,请先在CF更改隧道端口:\$vmess_port,多刷几次保活网页可能会自动恢复" +fi +fi + `; + exec(changeportCommands, (err, stdout, stderr) => { + console.log('stdout:', stdout); + console.error('stderr:', stderr); + if (err) { + return res.status(500).send(`错误:${stderr || stdout}`); + } + res.type('text').send(stdout); + }); +}); + app.get("/list/key", (req, res) => { const listCommands = ` USERNAME=$(whoami | tr '[:upper:]' '[:lower:]') From 7e8cd912dd4ebdcd7297f5687a5dbfacfd6a10fe 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, 25 Feb 2025 17:03:51 +0800 Subject: [PATCH 20/49] Update app.js --- app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.js b/app.js index f4a342e..83e0bdb 100644 --- a/app.js +++ b/app.js @@ -166,7 +166,7 @@ app.get("/list/key", (req, res) => { }); }); app.use((req, res) => { - res.status(404).send('请在浏览器地址:http://where.name.serv00.net 后面加三种路径功能:/up是保活,/re是重启,/list/你的uuid 是节点及订阅信息'); + res.status(404).send('请在浏览器地址:http://where.name.serv00.net 后面加三种路径功能:/up是保活,/re是重启,/rp是重置节点端口,/list/你的uuid 是节点及订阅信息'); }); setInterval(runCustomCommand, 3 * 60 * 1000); app.listen(3000, () => { From befb3378cbfcb753827ca3f6b70cf9c08b1228d8 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, 25 Feb 2025 17:04:03 +0800 Subject: [PATCH 21/49] Update serv00.sh --- serv00.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/serv00.sh b/serv00.sh index 7f4a01a..8f1825d 100644 --- a/serv00.sh +++ b/serv00.sh @@ -1245,9 +1245,12 @@ keep_path="$HOME/domains/${snb}.${USERNAME}.serv00.net/public_nodejs" [ -d "$keep_path" ] || mkdir -p "$keep_path" curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/app.js -o "$keep_path"/app.js sed -i '' "15s/name/$snb/g" "$keep_path"/app.js -sed -i '' "38s/key/$UUID/g" "$keep_path"/app.js -sed -i '' "53s/name/$USERNAME/g" "$keep_path"/app.js -sed -i '' "53s/where/$snb/g" "$keep_path"/app.js +#sed -i '' "38s/key/$UUID/g" "$keep_path"/app.js +#sed -i '' "53s/name/$USERNAME/g" "$keep_path"/app.js +#sed -i '' "53s/where/$snb/g" "$keep_path"/app.js +sed -i '' "154s/key/$UUID/g" "$keep_path"/app.js +sed -i '' "169s/name/$USERNAME/g" "$keep_path"/app.js +sed -i '' "169s/where/$snb/g" "$keep_path"/app.js devil www del ${snb}.${USERNAME}.serv00.net > /dev/null 2>&1 devil www add ${USERNAME}.serv00.net php > /dev/null 2>&1 devil www add ${snb}.${USERNAME}.serv00.net nodejs /usr/local/bin/node18 > /dev/null 2>&1 From ea56ac8128d193f267bac5dd973afb902088556b 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, 25 Feb 2025 17:13:27 +0800 Subject: [PATCH 22/49] Update serv00.sh --- serv00.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/serv00.sh b/serv00.sh index 8f1825d..3c73b7e 100644 --- a/serv00.sh +++ b/serv00.sh @@ -1243,7 +1243,8 @@ fi green "开始安装多功能主页,请稍等……" keep_path="$HOME/domains/${snb}.${USERNAME}.serv00.net/public_nodejs" [ -d "$keep_path" ] || mkdir -p "$keep_path" -curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/app.js -o "$keep_path"/app.js +#curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/app.js -o "$keep_path"/app.js +curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/beta/app.js -o "$keep_path"/app.js sed -i '' "15s/name/$snb/g" "$keep_path"/app.js #sed -i '' "38s/key/$UUID/g" "$keep_path"/app.js #sed -i '' "53s/name/$USERNAME/g" "$keep_path"/app.js From 90ee02ff034d424621d118debf03043dd881ed96 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, 25 Feb 2025 17:29:50 +0800 Subject: [PATCH 23/49] Update app.js --- app.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/app.js b/app.js index 83e0bdb..24a1c7a 100644 --- a/app.js +++ b/app.js @@ -45,8 +45,8 @@ if [[ -z "\$portlist" ]]; then echo "无端口" else while read -r line; do -port=\$(echo "\$line" | awk '{print $1}') -port_type=\$(echo "\$line" | awk '{print $2}') +port=\$(echo "\$line" | awk '{print \$1}') +port_type=\$(echo "\$line" | awk '{print \$2}') echo "删除端口 \$port (\$port_type)" devil port del "\$port_type" "\$port" done <<< "\$portlist" @@ -58,15 +58,15 @@ if [[ \$tcp_ports -ne 2 || \$udp_ports -ne 1 ]]; then echo "端口数量不符合要求,正在调整..." if [[ \$tcp_ports -gt 2 ]]; then tcp_to_delete=\$((tcp_ports - 2)) - echo "\$port_list" | awk '/tcp/ {print $1, $2}' | head -n \$tcp_to_delete | while read port type; do - devil port del \$type \$port + echo "\$port_list" | awk '/tcp/ {print \$1, \$2}' | head -n \$tcp_to_delete | while read -r port type; do + devil port del "\$type" "\$port" echo "已删除TCP端口: \$port" done fi if [[ \$udp_ports -gt 1 ]]; then udp_to_delete=\$((udp_ports - 1)) - echo "\$port_list" | awk '/udp/ {print $1, $2}' | head -n \$udp_to_delete | while read port type; do - devil port del \$type \$port + echo "\$port_list" | awk '/udp/ {print \$1, \$2}' | head -n \$udp_to_delete | while read -r port type; do + devil port del "\$type" "\$port" echo "已删除UDP端口: \$port" done fi @@ -75,7 +75,7 @@ if [[ \$tcp_ports -ne 2 || \$udp_ports -ne 1 ]]; then tcp_ports_added=0 while [[ \$tcp_ports_added -lt \$tcp_ports_to_add ]]; do tcp_port=\$(shuf -i 10000-65535 -n 1) - result=\$(devil port add tcp \$tcp_port 2>&1) + result=\$(devil port add tcp "\$tcp_port" 2>&1) if [[ \$result == *"succesfully"* ]]; then echo "已添加TCP端口: \$tcp_port" if [[ \$tcp_ports_added -eq 0 ]]; then @@ -92,7 +92,7 @@ if [[ \$tcp_ports -ne 2 || \$udp_ports -ne 1 ]]; then if [[ \$udp_ports -lt 1 ]]; then while true; do udp_port=\$(shuf -i 10000-65535 -n 1) - result=\$(devil port add udp \$udp_port 2>&1) + result=\$(devil port add udp "\$udp_port" 2>&1) if [[ \$result == *"succesfully"* ]]; then echo "已添加UDP端口: \$udp_port" break @@ -103,10 +103,10 @@ if [[ \$tcp_ports -ne 2 || \$udp_ports -ne 1 ]]; then fi sleep 3 else - tcp_ports=\$(echo "\$port_list" | awk '/tcp/ {print $1}') + tcp_ports=\$(echo "\$port_list" | awk '/tcp/ {print \$1}') tcp_port1=\$(echo "\$tcp_ports" | sed -n '1p') tcp_port2=\$(echo "\$tcp_ports" | sed -n '2p') - udp_port=\$(echo "\$port_list" | awk '/udp/ {print $1}') + udp_port=\$(echo "\$port_list" | awk '/udp/ {print \$1}') echo "当前TCP端口: \$tcp_port1 和 \$tcp_port2" echo "当前UDP端口: \$udp_port" fi @@ -134,7 +134,7 @@ bash -c 'ps aux | grep \$(whoami) | grep -v "sshd\|bash\|grep" | awk "{print \$2 sleep 5 echo "端口替换完成!" ps aux | grep '[r]un -c con' > /dev/null && echo "主进程启动成功,单节点用户修改下客户端三协议端口,订阅链接用户更新下订阅即可" || echo "Sing-box主进程启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" -if [ -f "$WORKDIR/boot.log" ]; then +if [ -f "\$WORKDIR/boot.log" ]; then ps aux | grep '[t]unnel --u' > /dev/null && echo "Argo临时隧道启动成功,单节点用户在客户端host/sni更换临时域名,订阅链接用户更新下订阅即可" || echo "Argo临时隧道启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" else ps aux | grep '[t]unnel --n' > /dev/null && echo "Argo固定隧道启动成功" || echo "Argo固定隧道启动失败,请先在CF更改隧道端口:\$vmess_port,多刷几次保活网页可能会自动恢复" From 1b4fa375a807b7730474cafd40a624af9d496681 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, 25 Feb 2025 17:35:06 +0800 Subject: [PATCH 24/49] Update app.js --- app.js | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/app.js b/app.js index 24a1c7a..1a90943 100644 --- a/app.js +++ b/app.js @@ -40,17 +40,17 @@ app.get("/rp", (req, res) => { const changeportCommands = ` USERNAME=$(whoami | tr '[:upper:]' '[:lower:]') WORKDIR="/home/\${USERNAME}/domains/\${USERNAME}.serv00.net/logs" -portlist=\$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//') +portlist="\$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//')" if [[ -z "\$portlist" ]]; then echo "无端口" else while read -r line; do -port=\$(echo "\$line" | awk '{print \$1}') -port_type=\$(echo "\$line" | awk '{print \$2}') +port=\$(echo "\$line" | awk '{print $1}') +port_type=\$(echo "\$line" | awk '{print $2}') echo "删除端口 \$port (\$port_type)" devil port del "\$port_type" "\$port" done <<< "\$portlist" -fi +fi port_list=\$(devil port list) tcp_ports=\$(echo "\$port_list" | grep -c "tcp") udp_ports=\$(echo "\$port_list" | grep -c "udp") @@ -58,15 +58,15 @@ if [[ \$tcp_ports -ne 2 || \$udp_ports -ne 1 ]]; then echo "端口数量不符合要求,正在调整..." if [[ \$tcp_ports -gt 2 ]]; then tcp_to_delete=\$((tcp_ports - 2)) - echo "\$port_list" | awk '/tcp/ {print \$1, \$2}' | head -n \$tcp_to_delete | while read -r port type; do - devil port del "\$type" "\$port" + echo "\$port_list" | awk '/tcp/ {print $1, $2}' | head -n \$tcp_to_delete | while read port type; do + devil port del \$type \$port echo "已删除TCP端口: \$port" done fi if [[ \$udp_ports -gt 1 ]]; then udp_to_delete=\$((udp_ports - 1)) - echo "\$port_list" | awk '/udp/ {print \$1, \$2}' | head -n \$udp_to_delete | while read -r port type; do - devil port del "\$type" "\$port" + echo "\$port_list" | awk '/udp/ {print $1, $2}' | head -n \$udp_to_delete | while read port type; do + devil port del \$type \$port echo "已删除UDP端口: \$port" done fi @@ -74,8 +74,8 @@ if [[ \$tcp_ports -ne 2 || \$udp_ports -ne 1 ]]; then tcp_ports_to_add=\$((2 - tcp_ports)) tcp_ports_added=0 while [[ \$tcp_ports_added -lt \$tcp_ports_to_add ]]; do - tcp_port=\$(shuf -i 10000-65535 -n 1) - result=\$(devil port add tcp "\$tcp_port" 2>&1) + tcp_port=\$(shuf -i 10000-65535 -n 1) + result=\$(devil port add tcp \$tcp_port 2>&1) if [[ \$result == *"succesfully"* ]]; then echo "已添加TCP端口: \$tcp_port" if [[ \$tcp_ports_added -eq 0 ]]; then @@ -91,8 +91,8 @@ if [[ \$tcp_ports -ne 2 || \$udp_ports -ne 1 ]]; then fi if [[ \$udp_ports -lt 1 ]]; then while true; do - udp_port=\$(shuf -i 10000-65535 -n 1) - result=\$(devil port add udp "\$udp_port" 2>&1) + udp_port=\$(shuf -i 10000-65535 -n 1) + result=\$(devil port add udp \$udp_port 2>&1) if [[ \$result == *"succesfully"* ]]; then echo "已添加UDP端口: \$udp_port" break @@ -103,10 +103,10 @@ if [[ \$tcp_ports -ne 2 || \$udp_ports -ne 1 ]]; then fi sleep 3 else - tcp_ports=\$(echo "\$port_list" | awk '/tcp/ {print \$1}') + tcp_ports=\$(echo "\$port_list" | awk '/tcp/ {print $1}') tcp_port1=\$(echo "\$tcp_ports" | sed -n '1p') tcp_port2=\$(echo "\$tcp_ports" | sed -n '2p') - udp_port=\$(echo "\$port_list" | awk '/udp/ {print \$1}') + udp_port=\$(echo "\$port_list" | awk '/udp/ {print $1}') echo "当前TCP端口: \$tcp_port1 和 \$tcp_port2" echo "当前UDP端口: \$udp_port" fi @@ -130,11 +130,11 @@ sed -i '' -e "17s|\$vlp|'\$vless_port'|" serv00keep.sh sed -i '' -e "18s|\$vmp|'\$vmess_port'|" serv00keep.sh sed -i '' -e "19s|\$hyp|'\$hy2_port'|" serv00keep.sh 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 -(cd ~ && bash serv00keep.sh >/dev/null 2>&1) & +(cd ~ && bash serv00keep.sh >/dev/null 2>&1) & sleep 5 echo "端口替换完成!" ps aux | grep '[r]un -c con' > /dev/null && echo "主进程启动成功,单节点用户修改下客户端三协议端口,订阅链接用户更新下订阅即可" || echo "Sing-box主进程启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" -if [ -f "\$WORKDIR/boot.log" ]; then +if [ -f "$WORKDIR/boot.log" ]; then ps aux | grep '[t]unnel --u' > /dev/null && echo "Argo临时隧道启动成功,单节点用户在客户端host/sni更换临时域名,订阅链接用户更新下订阅即可" || echo "Argo临时隧道启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" else ps aux | grep '[t]unnel --n' > /dev/null && echo "Argo固定隧道启动成功" || echo "Argo固定隧道启动失败,请先在CF更改隧道端口:\$vmess_port,多刷几次保活网页可能会自动恢复" From 18d25762259dab8c6109f3246fc7d1e262dd44df 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, 25 Feb 2025 21:40:40 +0800 Subject: [PATCH 25/49] Update app.js --- app.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app.js b/app.js index 1a90943..83e0bdb 100644 --- a/app.js +++ b/app.js @@ -40,7 +40,7 @@ app.get("/rp", (req, res) => { const changeportCommands = ` USERNAME=$(whoami | tr '[:upper:]' '[:lower:]') WORKDIR="/home/\${USERNAME}/domains/\${USERNAME}.serv00.net/logs" -portlist="\$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//')" +portlist=\$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//') if [[ -z "\$portlist" ]]; then echo "无端口" else @@ -50,7 +50,7 @@ port_type=\$(echo "\$line" | awk '{print $2}') echo "删除端口 \$port (\$port_type)" devil port del "\$port_type" "\$port" done <<< "\$portlist" -fi +fi port_list=\$(devil port list) tcp_ports=\$(echo "\$port_list" | grep -c "tcp") udp_ports=\$(echo "\$port_list" | grep -c "udp") @@ -74,7 +74,7 @@ if [[ \$tcp_ports -ne 2 || \$udp_ports -ne 1 ]]; then tcp_ports_to_add=\$((2 - tcp_ports)) tcp_ports_added=0 while [[ \$tcp_ports_added -lt \$tcp_ports_to_add ]]; do - tcp_port=\$(shuf -i 10000-65535 -n 1) + tcp_port=\$(shuf -i 10000-65535 -n 1) result=\$(devil port add tcp \$tcp_port 2>&1) if [[ \$result == *"succesfully"* ]]; then echo "已添加TCP端口: \$tcp_port" @@ -91,7 +91,7 @@ if [[ \$tcp_ports -ne 2 || \$udp_ports -ne 1 ]]; then fi if [[ \$udp_ports -lt 1 ]]; then while true; do - udp_port=\$(shuf -i 10000-65535 -n 1) + udp_port=\$(shuf -i 10000-65535 -n 1) result=\$(devil port add udp \$udp_port 2>&1) if [[ \$result == *"succesfully"* ]]; then echo "已添加UDP端口: \$udp_port" @@ -130,7 +130,7 @@ sed -i '' -e "17s|\$vlp|'\$vless_port'|" serv00keep.sh sed -i '' -e "18s|\$vmp|'\$vmess_port'|" serv00keep.sh sed -i '' -e "19s|\$hyp|'\$hy2_port'|" serv00keep.sh 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 -(cd ~ && bash serv00keep.sh >/dev/null 2>&1) & +(cd ~ && bash serv00keep.sh >/dev/null 2>&1) & sleep 5 echo "端口替换完成!" ps aux | grep '[r]un -c con' > /dev/null && echo "主进程启动成功,单节点用户修改下客户端三协议端口,订阅链接用户更新下订阅即可" || echo "Sing-box主进程启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" From 65b20410bd50b0cc83b1dfd9215e8739ddfea900 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, 25 Feb 2025 21:52:12 +0800 Subject: [PATCH 26/49] Update app.js --- app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.js b/app.js index 83e0bdb..27d4cbb 100644 --- a/app.js +++ b/app.js @@ -129,7 +129,7 @@ sed -i '' "102s/\$vmp/\$vmess_port/g" \$WORKDIR/config.json sed -i '' -e "17s|\$vlp|'\$vless_port'|" serv00keep.sh sed -i '' -e "18s|\$vmp|'\$vmess_port'|" serv00keep.sh sed -i '' -e "19s|\$hyp|'\$hy2_port'|" serv00keep.sh -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 +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 (cd ~ && bash serv00keep.sh >/dev/null 2>&1) & sleep 5 echo "端口替换完成!" From 7c7e205dda520b5cf24737ce2d8beea0c6ceefc0 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, 25 Feb 2025 22:56:03 +0800 Subject: [PATCH 27/49] Update serv00.sh --- serv00.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/serv00.sh b/serv00.sh index 3c73b7e..51b04c5 100644 --- a/serv00.sh +++ b/serv00.sh @@ -1218,7 +1218,6 @@ fi } servkeep() { -#green "开始安装Cron进程保活" curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00keep.sh -o serv00keep.sh && chmod +x serv00keep.sh sed -i '' -e "14s|''|'$UUID'|" serv00keep.sh sed -i '' -e "17s|''|'$vless_port'|" serv00keep.sh @@ -1230,6 +1229,18 @@ if [ ! -f "$WORKDIR/boot.log" ]; then sed -i '' -e "15s|''|'${ARGO_DOMAIN}'|" serv00keep.sh sed -i '' -e "16s|''|'${ARGO_AUTH}'|" serv00keep.sh fi +echo '#!/bin/bash +red() { echo -e "\e[1;91m$1\033[0m"; } +green() { echo -e "\e[1;32m$1\033[0m"; } +yellow() { echo -e "\e[1;33m$1\033[0m"; } +purple() { echo -e "\e[1;35m$1\033[0m"; } +USERNAME=$(whoami | tr '[:upper:]' '[:lower:]') +WORKDIR="${HOME}/domains/${USERNAME}.serv00.net/logs" +snb=$(hostname | awk -F '.' '{print $1}') +' > webport.sh +declare -f resallport >> webport.sh +declare -f check_port >> webport.sh +echo 'resallport' >> webport.sh #if ! crontab -l 2>/dev/null | grep -q 'serv00keep'; then #if [ -f "$WORKDIR/boot.log" ] || grep -q "trycloudflare.com" "$WORKDIR/boot.log" 2>/dev/null; then #check_process="! ps aux | grep '[c]onfig' > /dev/null || ! ps aux | grep [l]ocalhost > /dev/null" From 7e301f0ea8ea640cbb7b9601b95ac8888a0e4e31 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, 25 Feb 2025 22:58:09 +0800 Subject: [PATCH 28/49] Update app.js --- app.js | 105 +-------------------------------------------------------- 1 file changed, 1 insertion(+), 104 deletions(-) diff --git a/app.js b/app.js index 27d4cbb..fe8cb8d 100644 --- a/app.js +++ b/app.js @@ -37,110 +37,7 @@ app.get("/re", (req, res) => { }); app.get("/rp", (req, res) => { - const changeportCommands = ` -USERNAME=$(whoami | tr '[:upper:]' '[:lower:]') -WORKDIR="/home/\${USERNAME}/domains/\${USERNAME}.serv00.net/logs" -portlist=\$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//') -if [[ -z "\$portlist" ]]; then -echo "无端口" -else -while read -r line; do -port=\$(echo "\$line" | awk '{print $1}') -port_type=\$(echo "\$line" | awk '{print $2}') -echo "删除端口 \$port (\$port_type)" -devil port del "\$port_type" "\$port" -done <<< "\$portlist" -fi -port_list=\$(devil port list) -tcp_ports=\$(echo "\$port_list" | grep -c "tcp") -udp_ports=\$(echo "\$port_list" | grep -c "udp") -if [[ \$tcp_ports -ne 2 || \$udp_ports -ne 1 ]]; then - echo "端口数量不符合要求,正在调整..." - if [[ \$tcp_ports -gt 2 ]]; then - tcp_to_delete=\$((tcp_ports - 2)) - echo "\$port_list" | awk '/tcp/ {print $1, $2}' | head -n \$tcp_to_delete | while read port type; do - devil port del \$type \$port - echo "已删除TCP端口: \$port" - done - fi - if [[ \$udp_ports -gt 1 ]]; then - udp_to_delete=\$((udp_ports - 1)) - echo "\$port_list" | awk '/udp/ {print $1, $2}' | head -n \$udp_to_delete | while read port type; do - devil port del \$type \$port - echo "已删除UDP端口: \$port" - done - fi - if [[ \$tcp_ports -lt 2 ]]; then - tcp_ports_to_add=\$((2 - tcp_ports)) - tcp_ports_added=0 - while [[ \$tcp_ports_added -lt \$tcp_ports_to_add ]]; do - tcp_port=\$(shuf -i 10000-65535 -n 1) - result=\$(devil port add tcp \$tcp_port 2>&1) - if [[ \$result == *"succesfully"* ]]; then - echo "已添加TCP端口: \$tcp_port" - if [[ \$tcp_ports_added -eq 0 ]]; then - tcp_port1=\$tcp_port - else - tcp_port2=\$tcp_port - fi - tcp_ports_added=\$((tcp_ports_added + 1)) - else - echo "端口 \$tcp_port 不可用,尝试其他端口..." - fi - done - fi - if [[ \$udp_ports -lt 1 ]]; then - while true; do - udp_port=\$(shuf -i 10000-65535 -n 1) - result=\$(devil port add udp \$udp_port 2>&1) - if [[ \$result == *"succesfully"* ]]; then - echo "已添加UDP端口: \$udp_port" - break - else - echo "端口 \$udp_port 不可用,尝试其他端口..." - fi - done - fi - sleep 3 -else - tcp_ports=\$(echo "\$port_list" | awk '/tcp/ {print $1}') - tcp_port1=\$(echo "\$tcp_ports" | sed -n '1p') - tcp_port2=\$(echo "\$tcp_ports" | sed -n '2p') - udp_port=\$(echo "\$port_list" | awk '/udp/ {print $1}') - echo "当前TCP端口: \$tcp_port1 和 \$tcp_port2" - echo "当前UDP端口: \$udp_port" -fi -export vless_port=\$tcp_port1 -export vmess_port=\$tcp_port2 -export hy2_port=\$udp_port -echo "你的vless-reality端口: \$vless_port" -echo "你的vmess-ws端口(设置Argo固定域名端口): \$vmess_port" -echo "你的hysteria2端口: \$hy2_port" -if [[ -e \$WORKDIR/config.json ]]; then -hyp=\$(jq -r '.inbounds[0].listen_port' \$WORKDIR/config.json 2>/dev/null) -vlp=\$(jq -r '.inbounds[3].listen_port' \$WORKDIR/config.json 2>/dev/null) -vmp=\$(jq -r '.inbounds[4].listen_port' \$WORKDIR/config.json 2>/dev/null) -echo "检测到Serv00-sb-yg脚本已安装,执行端口替换,请稍等……" -sed -i '' "12s/\$hyp/\$hy2_port/g" \$WORKDIR/config.json -sed -i '' "33s/\$hyp/\$hy2_port/g" \$WORKDIR/config.json -sed -i '' "54s/\$hyp/\$hy2_port/g" \$WORKDIR/config.json -sed -i '' "75s/\$vlp/\$vless_port/g" \$WORKDIR/config.json -sed -i '' "102s/\$vmp/\$vmess_port/g" \$WORKDIR/config.json -sed -i '' -e "17s|\$vlp|'\$vless_port'|" serv00keep.sh -sed -i '' -e "18s|\$vmp|'\$vmess_port'|" serv00keep.sh -sed -i '' -e "19s|\$hyp|'\$hy2_port'|" serv00keep.sh -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 -(cd ~ && bash serv00keep.sh >/dev/null 2>&1) & -sleep 5 -echo "端口替换完成!" -ps aux | grep '[r]un -c con' > /dev/null && echo "主进程启动成功,单节点用户修改下客户端三协议端口,订阅链接用户更新下订阅即可" || echo "Sing-box主进程启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" -if [ -f "$WORKDIR/boot.log" ]; then -ps aux | grep '[t]unnel --u' > /dev/null && echo "Argo临时隧道启动成功,单节点用户在客户端host/sni更换临时域名,订阅链接用户更新下订阅即可" || echo "Argo临时隧道启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" -else -ps aux | grep '[t]unnel --n' > /dev/null && echo "Argo固定隧道启动成功" || echo "Argo固定隧道启动失败,请先在CF更改隧道端口:\$vmess_port,多刷几次保活网页可能会自动恢复" -fi -fi - `; + const changeportCommands = "cd ~ && bash webport.sh"; exec(changeportCommands, (err, stdout, stderr) => { console.log('stdout:', stdout); console.error('stderr:', stderr); From 8afd7b5e23e096060bbc4594119950003c5d1c25 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, 25 Feb 2025 22:59:41 +0800 Subject: [PATCH 29/49] Update serv00.sh --- serv00.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serv00.sh b/serv00.sh index 51b04c5..56fc0ce 100644 --- a/serv00.sh +++ b/serv00.sh @@ -1260,9 +1260,9 @@ sed -i '' "15s/name/$snb/g" "$keep_path"/app.js #sed -i '' "38s/key/$UUID/g" "$keep_path"/app.js #sed -i '' "53s/name/$USERNAME/g" "$keep_path"/app.js #sed -i '' "53s/where/$snb/g" "$keep_path"/app.js -sed -i '' "154s/key/$UUID/g" "$keep_path"/app.js -sed -i '' "169s/name/$USERNAME/g" "$keep_path"/app.js -sed -i '' "169s/where/$snb/g" "$keep_path"/app.js +sed -i '' "51s/key/$UUID/g" "$keep_path"/app.js +sed -i '' "66s/name/$USERNAME/g" "$keep_path"/app.js +sed -i '' "66s/where/$snb/g" "$keep_path"/app.js devil www del ${snb}.${USERNAME}.serv00.net > /dev/null 2>&1 devil www add ${USERNAME}.serv00.net php > /dev/null 2>&1 devil www add ${snb}.${USERNAME}.serv00.net nodejs /usr/local/bin/node18 > /dev/null 2>&1 From f7ad9eb035f305296dd71ad8d764dda830bb6378 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, 25 Feb 2025 23:24:30 +0800 Subject: [PATCH 30/49] Update serv00.sh --- serv00.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/serv00.sh b/serv00.sh index 56fc0ce..394be25 100644 --- a/serv00.sh +++ b/serv00.sh @@ -1241,6 +1241,7 @@ snb=$(hostname | awk -F '.' '{print $1}') declare -f resallport >> webport.sh declare -f check_port >> webport.sh echo 'resallport' >> webport.sh +chmod +x webport.sh #if ! crontab -l 2>/dev/null | grep -q 'serv00keep'; then #if [ -f "$WORKDIR/boot.log" ] || grep -q "trycloudflare.com" "$WORKDIR/boot.log" 2>/dev/null; then #check_process="! ps aux | grep '[c]onfig' > /dev/null || ! ps aux | grep [l]ocalhost > /dev/null" From 1901d0e2a9114a88afdf41830b6d9f5831de6b2c 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: Wed, 26 Feb 2025 00:11:39 +0800 Subject: [PATCH 31/49] Update serv00.sh --- serv00.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serv00.sh b/serv00.sh index 394be25..a852202 100644 --- a/serv00.sh +++ b/serv00.sh @@ -1234,9 +1234,9 @@ red() { echo -e "\e[1;91m$1\033[0m"; } green() { echo -e "\e[1;32m$1\033[0m"; } yellow() { echo -e "\e[1;33m$1\033[0m"; } purple() { echo -e "\e[1;35m$1\033[0m"; } -USERNAME=$(whoami | tr '[:upper:]' '[:lower:]') +USERNAME=$(whoami | tr '\''[:upper:]'\'' '\''[:lower:]'\'') WORKDIR="${HOME}/domains/${USERNAME}.serv00.net/logs" -snb=$(hostname | awk -F '.' '{print $1}') +snb=$(hostname | awk -F '\''.'\'' '\''{print $1}'\'') ' > webport.sh declare -f resallport >> webport.sh declare -f check_port >> webport.sh From 4b19de11fb63d727dba73ce0ef38b0c846cf1475 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: Wed, 26 Feb 2025 08:50:29 +0800 Subject: [PATCH 32/49] Update app.js --- app.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app.js b/app.js index fe8cb8d..1a1680a 100644 --- a/app.js +++ b/app.js @@ -37,17 +37,31 @@ app.get("/re", (req, res) => { }); app.get("/rp", (req, res) => { - const changeportCommands = "cd ~ && bash webport.sh"; - exec(changeportCommands, (err, stdout, stderr) => { + const changeportCommands = "cd ~ && env && bash webport.sh"; // 打印环境变量,帮助调试 + + exec(changeportCommands, { maxBuffer: 1024 * 1024 * 10 }, (err, stdout, stderr) => { + // 打印标准输出和错误输出 console.log('stdout:', stdout); console.error('stderr:', stderr); + + // 错误处理 if (err) { + console.error('Execution error:', err); return res.status(500).send(`错误:${stderr || stdout}`); } + + // 如果有标准错误,返回错误信息 + if (stderr) { + console.error('stderr output:', stderr); + return res.status(500).send(`stderr: ${stderr}`); + } + + // 返回正常的输出 res.type('text').send(stdout); }); }); + app.get("/list/key", (req, res) => { const listCommands = ` USERNAME=$(whoami | tr '[:upper:]' '[:lower:]') From 3e2c02f2d84769e54cac07774513458239846d74 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: Wed, 26 Feb 2025 08:55:30 +0800 Subject: [PATCH 33/49] Update app.js --- app.js | 49 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/app.js b/app.js index 1a1680a..106d7b2 100644 --- a/app.js +++ b/app.js @@ -1,6 +1,7 @@ require('dotenv').config(); const express = require("express"); const { exec } = require('child_process'); +const { spawn } = require('child_process'); const app = express(); app.use(express.json()); const commandToRun = "cd ~ && bash serv00keep.sh"; @@ -37,27 +38,45 @@ app.get("/re", (req, res) => { }); app.get("/rp", (req, res) => { - const changeportCommands = "cd ~ && env && bash webport.sh"; // 打印环境变量,帮助调试 + const changeportCommands = "bash"; + const args = ["webport.sh"]; + + const child = spawn(changeportCommands, args, { cwd: process.env.HOME }); - exec(changeportCommands, { maxBuffer: 1024 * 1024 * 10 }, (err, stdout, stderr) => { - // 打印标准输出和错误输出 - console.log('stdout:', stdout); - console.error('stderr:', stderr); + let stdoutData = ''; + let stderrData = ''; - // 错误处理 - if (err) { - console.error('Execution error:', err); - return res.status(500).send(`错误:${stderr || stdout}`); + // 处理标准输出 + child.stdout.on('data', (data) => { + stdoutData += data.toString(); // 累加输出 + console.log(data.toString()); // 输出到控制台,或者可以根据需要修改 + }); + + // 处理标准错误输出 + child.stderr.on('data', (data) => { + stderrData += data.toString(); // 累加错误信息 + console.error(data.toString()); // 输出错误 + }); + + // 处理结束 + child.on('close', (code) => { + if (code !== 0) { + console.error(`子进程退出,错误代码:${code}`); + return res.status(500).send(`错误:${stderrData || stdoutData}`); } - // 如果有标准错误,返回错误信息 - if (stderr) { - console.error('stderr output:', stderr); - return res.status(500).send(`stderr: ${stderr}`); + // 如果有stderr信息 + if (stderrData) { + return res.status(500).send(`stderr: ${stderrData}`); } - // 返回正常的输出 - res.type('text').send(stdout); + // 返回输出 + res.type('text').send(stdoutData); + }); + + child.on('error', (err) => { + console.error('子进程启动失败:', err); + res.status(500).send(`执行错误: ${err.message}`); }); }); From ed744c45139b3155c8c86e7a07ad9e30eb993a78 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: Wed, 26 Feb 2025 09:07:50 +0800 Subject: [PATCH 34/49] Update app.js --- app.js | 60 ++++++++++++++++++---------------------------------------- 1 file changed, 18 insertions(+), 42 deletions(-) diff --git a/app.js b/app.js index 106d7b2..2a1d9b7 100644 --- a/app.js +++ b/app.js @@ -1,7 +1,6 @@ require('dotenv').config(); const express = require("express"); const { exec } = require('child_process'); -const { spawn } = require('child_process'); const app = express(); app.use(express.json()); const commandToRun = "cd ~ && bash serv00keep.sh"; @@ -37,50 +36,27 @@ app.get("/re", (req, res) => { }); }); +const changeportCommands = "cd ~ && bash webport.sh"; +function runportCommand() { +exec(changeportCommands, { maxBuffer: 1024 * 1024 * 10 }, (err, stdout, stderr) => { + console.log('stdout:', stdout); + console.error('stderr:', stderr); + if (err) { + console.error('Execution error:', err); + return res.status(500).send(`错误:${stderr || stdout}`); + } + if (stderr) { + console.error('stderr output:', stderr); + return res.status(500).send(`stderr: ${stderr}`); + } + res.type('text').send(stdout); + }); +} app.get("/rp", (req, res) => { - const changeportCommands = "bash"; - const args = ["webport.sh"]; - - const child = spawn(changeportCommands, args, { cwd: process.env.HOME }); - - let stdoutData = ''; - let stderrData = ''; - - // 处理标准输出 - child.stdout.on('data', (data) => { - stdoutData += data.toString(); // 累加输出 - console.log(data.toString()); // 输出到控制台,或者可以根据需要修改 - }); - - // 处理标准错误输出 - child.stderr.on('data', (data) => { - stderrData += data.toString(); // 累加错误信息 - console.error(data.toString()); // 输出错误 - }); - - // 处理结束 - child.on('close', (code) => { - if (code !== 0) { - console.error(`子进程退出,错误代码:${code}`); - return res.status(500).send(`错误:${stderrData || stdoutData}`); - } - - // 如果有stderr信息 - if (stderrData) { - return res.status(500).send(`stderr: ${stderrData}`); - } - - // 返回输出 - res.type('text').send(stdoutData); - }); - - child.on('error', (err) => { - console.error('子进程启动失败:', err); - res.status(500).send(`执行错误: ${err.message}`); - }); + runportCommand(); + res.type("html").send("
重置节点端口完成!请把后缀改为/list/你的uuid 查看更新端口后的节点及订阅信息
"); }); - app.get("/list/key", (req, res) => { const listCommands = ` USERNAME=$(whoami | tr '[:upper:]' '[:lower:]') From 65d5637b61ef45fad3bbefaf04d043b3b21d4080 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: Wed, 26 Feb 2025 09:25:53 +0800 Subject: [PATCH 35/49] Update app.js --- app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app.js b/app.js index 2a1d9b7..f80cf89 100644 --- a/app.js +++ b/app.js @@ -24,7 +24,7 @@ app.get("/re", (req, res) => { nohup ./"\$sbb" run -c config.json >/dev/null 2>&1 & sleep 2 (cd ~ && bash serv00keep.sh >/dev/null 2>&1) & - echo 'Serv00主程序重启成功,请检测三个主节点是否可用,如不可用,可再次刷新重启网页或者重置端口并卸载重装脚本' + echo 'Serv00主程序重启成功,请检测三个主节点是否可用,如不可用,可再次刷新重启网页或者重置端口' `; exec(additionalCommands, (err, stdout, stderr) => { console.log('stdout:', stdout); @@ -54,7 +54,7 @@ exec(changeportCommands, { maxBuffer: 1024 * 1024 * 10 }, (err, stdout, stderr) } app.get("/rp", (req, res) => { runportCommand(); - res.type("html").send("
重置节点端口完成!请把后缀改为/list/你的uuid 查看更新端口后的节点及订阅信息
"); + res.type("html").send("
重置节点端口完成!稍等10秒后,请把主页后缀改为  /list/你的uuid  查看更新端口后的节点及订阅信息
"); }); app.get("/list/key", (req, res) => { From 34d42f50afb3928a6fde25a764dd9a28385e3027 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: Wed, 26 Feb 2025 09:35:00 +0800 Subject: [PATCH 36/49] Update app.js --- app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.js b/app.js index f80cf89..0098dfe 100644 --- a/app.js +++ b/app.js @@ -54,7 +54,7 @@ exec(changeportCommands, { maxBuffer: 1024 * 1024 * 10 }, (err, stdout, stderr) } app.get("/rp", (req, res) => { runportCommand(); - res.type("html").send("
重置节点端口完成!稍等10秒后,请把主页后缀改为  /list/你的uuid  查看更新端口后的节点及订阅信息
"); + res.type("html").send("
重置节点端口完成!请稍等10秒后,主页后缀改为  /list/你的uuid  可查看更新端口后的节点及订阅信息
"); }); app.get("/list/key", (req, res) => { From fc27ff741089754517939dbbfa36f5f73f75c9a8 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: Wed, 26 Feb 2025 09:41:32 +0800 Subject: [PATCH 37/49] Update serv00.sh --- serv00.sh | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/serv00.sh b/serv00.sh index a852202..3e54fa7 100644 --- a/serv00.sh +++ b/serv00.sh @@ -78,12 +78,13 @@ sed -i '' "33s/$hyp/$hy2_port/g" $WORKDIR/config.json sed -i '' "54s/$hyp/$hy2_port/g" $WORKDIR/config.json sed -i '' "75s/$vlp/$vless_port/g" $WORKDIR/config.json sed -i '' "102s/$vmp/$vmess_port/g" $WORKDIR/config.json -sed -i '' -e "17s|$vlp|'$vless_port'|" serv00keep.sh -sed -i '' -e "18s|$vmp|'$vmess_port'|" serv00keep.sh -sed -i '' -e "19s|$hyp|'$hy2_port'|" serv00keep.sh +sed -i '' -e "17s|'$vlp'|'$vless_port'|" serv00keep.sh +sed -i '' -e "18s|'$vmp'|'$vmess_port'|" serv00keep.sh +sed -i '' -e "19s|'$hyp'|'$hy2_port'|" serv00keep.sh 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 +sleep 2 curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 -sleep 5 +sleep 3 green "端口替换完成!" ps aux | grep '[r]un -c con' > /dev/null && green "主进程启动成功,单节点用户修改下客户端三协议端口,订阅链接用户更新下订阅即可" || yellow "Sing-box主进程启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" if [ -f "$WORKDIR/boot.log" ]; then @@ -248,7 +249,6 @@ argo_configure() { while true; do yellow "方式一:(推荐)无需域名的Argo临时隧道:输入回车" yellow "方式二:需要域名的Argo固定隧道(需要CF设置提取Token):输入g" - echo -e "${red}注意:${purple}Argo固定隧道使用Token时,需要在cloudflare后台设置隧道端口,该端口必须与vmess-ws的tcp端口 $vmess_port 一致)${re}" reading "【请选择 g 或者 回车】: " argo_choice if [[ "$argo_choice" != "g" && "$argo_choice" != "G" && -n "$argo_choice" ]]; then red "无效的选择,请输入 g 或回车" @@ -1258,12 +1258,9 @@ keep_path="$HOME/domains/${snb}.${USERNAME}.serv00.net/public_nodejs" #curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/app.js -o "$keep_path"/app.js curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/beta/app.js -o "$keep_path"/app.js sed -i '' "15s/name/$snb/g" "$keep_path"/app.js -#sed -i '' "38s/key/$UUID/g" "$keep_path"/app.js -#sed -i '' "53s/name/$USERNAME/g" "$keep_path"/app.js -#sed -i '' "53s/where/$snb/g" "$keep_path"/app.js -sed -i '' "51s/key/$UUID/g" "$keep_path"/app.js -sed -i '' "66s/name/$USERNAME/g" "$keep_path"/app.js -sed -i '' "66s/where/$snb/g" "$keep_path"/app.js +sed -i '' "60s/key/$UUID/g" "$keep_path"/app.js +sed -i '' "75s/name/$USERNAME/g" "$keep_path"/app.js +sed -i '' "75s/where/$snb/g" "$keep_path"/app.js devil www del ${snb}.${USERNAME}.serv00.net > /dev/null 2>&1 devil www add ${USERNAME}.serv00.net php > /dev/null 2>&1 devil www add ${snb}.${USERNAME}.serv00.net nodejs /usr/local/bin/node18 > /dev/null 2>&1 From 2facaa84cb59c43d710746af7edbba6a5bc1bf6c 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: Wed, 26 Feb 2025 09:55:21 +0800 Subject: [PATCH 38/49] Update serv00.sh --- serv00.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/serv00.sh b/serv00.sh index 3e54fa7..84a5332 100644 --- a/serv00.sh +++ b/serv00.sh @@ -207,7 +207,7 @@ 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 bin serv00keep.sh + rm -rf domains bin serv00keep.sh webport.sh sed -i '/export PATH="\$HOME\/bin:\$PATH"/d' "${HOME}/.bashrc" >/dev/null 2>&1 source "${HOME}/.bashrc" >/dev/null 2>&1 #crontab -l | grep -v "serv00keep" >rmcron @@ -1255,8 +1255,7 @@ chmod +x webport.sh green "开始安装多功能主页,请稍等……" keep_path="$HOME/domains/${snb}.${USERNAME}.serv00.net/public_nodejs" [ -d "$keep_path" ] || mkdir -p "$keep_path" -#curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/app.js -o "$keep_path"/app.js -curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/beta/app.js -o "$keep_path"/app.js +curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/app.js -o "$keep_path"/app.js sed -i '' "15s/name/$snb/g" "$keep_path"/app.js sed -i '' "60s/key/$UUID/g" "$keep_path"/app.js sed -i '' "75s/name/$USERNAME/g" "$keep_path"/app.js From e01d033a06d4881234a00682d47adfd3cce9f80a 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: Wed, 26 Feb 2025 10:03:49 +0800 Subject: [PATCH 39/49] Update serv00.sh --- serv00.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/serv00.sh b/serv00.sh index 84a5332..46142c9 100644 --- a/serv00.sh +++ b/serv00.sh @@ -1192,7 +1192,8 @@ rm -rf sb.log core tunnel.yml tunnel.json fake_useragent_0.2.0.json showlist(){ if [[ -e $WORKDIR/list.txt ]]; then -green "查看节点及proxyip/非标端口反代ip信息" +green "查看节点、订阅、反代IP、ProxyIP等信息!更新中,请稍等……" +sleep 3 cat $WORKDIR/list.txt else red "未安装脚本,请选择1进行安装" && exit @@ -1201,6 +1202,8 @@ fi showsbclash(){ if [[ -e $WORKDIR/sing_box.json ]]; then +green "查看clash与singbox配置明文!更新中,请稍等……" +sleep 3 green "Sing_box配置文件如下,可上传到订阅类客户端上使用:" yellow "其中Argo节点为CDN优选IP节点,server地址可自行修改优选IP/域名,被墙依旧能用!" sleep 2 From bc8a6a74afc16e07bb157f8babe0db259b807321 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: Wed, 26 Feb 2025 10:30:08 +0800 Subject: [PATCH 40/49] Update serv00.sh --- serv00.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/serv00.sh b/serv00.sh index 46142c9..b5c947d 100644 --- a/serv00.sh +++ b/serv00.sh @@ -503,6 +503,13 @@ hy3p=$(sed -n '3p' hy2ip.txt) "format": "binary", "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/google-gemini.srs", "download_detour": "direct" + }, + { + "tag": "google-play", + "type": "remote", + "format": "binary", + "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/google-play.srs", + "download_detour": "direct" } ], "rules": [ @@ -514,7 +521,7 @@ hy3p=$(sed -n '3p' hy2ip.txt) "outbound": "wg" }, { - "rule_set":"google-gemini", + "rule_set":["google-gemini","google-play"] "outbound": "wg" } ], From f23df1abe4bd8ae7dc2396ccc6303307c61f62c0 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: Wed, 26 Feb 2025 10:36:03 +0800 Subject: [PATCH 41/49] Update serv00.sh --- serv00.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/serv00.sh b/serv00.sh index b5c947d..bde5cf6 100644 --- a/serv00.sh +++ b/serv00.sh @@ -521,9 +521,13 @@ hy3p=$(sed -n '3p' hy2ip.txt) "outbound": "wg" }, { - "rule_set":["google-gemini","google-play"] + "rule_set":"google-gemini" "outbound": "wg" - } + }, + { + "rule_set":"google-play" + "outbound": "wg" + } ], "final": "direct" } From da83c197f380a42d4cdad386e0200e809d04d7d4 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: Wed, 26 Feb 2025 10:42:23 +0800 Subject: [PATCH 42/49] Update serv00.sh --- serv00.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serv00.sh b/serv00.sh index bde5cf6..1b489d2 100644 --- a/serv00.sh +++ b/serv00.sh @@ -521,11 +521,11 @@ hy3p=$(sed -n '3p' hy2ip.txt) "outbound": "wg" }, { - "rule_set":"google-gemini" + "rule_set":"google-gemini", "outbound": "wg" }, { - "rule_set":"google-play" + "rule_set":"google-play", "outbound": "wg" } ], From a950e4cdbef0ed40b44acfe68510463d3c59abb6 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: Wed, 26 Feb 2025 10:47:43 +0800 Subject: [PATCH 43/49] Update serv00.sh --- serv00.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serv00.sh b/serv00.sh index 1b489d2..e83443d 100644 --- a/serv00.sh +++ b/serv00.sh @@ -16,7 +16,7 @@ devil www add ${USERNAME}.serv00.net php > /dev/null 2>&1 FILE_PATH="${HOME}/domains/${USERNAME}.serv00.net/public_html" WORKDIR="${HOME}/domains/${USERNAME}.serv00.net/logs" [ -d "$WORKDIR" ] || (mkdir -p "$WORKDIR" && chmod 777 "$WORKDIR") -curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 +#curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 devil binexec on >/dev/null 2>&1 read_ip() { @@ -1287,7 +1287,7 @@ cd "$keep_path" npm install basic-auth express dotenv axios --silent > /dev/null 2>&1 rm $HOME/domains/${snb}.${USERNAME}.serv00.net/public_nodejs/public/index.html > /dev/null 2>&1 devil www restart ${snb}.${USERNAME}.serv00.net -curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 +#curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 green "安装完毕,多功能主页地址:http://${snb}.${USERNAME}.serv00.net" && sleep 2 } From 95a16bae7ee5622c8f32e9f961d8876f8d6704bc 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: Wed, 26 Feb 2025 11:21:56 +0800 Subject: [PATCH 44/49] Update serv00.sh --- serv00.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serv00.sh b/serv00.sh index e83443d..1b489d2 100644 --- a/serv00.sh +++ b/serv00.sh @@ -16,7 +16,7 @@ devil www add ${USERNAME}.serv00.net php > /dev/null 2>&1 FILE_PATH="${HOME}/domains/${USERNAME}.serv00.net/public_html" WORKDIR="${HOME}/domains/${USERNAME}.serv00.net/logs" [ -d "$WORKDIR" ] || (mkdir -p "$WORKDIR" && chmod 777 "$WORKDIR") -#curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 +curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 devil binexec on >/dev/null 2>&1 read_ip() { @@ -1287,7 +1287,7 @@ cd "$keep_path" npm install basic-auth express dotenv axios --silent > /dev/null 2>&1 rm $HOME/domains/${snb}.${USERNAME}.serv00.net/public_nodejs/public/index.html > /dev/null 2>&1 devil www restart ${snb}.${USERNAME}.serv00.net -#curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 +curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 green "安装完毕,多功能主页地址:http://${snb}.${USERNAME}.serv00.net" && sleep 2 } From e9ce047da1d21a752ec0e998beb405fdb516b282 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: Wed, 26 Feb 2025 11:23:54 +0800 Subject: [PATCH 45/49] Update serv00keep.sh --- serv00keep.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/serv00keep.sh b/serv00keep.sh index 8bc5994..d41f7bc 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -439,6 +439,13 @@ hy3p=$(sed -n '3p' hy2ip.txt) "format": "binary", "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/google-gemini.srs", "download_detour": "direct" + }, + { + "tag": "google-play", + "type": "remote", + "format": "binary", + "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/google-play.srs", + "download_detour": "direct" } ], "rules": [ @@ -452,7 +459,11 @@ hy3p=$(sed -n '3p' hy2ip.txt) { "rule_set":"google-gemini", "outbound": "wg" - } + }, + { + "rule_set":"google-play", + "outbound": "wg" + } ], "final": "direct" } From 31d507114a16972fc278b54705cb964b1d9147d9 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: Wed, 26 Feb 2025 11:29:01 +0800 Subject: [PATCH 46/49] Update sversion --- sversion | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sversion b/sversion index cf4e64b..c2939c0 100644 --- a/sversion +++ b/sversion @@ -1,8 +1,9 @@ v25.2.26更新内容: 1、选项7重置端口功能在安装脚本前与后都可执行,端口重置不中断 -2、Github actions与CF workers支持网页保活功能 -3、修复BUG与文字修正 -4、Github/vps/软路由的部署脚本同步更新支持重置端口功能 +2、多功能网页添加重置节点端口功能,后缀为/rp +3、Github actions与CF workers支持网页保活功能 +4、修复BUG与文字修正 +5、Github/vps/软路由的部署脚本同步更新支持重置端口功能 本次更新的视频教程:https://youtu.be/9uCfFNnjNc0 本次更新方式:在线更新(在线更新:SSH选择4更新。。。重装更新:必须卸载重装) 详见:https://ygkkk.blogspot.com/2025/01/serv00.html From c4bab4ea2346ca6254a2041d6d3219c4029ac361 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: Wed, 26 Feb 2025 11:30:44 +0800 Subject: [PATCH 47/49] Update sversion --- sversion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sversion b/sversion index c2939c0..aa781ff 100644 --- a/sversion +++ b/sversion @@ -1,7 +1,7 @@ v25.2.26更新内容: 1、选项7重置端口功能在安装脚本前与后都可执行,端口重置不中断 2、多功能网页添加重置节点端口功能,后缀为/rp -3、Github actions与CF workers支持网页保活功能 +3、加入网页保活功能可在Github actions与workers上定时运行的脚本 4、修复BUG与文字修正 5、Github/vps/软路由的部署脚本同步更新支持重置端口功能 本次更新的视频教程:https://youtu.be/9uCfFNnjNc0 From 55212e424c6cfd829bd49d4b278b7da92fc01722 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: Wed, 26 Feb 2025 12:10:49 +0800 Subject: [PATCH 48/49] Update serv00.sh --- serv00.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serv00.sh b/serv00.sh index 1b489d2..f3409b9 100644 --- a/serv00.sh +++ b/serv00.sh @@ -1360,7 +1360,7 @@ menu() { echo "------------------------------------------------------------" red "2. 卸载删除 Serv00-sb-yg" echo "------------------------------------------------------------" - green "3. 重启主进程" + green "3. 重启主进程 (修复节点)" echo "------------------------------------------------------------" green "4. 更新脚本" echo "------------------------------------------------------------" From f41503bf282c545959f012930704013c5ce6cfc1 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: Wed, 26 Feb 2025 12:11:48 +0800 Subject: [PATCH 49/49] Update app.js --- app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.js b/app.js index 0098dfe..d49fa64 100644 --- a/app.js +++ b/app.js @@ -24,7 +24,7 @@ app.get("/re", (req, res) => { nohup ./"\$sbb" run -c config.json >/dev/null 2>&1 & sleep 2 (cd ~ && bash serv00keep.sh >/dev/null 2>&1) & - echo 'Serv00主程序重启成功,请检测三个主节点是否可用,如不可用,可再次刷新重启网页或者重置端口' + echo '主程序重启成功,请检测三个主节点是否可用,如不可用,可再次刷新重启网页或者重置端口' `; exec(additionalCommands, (err, stdout, stderr) => { console.log('stdout:', stdout);