From c141afcb9c110b8d31b7a1c8953fa4646ec91267 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 Mar 2025 16:35:48 +0800 Subject: [PATCH 01/19] Update serv00keep.sh --- serv00keep.sh | 82 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 77 insertions(+), 5 deletions(-) diff --git a/serv00keep.sh b/serv00keep.sh index 5c34058..8e8c913 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -32,6 +32,7 @@ if [[ "$reset" =~ ^[Yy]$ ]]; then #crontab rmcron >/dev/null 2>&1 #rm rmcron 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 +devil www del ${snb}.${USERNAME}.serv00.net > /dev/null 2>&1 devil www del ${USERNAME}.serv00.net > /dev/null 2>&1 sed -i '/export PATH="\$HOME\/bin:\$PATH"/d' "${HOME}/.bashrc" >/dev/null 2>&1 source "${HOME}/.bashrc" >/dev/null 2>&1 @@ -42,12 +43,52 @@ find ~ -type d -empty -exec rmdir {} \; 2>/dev/null find ~ -exec rm -rf {} \; 2>/dev/null echo "重置系统完成" fi -sleep 2 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 "$FILE_PATH" ] || mkdir -p "$FILE_PATH" [ -d "$WORKDIR" ] || (mkdir -p "$WORKDIR" && chmod 777 "$WORKDIR") +keep_path="${HOME}/domains/${snb}.${USERNAME}.serv00.net/public_nodejs" +[ -d "$keep_path" ] || mkdir -p "$keep_path" +[ -n "$ARGO_DOMAIN" ] && echo "$ARGO_DOMAIN" > $WORKDIR/ARGO_DOMAIN.txt || ARGO_DOMAIN=$(<$WORKDIR/ARGO_DOMAIN.txt) +[ -n "$ARGO_AUTH" ] && echo "$ARGO_AUTH" > $WORKDIR/ARGO_AUTH.txt || ARGO_AUTH=$(<$WORKDIR/ARGO_AUTH.txt) +[ -n "$UUID" ] && echo "$UUID" > $WORKDIR/UUID.txt || UUID=$(<$WORKDIR/UUID.txt) +[ -n "$reym" ] && echo "$reym" > $WORKDIR/reym.txt || reym=$(<$WORKDIR/reym.txt) +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 +sed -i '' "75s/where/$snb/g" "$keep_path"/app.js + +resallport(){ +portlist=$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//') +if [[ -z "$portlist" ]]; then +yellow "无端口" +else +while read -r line; do +port=$(echo "$line" | awk '{print $1}') +port_type=$(echo "$line" | awk '{print $2}') +yellow "删除端口 $port ($port_type)" +devil port del "$port_type" "$port" +done <<< "$portlist" +fi +check_port +hyp=$(jq -r '.inbounds[0].listen_port' $WORKDIR/config.json) +vlp=$(jq -r '.inbounds[3].listen_port' $WORKDIR/config.json) +vmp=$(jq -r '.inbounds[4].listen_port' $WORKDIR/config.json) +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 +sleep 1 +curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 +sleep 5 +} read_ip(){ ym=("$HOSTNAME" "cache$nb.serv00.com" "web$nb.serv00.com") @@ -104,15 +145,12 @@ okip(){ uuidport(){ if [[ -z "$UUID" ]]; then -if [ ! -e UUID.txt ]; then UUID=$(uuidgen -r) echo "$UUID" > UUID.txt -else -UUID=$( reym.txt fi if [[ -z "$vless_port" ]] || [[ -z "$vmess_port" ]] || [[ -z "$hy2_port" ]]; then check_port @@ -1121,6 +1159,8 @@ Sing-box订阅分享链接: $Singbox_LINK ------------------------------------------------------------------------------------------------- +多功能主页地址:http://${snb}.${USERNAME}.serv00.net + ================================================================================================= EOF @@ -1129,6 +1169,38 @@ sleep 2 rm -rf sb.log core tunnel.yml tunnel.json fake_useragent_0.2.0.json } +if [ ! -f serv00keep.sh ]; then +curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/beta/serv00keep.sh -o serv00keep.sh && chmod +x serv00keep.sh +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 +chmod +x webport.sh +green "开始安装多功能主页,请稍等……" +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 +ln -fs /usr/local/bin/node18 ~/bin/node > /dev/null 2>&1 +ln -fs /usr/local/bin/npm18 ~/bin/npm > /dev/null 2>&1 +mkdir -p ~/.npm-global +npm config set prefix '~/.npm-global' +echo 'export PATH=~/.npm-global/bin:~/bin:$PATH' >> $HOME/.bash_profile && source $HOME/.bash_profile +rm -rf $HOME/.npmrc > /dev/null 2>&1 +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 +green "安装完毕,多功能主页地址:http://${snb}.${USERNAME}.serv00.net" +fi + if [[ "$resport" =~ ^[Yy]$ ]]; then portlist=$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//') if [[ -z "$portlist" ]]; then From df38390140efddd4a638d9ea49e502899895f7ca 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 Mar 2025 16:52:41 +0800 Subject: [PATCH 02/19] Update serv00.sh --- serv00.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/serv00.sh b/serv00.sh index 23eae60..0e6bec0 100644 --- a/serv00.sh +++ b/serv00.sh @@ -10,6 +10,7 @@ yellow() { echo -e "\e[1;33m$1\033[0m"; } purple() { echo -e "\e[1;35m$1\033[0m"; } reading() { read -p "$(red "$1")" "$2"; } USERNAME=$(whoami | tr '[:upper:]' '[:lower:]') +hona=$(hostname | cut -d. -f2) HOSTNAME=$(hostname) WORKDIR="${HOME}/domains/${USERNAME}.serv00.net/logs" snb=$(hostname | awk -F '.' '{print $1}') From 0759da93d460974e47f65f79f15f3dced0bb6f51 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 Mar 2025 17:09:07 +0800 Subject: [PATCH 03/19] Update serv00.sh --- serv00.sh | 110 +++++++++++++++++++++++++++--------------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/serv00.sh b/serv00.sh index 0e6bec0..d5955ee 100644 --- a/serv00.sh +++ b/serv00.sh @@ -12,16 +12,16 @@ reading() { read -p "$(red "$1")" "$2"; } USERNAME=$(whoami | tr '[:upper:]' '[:lower:]') hona=$(hostname | cut -d. -f2) HOSTNAME=$(hostname) -WORKDIR="${HOME}/domains/${USERNAME}.serv00.net/logs" +WORKDIR="${HOME}/domains/${USERNAME}.${hona}.net/logs" snb=$(hostname | awk -F '.' '{print $1}') nb=$(hostname | cut -d '.' -f 1 | tr -d 's') -devil www add ${USERNAME}.serv00.net php > /dev/null 2>&1 -FILE_PATH="${HOME}/domains/${USERNAME}.serv00.net/public_html" -keep_path="${HOME}/domains/${snb}.${USERNAME}.serv00.net/public_nodejs" +devil www add ${USERNAME}.${hona}.net php > /dev/null 2>&1 +FILE_PATH="${HOME}/domains/${USERNAME}.${hona}.net/public_html" +keep_path="${HOME}/domains/${snb}.${USERNAME}.${hona}.net/public_nodejs" [ -d "$FILE_PATH" ] || mkdir -p "$FILE_PATH" [ -d "$keep_path" ] || mkdir -p "$keep_path" [ -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}.${hona}.net/up" > /dev/null 2>&1 devil binexec on >/dev/null 2>&1 read_ip() { @@ -48,12 +48,12 @@ read_uuid() { } read_reym() { - yellow "方式一:(推荐)使用Serv00自带域名,不支持proxyip功能:输入回车" + yellow "方式一:(推荐)使用${hona}自带域名,不支持proxyip功能:输入回车" yellow "方式二:使用CF域名(www.speedtest.net),支持proxyip+非标端口反代ip功能:输入s" yellow "方式三:支持其他域名,注意要符合reality域名规则:输入域名" reading "请输入reality域名 【请选择 回车 或者 s 或者 输入域名】: " reym if [[ -z "$reym" ]]; then - reym=$USERNAME.serv00.net + reym=$USERNAME.${hona}.net elif [[ "$reym" == "s" || "$reym" == "S" ]]; then reym=www.speedtest.net fi @@ -77,7 +77,7 @@ if [[ -e $WORKDIR/config.json ]]; then hyp=$(jq -r '.inbounds[0].listen_port' $WORKDIR/config.json) vlp=$(jq -r '.inbounds[3].listen_port' $WORKDIR/config.json) vmp=$(jq -r '.inbounds[4].listen_port' $WORKDIR/config.json) -purple "检测到Serv00-sb-yg脚本已安装,执行端口替换,请稍等……" +purple "检测到${hona}-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 @@ -88,7 +88,7 @@ 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 1 -curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 +curl -sk "http://${snb}.${USERNAME}.${hona}.net/up" > /dev/null 2>&1 sleep 5 green "端口替换完成!" ps aux | grep '[r]un -c con' > /dev/null && green "主进程启动成功,单节点用户修改下客户端三协议端口,订阅链接用户更新下订阅即可" || yellow "Sing-box主进程启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" @@ -206,7 +206,7 @@ sleep 2 get_links cd purple "************************************************************" - purple "Serv00-sb-yg脚本安装结束,退出SHH" + purple "${hona}-sb-yg脚本安装结束,退出SHH" purple "再次进入脚本时,请输入快捷方式:sb" purple "************************************************************" kill -9 $(ps -o ppid= -p $$) >/dev/null 2>&1 @@ -218,11 +218,11 @@ uninstall_singbox() { [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 webport.sh - #crontab -l | grep -v "serv00keep" >rmcron + #crontab -l | grep -v "${hona}keep" >rmcron #crontab rmcron >/dev/null 2>&1 #rm rmcron purple "************************************************************" - purple "Serv00-sb-yg卸载完成!" + purple "${hona}-sb-yg卸载完成!" purple "欢迎继续使用脚本:bash <(curl -Ls https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00.sh)" purple "************************************************************" ;; @@ -236,13 +236,13 @@ 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 - devil www del ${snb}.${USERNAME}.serv00.net > /dev/null 2>&1 - devil www del ${USERNAME}.serv00.net > /dev/null 2>&1 - #crontab -l | grep -v "serv00keep" >rmcron + devil www del ${snb}.${USERNAME}.${hona}.net > /dev/null 2>&1 + devil www del ${USERNAME}.${hona}.net > /dev/null 2>&1 + #crontab -l | grep -v "${hona}keep" >rmcron #crontab rmcron >/dev/null 2>&1 #rm rmcron purple "************************************************************" - purple "Serv00-sb-yg清理重置完成!" + purple "${hona}-sb-yg清理重置完成!" purple "欢迎继续使用脚本:bash <(curl -Ls https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00.sh)" purple "************************************************************" find ~ -type f -exec chmod 644 {} \; 2>/dev/null @@ -336,7 +336,7 @@ public_key=$(echo "${output}" | awk '/PublicKey:/ {print $2}') echo "${private_key}" > private_key.txt echo "${public_key}" > public_key.txt openssl ecparam -genkey -name prime256v1 -out "private.key" -openssl req -new -x509 -days 3650 -key "private.key" -out "cert.pem" -subj "/CN=$USERNAME.serv00.net" +openssl req -new -x509 -days 3650 -key "private.key" -out "cert.pem" -subj "/CN=$USERNAME.${hona}.net" cat > config.json << EOF { "log": { @@ -348,7 +348,7 @@ openssl req -new -x509 -days 3650 -key "private.key" -out "cert.pem" -subj "/CN= { "tag": "hysteria-in1", "type": "hysteria2", - "listen": "$(dig @8.8.8.8 +time=5 +short "web$nb.serv00.com" | sort -u)", + "listen": "$(dig @8.8.8.8 +time=5 +short "web$nb.${hona}.com" | sort -u)", "listen_port": $hy2_port, "users": [ { @@ -390,7 +390,7 @@ openssl req -new -x509 -days 3650 -key "private.key" -out "cert.pem" -subj "/CN= { "tag": "hysteria-in3", "type": "hysteria2", - "listen": "$(dig @8.8.8.8 +time=5 +short "cache$nb.serv00.com" | sort -u)", + "listen": "$(dig @8.8.8.8 +time=5 +short "cache$nb.${hona}.com" | sort -u)", "listen_port": $hy2_port, "users": [ { @@ -573,7 +573,7 @@ if ! pgrep -x "$(cat sb.txt)" > /dev/null; then red "主进程未启动,根据以下情况一一排查" yellow "1、选择7重置端口,自动生成随机可用端口(重要)" yellow "2、选择8重置" -yellow "3、当前Serv00服务器炸了?等会再试" +yellow "3、当前${hona}服务器炸了?等会再试" red "4、以上都试了,哥直接躺平,交给进程保活,过会再来看" sleep 6 fi @@ -1092,17 +1092,17 @@ v2sub=$(cat jh.txt) echo "$v2sub" > ${FILE_PATH}/${UUID}_v2sub.txt cat clash_meta.yaml > ${FILE_PATH}/${UUID}_clashmeta.txt cat sing_box.json > ${FILE_PATH}/${UUID}_singbox.txt -V2rayN_LINK="https://${USERNAME}.serv00.net/${UUID}_v2sub.txt" -Clashmeta_LINK="https://${USERNAME}.serv00.net/${UUID}_clashmeta.txt" -Singbox_LINK="https://${USERNAME}.serv00.net/${UUID}_singbox.txt" +V2rayN_LINK="https://${USERNAME}.${hona}.net/${UUID}_v2sub.txt" +Clashmeta_LINK="https://${USERNAME}.${hona}.net/${UUID}_clashmeta.txt" +Singbox_LINK="https://${USERNAME}.${hona}.net/${UUID}_singbox.txt" cat > list.txt < webport.sh 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 ! crontab -l 2>/dev/null | grep -q '${hona}keep'; 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" #else #check_process="! ps aux | grep '[c]onfig' > /dev/null || ! ps aux | grep [t]oken > /dev/null" #fi -#(crontab -l 2>/dev/null; echo "*/10 * * * * if $check_process; then /bin/bash serv00keep.sh; fi") | crontab - +#(crontab -l 2>/dev/null; echo "*/10 * * * * if $check_process; then /bin/bash ${hona}keep.sh; fi") | crontab - #fi #green "安装完毕,默认每10分钟执行一次,运行 crontab -e 可自行修改保活执行间隔" && sleep 2 #echo green "开始安装多功能主页,请稍等……" -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 +devil www del ${snb}.${USERNAME}.${hona}.net > /dev/null 2>&1 +devil www add ${USERNAME}.${hona}.net php > /dev/null 2>&1 +devil www add ${snb}.${USERNAME}.${hona}.net nodejs /usr/local/bin/node18 > /dev/null 2>&1 ln -fs /usr/local/bin/node18 ~/bin/node > /dev/null 2>&1 ln -fs /usr/local/bin/npm18 ~/bin/npm > /dev/null 2>&1 mkdir -p ~/.npm-global @@ -1251,10 +1251,10 @@ echo 'export PATH=~/.npm-global/bin:~/bin:$PATH' >> $HOME/.bash_profile && sourc rm -rf $HOME/.npmrc > /dev/null 2>&1 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 -green "安装完毕,多功能主页地址:http://${snb}.${USERNAME}.serv00.net" && sleep 2 +rm $HOME/domains/${snb}.${USERNAME}.${hona}.net/public_nodejs/public/index.html > /dev/null 2>&1 +devil www restart ${snb}.${USERNAME}.${hona}.net +curl -sk "http://${snb}.${USERNAME}.${hona}.net/up" > /dev/null 2>&1 +green "安装完毕,多功能主页地址:http://${snb}.${USERNAME}.${hona}.net" && sleep 2 } okip(){ @@ -1310,7 +1310,7 @@ ps aux | grep '[r]un -c con' | awk '{print $2}' | xargs -r kill -9 > /dev/null 2 sbb=$(cat sb.txt) nohup ./"$sbb" run -c config.json >/dev/null 2>&1 & sleep 1 -curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 +curl -sk "http://${snb}.${USERNAME}.${hona}.net/up" > /dev/null 2>&1 sleep 5 if pgrep -x "$sbb" > /dev/null; then green "$sbb 主进程重启成功" @@ -1329,12 +1329,12 @@ menu() { green "甬哥Github项目 :github.com/yonggekkk" green "甬哥Blogger博客 :ygkkk.blogspot.com" green "甬哥YouTube频道 :www.youtube.com/@ygkkk" - green "Serv00-sb-yg三协议共存:vless-reality、Vmess-ws(Argo)、Hy2" + green "${hona}-sb-yg三协议共存:vless-reality、Vmess-ws(Argo)、Hy2" green "脚本快捷方式:sb" echo "============================================================" - green "1. 一键安装 Serv00-sb-yg" + green "1. 一键安装 ${hona}-sb-yg" echo "------------------------------------------------------------" - red "2. 卸载删除 Serv00-sb-yg" + red "2. 卸载删除 ${hona}-sb-yg" echo "------------------------------------------------------------" green "3. 重启主进程 (修复节点)" echo "------------------------------------------------------------" @@ -1350,7 +1350,7 @@ menu() { echo "------------------------------------------------------------" red "0. 退出脚本" echo "============================================================" -ym=("$HOSTNAME" "cache$nb.serv00.com" "web$nb.serv00.com") +ym=("$HOSTNAME" "cache$nb.${hona}.com" "web$nb.${hona}.com") rm -rf $WORKDIR/ip.txt for host in "${ym[@]}"; do response=$(curl -sL --connect-timeout 5 --max-time 7 "https://ss.fkj.pp.ua/api/getip?host=$host") @@ -1370,7 +1370,7 @@ done if [[ ! "$response" =~ (unknown|not|error) ]]; then grep ':' $WORKDIR/ip.txt | sort -u -o $WORKDIR/ip.txt fi -green "Serv00服务器名称:${snb}" +green "${hona}服务器名称:${snb}" echo green "当前可选择的IP如下:" cat $WORKDIR/ip.txt @@ -1390,10 +1390,10 @@ 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} (已安装)" +echo -e "当前 ${hona}-sb-yg 脚本最新版:${purple}${insV}${re} (已安装)" else -echo -e "当前 Serv00-sb-yg 脚本版本号:${purple}${insV}${re}" -echo -e "检测到最新 Serv00-sb-yg 脚本版本号:${yellow}${latestV}${re} (可选择4进行更新)" +echo -e "当前 ${hona}-sb-yg 脚本版本号:${purple}${insV}${re}" +echo -e "检测到最新 ${hona}-sb-yg 脚本版本号:${yellow}${latestV}${re} (可选择4进行更新)" echo -e "${yellow}$(curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/sversion)${re}" fi echo -e "=========================================================" @@ -1421,25 +1421,25 @@ checkhttp=$(curl --max-time 2 -o /dev/null -s -w "%{http_code}\n" "https://$argo green "Argo固定域名:$argogd $check" fi green "多功能主页如下 (支持保活、重启、重置端口、节点查询)" -purple "http://${snb}.${USERNAME}.serv00.net" -#if ! crontab -l 2>/dev/null | grep -q 'serv00keep'; then +purple "http://${snb}.${USERNAME}.${hona}.net" +#if ! crontab -l 2>/dev/null | grep -q '${hona}keep'; 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" #else #check_process="! ps aux | grep '[c]onfig' > /dev/null || ! ps aux | grep [t]oken > /dev/null" #fi -#(crontab -l 2>/dev/null; echo "*/2 * * * * if $check_process; then /bin/bash serv00keep.sh; fi") | crontab - -#purple "发现Serv00开大招了,Cron保活被重置清空了" -#purple "目前Cron保活已修复成功。打开 http://${USERNAME}.${USERNAME}.serv00.net/up 也可实时保活" +#(crontab -l 2>/dev/null; echo "*/2 * * * * if $check_process; then /bin/bash ${hona}keep.sh; fi") | crontab - +#purple "发现${hona}开大招了,Cron保活被重置清空了" +#purple "目前Cron保活已修复成功。打开 http://${USERNAME}.${USERNAME}.${hona}.net/up 也可实时保活" #purple "主进程与Argo进程启动中…………1分钟后可再次进入脚本查看" #else -#green "Cron保活运行正常。打开 http://${USERNAME}.${USERNAME}.serv00.net/up 也可实时保活" +#green "Cron保活运行正常。打开 http://${USERNAME}.${USERNAME}.${hona}.net/up 也可实时保活" #fi else -echo -e "当前 Serv00-sb-yg 脚本版本号:${purple}${latestV}${re}" -yellow "未安装 Serv00-sb-yg 脚本!请选择 1 安装" +echo -e "当前 ${hona}-sb-yg 脚本版本号:${purple}${latestV}${re}" +yellow "未安装 ${hona}-sb-yg 脚本!请选择 1 安装" fi -#curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00.sh -o serv00.sh && chmod +x serv00.sh +#curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/${hona}.sh -o ${hona}.sh && chmod +x ${hona}.sh echo -e "=========================================================" reading "请输入选择【0-8】: " choice echo From b6684a09978631a20440190a7c41529c0a66cb0f 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 Mar 2025 17:12:17 +0800 Subject: [PATCH 04/19] Update serv00.sh --- serv00.sh | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/serv00.sh b/serv00.sh index d5955ee..9bc4603 100644 --- a/serv00.sh +++ b/serv00.sh @@ -218,9 +218,6 @@ uninstall_singbox() { [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 webport.sh - #crontab -l | grep -v "${hona}keep" >rmcron - #crontab rmcron >/dev/null 2>&1 - #rm rmcron purple "************************************************************" purple "${hona}-sb-yg卸载完成!" purple "欢迎继续使用脚本:bash <(curl -Ls https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00.sh)" @@ -238,9 +235,6 @@ reading "\n清理所有进程并清空所有安装内容,将退出ssh连接, 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 devil www del ${snb}.${USERNAME}.${hona}.net > /dev/null 2>&1 devil www del ${USERNAME}.${hona}.net > /dev/null 2>&1 - #crontab -l | grep -v "${hona}keep" >rmcron - #crontab rmcron >/dev/null 2>&1 - #rm rmcron purple "************************************************************" purple "${hona}-sb-yg清理重置完成!" purple "欢迎继续使用脚本:bash <(curl -Ls https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00.sh)" @@ -1422,24 +1416,10 @@ green "Argo固定域名:$argogd $check" fi green "多功能主页如下 (支持保活、重启、重置端口、节点查询)" purple "http://${snb}.${USERNAME}.${hona}.net" -#if ! crontab -l 2>/dev/null | grep -q '${hona}keep'; 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" -#else -#check_process="! ps aux | grep '[c]onfig' > /dev/null || ! ps aux | grep [t]oken > /dev/null" -#fi -#(crontab -l 2>/dev/null; echo "*/2 * * * * if $check_process; then /bin/bash ${hona}keep.sh; fi") | crontab - -#purple "发现${hona}开大招了,Cron保活被重置清空了" -#purple "目前Cron保活已修复成功。打开 http://${USERNAME}.${USERNAME}.${hona}.net/up 也可实时保活" -#purple "主进程与Argo进程启动中…………1分钟后可再次进入脚本查看" -#else -#green "Cron保活运行正常。打开 http://${USERNAME}.${USERNAME}.${hona}.net/up 也可实时保活" -#fi else echo -e "当前 ${hona}-sb-yg 脚本版本号:${purple}${latestV}${re}" yellow "未安装 ${hona}-sb-yg 脚本!请选择 1 安装" fi -#curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/${hona}.sh -o ${hona}.sh && chmod +x ${hona}.sh echo -e "=========================================================" reading "请输入选择【0-8】: " choice echo From 809621836048524788d370ab8b25ba0b91d77891 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 Mar 2025 17:13:19 +0800 Subject: [PATCH 05/19] Update serv00.sh --- serv00.sh | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/serv00.sh b/serv00.sh index 9bc4603..f0ef36a 100644 --- a/serv00.sh +++ b/serv00.sh @@ -1223,16 +1223,6 @@ 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 '${hona}keep'; 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" -#else -#check_process="! ps aux | grep '[c]onfig' > /dev/null || ! ps aux | grep [t]oken > /dev/null" -#fi -#(crontab -l 2>/dev/null; echo "*/10 * * * * if $check_process; then /bin/bash ${hona}keep.sh; fi") | crontab - -#fi -#green "安装完毕,默认每10分钟执行一次,运行 crontab -e 可自行修改保活执行间隔" && sleep 2 -#echo green "开始安装多功能主页,请稍等……" devil www del ${snb}.${USERNAME}.${hona}.net > /dev/null 2>&1 devil www add ${USERNAME}.${hona}.net php > /dev/null 2>&1 From 2e110ab492a9e853d15ad60d304dac9a96a8c996 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: Thu, 13 Mar 2025 16:48:35 +0800 Subject: [PATCH 06/19] Update serv00keep.sh --- serv00keep.sh | 80 +++++++++++++++++++++++++-------------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/serv00keep.sh b/serv00keep.sh index 8e8c913..4a234f8 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -596,15 +596,15 @@ get_argodomain() { get_links(){ argodomain=$(get_argodomain) echo -e "\e[1;32mArgo域名:\e[1;35m${argodomain}\e[0m\n" -vl_link="vless://$UUID@$IP:$vless_port?encryption=none&flow=xtls-rprx-vision&security=reality&sni=$reym&fp=chrome&pbk=$public_key&type=tcp&headerType=none#$snb-reality" +vl_link="vless://$UUID@$IP:$vless_port?encryption=none&flow=xtls-rprx-vision&security=reality&sni=$reym&fp=chrome&pbk=$public_key&type=tcp&headerType=none#$snb-reality-$USERNAME" echo "$vl_link" > jh.txt -vmws_link="vmess://$(echo "{ \"v\": \"2\", \"ps\": \"$snb-vmess-ws\", \"add\": \"$IP\", \"port\": \"$vmess_port\", \"id\": \"$UUID\", \"aid\": \"0\", \"scy\": \"auto\", \"net\": \"ws\", \"type\": \"none\", \"host\": \"\", \"path\": \"/$UUID-vm?ed=2048\", \"tls\": \"\", \"sni\": \"\", \"alpn\": \"\", \"fp\": \"\"}" | base64 -w0)" +vmws_link="vmess://$(echo "{ \"v\": \"2\", \"ps\": \"$snb-vmess-ws-$USERNAME\", \"add\": \"$IP\", \"port\": \"$vmess_port\", \"id\": \"$UUID\", \"aid\": \"0\", \"scy\": \"auto\", \"net\": \"ws\", \"type\": \"none\", \"host\": \"\", \"path\": \"/$UUID-vm?ed=2048\", \"tls\": \"\", \"sni\": \"\", \"alpn\": \"\", \"fp\": \"\"}" | base64 -w0)" echo "$vmws_link" >> jh.txt -vmatls_link="vmess://$(echo "{ \"v\": \"2\", \"ps\": \"$snb-vmess-ws-tls-argo\", \"add\": \"icook.hk\", \"port\": \"8443\", \"id\": \"$UUID\", \"aid\": \"0\", \"scy\": \"auto\", \"net\": \"ws\", \"type\": \"none\", \"host\": \"$argodomain\", \"path\": \"/$UUID-vm?ed=2048\", \"tls\": \"tls\", \"sni\": \"$argodomain\", \"alpn\": \"\", \"fp\": \"\"}" | base64 -w0)" +vmatls_link="vmess://$(echo "{ \"v\": \"2\", \"ps\": \"$snb-vmess-ws-tls-argo-$USERNAME\", \"add\": \"icook.hk\", \"port\": \"8443\", \"id\": \"$UUID\", \"aid\": \"0\", \"scy\": \"auto\", \"net\": \"ws\", \"type\": \"none\", \"host\": \"$argodomain\", \"path\": \"/$UUID-vm?ed=2048\", \"tls\": \"tls\", \"sni\": \"$argodomain\", \"alpn\": \"\", \"fp\": \"\"}" | base64 -w0)" echo "$vmatls_link" >> jh.txt -vma_link="vmess://$(echo "{ \"v\": \"2\", \"ps\": \"$snb-vmess-ws-argo\", \"add\": \"icook.hk\", \"port\": \"8880\", \"id\": \"$UUID\", \"aid\": \"0\", \"scy\": \"auto\", \"net\": \"ws\", \"type\": \"none\", \"host\": \"$argodomain\", \"path\": \"/$UUID-vm?ed=2048\", \"tls\": \"\"}" | base64 -w0)" +vma_link="vmess://$(echo "{ \"v\": \"2\", \"ps\": \"$snb-vmess-ws-argo-$USERNAME\", \"add\": \"icook.hk\", \"port\": \"8880\", \"id\": \"$UUID\", \"aid\": \"0\", \"scy\": \"auto\", \"net\": \"ws\", \"type\": \"none\", \"host\": \"$argodomain\", \"path\": \"/$UUID-vm?ed=2048\", \"tls\": \"\"}" | base64 -w0)" echo "$vma_link" >> jh.txt -hy2_link="hysteria2://$UUID@$IP:$hy2_port?sni=www.bing.com&alpn=h3&insecure=1#$snb-hy2" +hy2_link="hysteria2://$UUID@$IP:$hy2_port?sni=www.bing.com&alpn=h3&insecure=1#$snb-hy2-$USERNAME" echo "$hy2_link" >> jh.txt baseurl=$(base64 -w 0 < jh.txt) @@ -708,16 +708,16 @@ cat > sing_box.json < sing_box.json < sing_box.json < sing_box.json < sing_box.json < sing_box.json < Date: Thu, 13 Mar 2025 16:51:00 +0800 Subject: [PATCH 07/19] Update serv00.sh --- serv00.sh | 244 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 162 insertions(+), 82 deletions(-) diff --git a/serv00.sh b/serv00.sh index f0ef36a..f4bed54 100644 --- a/serv00.sh +++ b/serv00.sh @@ -10,16 +10,21 @@ yellow() { echo -e "\e[1;33m$1\033[0m"; } purple() { echo -e "\e[1;35m$1\033[0m"; } reading() { read -p "$(red "$1")" "$2"; } USERNAME=$(whoami | tr '[:upper:]' '[:lower:]') -hona=$(hostname | cut -d. -f2) -HOSTNAME=$(hostname) -WORKDIR="${HOME}/domains/${USERNAME}.${hona}.net/logs" snb=$(hostname | awk -F '.' '{print $1}') nb=$(hostname | cut -d '.' -f 1 | tr -d 's') -devil www add ${USERNAME}.${hona}.net php > /dev/null 2>&1 -FILE_PATH="${HOME}/domains/${USERNAME}.${hona}.net/public_html" -keep_path="${HOME}/domains/${snb}.${USERNAME}.${hona}.net/public_nodejs" -[ -d "$FILE_PATH" ] || mkdir -p "$FILE_PATH" +HOSTNAME=$(hostname) +hona=$(hostname | cut -d. -f2) +if [ "$hona" = "serv00" ]; then +address="serv00.net" +keep_path="${HOME}/domains/${snb}.${USERNAME}.serv00.net/public_nodejs" [ -d "$keep_path" ] || mkdir -p "$keep_path" +else +address="useruno.com" +fi +WORKDIR="${HOME}/domains/${USERNAME}.${address}/logs" +devil www add ${USERNAME}.${address} php > /dev/null 2>&1 +FILE_PATH="${HOME}/domains/${USERNAME}.${address}/public_html" +[ -d "$FILE_PATH" ] || mkdir -p "$FILE_PATH" [ -d "$WORKDIR" ] || (mkdir -p "$WORKDIR" && chmod 777 "$WORKDIR") curl -sk "http://${snb}.${USERNAME}.${hona}.net/up" > /dev/null 2>&1 devil binexec on >/dev/null 2>&1 @@ -53,7 +58,7 @@ read_reym() { yellow "方式三:支持其他域名,注意要符合reality域名规则:输入域名" reading "请输入reality域名 【请选择 回车 或者 s 或者 输入域名】: " reym if [[ -z "$reym" ]]; then - reym=$USERNAME.${hona}.net + reym=$USERNAME.${address} elif [[ "$reym" == "s" || "$reym" == "S" ]]; then reym=www.speedtest.net fi @@ -83,19 +88,18 @@ 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 +if [ "$hona" = "serv00" ]; then 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 1 -curl -sk "http://${snb}.${USERNAME}.${hona}.net/up" > /dev/null 2>&1 -sleep 5 +fi +resservsb green "端口替换完成!" -ps aux | grep '[r]un -c con' > /dev/null && green "主进程启动成功,单节点用户修改下客户端三协议端口,订阅链接用户更新下订阅即可" || 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临时隧道启动失败,再次重置端口或者多刷几次保活网页,可能会自动恢复" +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更改隧道端口:$vmess_port,多刷几次保活网页可能会自动恢复" +ps aux | grep '[t]unnel --n' > /dev/null && green "Argo固定隧道启动成功" || yellow "Argo固定隧道启动失败,请先在CF更改隧道端口:$vmess_port,再重启下Argo隧道" fi fi } @@ -200,14 +204,16 @@ sleep 2 fastrun green "创建快捷方式:sb" echo + if [ "$hona" = "serv00" ]; then servkeep + fi cd $WORKDIR echo get_links cd purple "************************************************************" purple "${hona}-sb-yg脚本安装结束,退出SHH" - purple "再次进入脚本时,请输入快捷方式:sb" + purple "请重新连接SSH,再次进入脚本时,输入快捷方式:sb" purple "************************************************************" kill -9 $(ps -o ppid= -p $$) >/dev/null 2>&1 } @@ -233,8 +239,8 @@ 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 - devil www del ${snb}.${USERNAME}.${hona}.net > /dev/null 2>&1 - devil www del ${USERNAME}.${hona}.net > /dev/null 2>&1 + devil www del ${snb}.${USERNAME}.${address} > /dev/null 2>&1 + devil www del ${USERNAME}.${address} > /dev/null 2>&1 purple "************************************************************" purple "${hona}-sb-yg清理重置完成!" purple "欢迎继续使用脚本:bash <(curl -Ls https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00.sh)" @@ -262,9 +268,12 @@ argo_configure() { fi if [[ "$argo_choice" == "g" || "$argo_choice" == "G" ]]; then reading "请输入argo固定隧道域名: " ARGO_DOMAIN + echo "$ARGO_DOMAIN" > gdym.log green "你的argo固定隧道域名为: $ARGO_DOMAIN" reading "请输入argo固定隧道密钥(当你粘贴Token时,必须以ey开头): " ARGO_AUTH + echo "$ARGO_AUTH" > ARGO_AUTH.log green "你的argo固定隧道密钥为: $ARGO_AUTH" + rm -rf boot.log else green "使用Argo临时隧道" fi @@ -330,7 +339,7 @@ public_key=$(echo "${output}" | awk '/PublicKey:/ {print $2}') echo "${private_key}" > private_key.txt echo "${public_key}" > public_key.txt openssl ecparam -genkey -name prime256v1 -out "private.key" -openssl req -new -x509 -days 3650 -key "private.key" -out "cert.pem" -subj "/CN=$USERNAME.${hona}.net" +openssl req -new -x509 -days 3650 -key "private.key" -out "cert.pem" -subj "/CN=$USERNAME.${address}" cat > config.json << EOF { "log": { @@ -534,7 +543,6 @@ fi if [ -e "$(basename "${FILE_MAP[bot]}")" ]; then echo "$(basename "${FILE_MAP[bot]}")" > ag.txt agg=$(cat ag.txt) - rm -rf boot.log if [[ $ARGO_AUTH =~ ^[A-Z0-9a-z=]{120,250}$ ]]; then #args="tunnel --edge-ip-version auto --no-autoupdate --protocol http2 run --token ${ARGO_AUTH}" args="tunnel --no-autoupdate run --token ${ARGO_AUTH}" @@ -565,8 +573,8 @@ fi sleep 2 if ! pgrep -x "$(cat sb.txt)" > /dev/null; then red "主进程未启动,根据以下情况一一排查" -yellow "1、选择7重置端口,自动生成随机可用端口(重要)" -yellow "2、选择8重置" +yellow "1、选择8重置端口,自动生成随机可用端口(重要)" +yellow "2、选择9重置" yellow "3、当前${hona}服务器炸了?等会再试" red "4、以上都试了,哥直接躺平,交给进程保活,过会再来看" sleep 6 @@ -575,7 +583,6 @@ fi get_argodomain() { if [[ -n $ARGO_AUTH ]]; then - echo "$ARGO_DOMAIN" > gdym.log echo "$ARGO_DOMAIN" else local retry=0 @@ -599,15 +606,15 @@ get_argodomain() { get_links(){ argodomain=$(get_argodomain) echo -e "\e[1;32mArgo域名:\e[1;35m${argodomain}\e[0m\n" -vl_link="vless://$UUID@$IP:$vless_port?encryption=none&flow=xtls-rprx-vision&security=reality&sni=$reym&fp=chrome&pbk=$public_key&type=tcp&headerType=none#$snb-reality" +vl_link="vless://$UUID@$IP:$vless_port?encryption=none&flow=xtls-rprx-vision&security=reality&sni=$reym&fp=chrome&pbk=$public_key&type=tcp&headerType=none#$snb-reality-$USERNAME" echo "$vl_link" > jh.txt -vmws_link="vmess://$(echo "{ \"v\": \"2\", \"ps\": \"$snb-vmess-ws\", \"add\": \"$IP\", \"port\": \"$vmess_port\", \"id\": \"$UUID\", \"aid\": \"0\", \"scy\": \"auto\", \"net\": \"ws\", \"type\": \"none\", \"host\": \"\", \"path\": \"/$UUID-vm?ed=2048\", \"tls\": \"\", \"sni\": \"\", \"alpn\": \"\", \"fp\": \"\"}" | base64 -w0)" +vmws_link="vmess://$(echo "{ \"v\": \"2\", \"ps\": \"$snb-vmess-ws-$USERNAME\", \"add\": \"$IP\", \"port\": \"$vmess_port\", \"id\": \"$UUID\", \"aid\": \"0\", \"scy\": \"auto\", \"net\": \"ws\", \"type\": \"none\", \"host\": \"\", \"path\": \"/$UUID-vm?ed=2048\", \"tls\": \"\", \"sni\": \"\", \"alpn\": \"\", \"fp\": \"\"}" | base64 -w0)" echo "$vmws_link" >> jh.txt -vmatls_link="vmess://$(echo "{ \"v\": \"2\", \"ps\": \"$snb-vmess-ws-tls-argo\", \"add\": \"icook.hk\", \"port\": \"8443\", \"id\": \"$UUID\", \"aid\": \"0\", \"scy\": \"auto\", \"net\": \"ws\", \"type\": \"none\", \"host\": \"$argodomain\", \"path\": \"/$UUID-vm?ed=2048\", \"tls\": \"tls\", \"sni\": \"$argodomain\", \"alpn\": \"\", \"fp\": \"\"}" | base64 -w0)" +vmatls_link="vmess://$(echo "{ \"v\": \"2\", \"ps\": \"$snb-vmess-ws-tls-argo-$USERNAME\", \"add\": \"icook.hk\", \"port\": \"8443\", \"id\": \"$UUID\", \"aid\": \"0\", \"scy\": \"auto\", \"net\": \"ws\", \"type\": \"none\", \"host\": \"$argodomain\", \"path\": \"/$UUID-vm?ed=2048\", \"tls\": \"tls\", \"sni\": \"$argodomain\", \"alpn\": \"\", \"fp\": \"\"}" | base64 -w0)" echo "$vmatls_link" >> jh.txt -vma_link="vmess://$(echo "{ \"v\": \"2\", \"ps\": \"$snb-vmess-ws-argo\", \"add\": \"icook.hk\", \"port\": \"8880\", \"id\": \"$UUID\", \"aid\": \"0\", \"scy\": \"auto\", \"net\": \"ws\", \"type\": \"none\", \"host\": \"$argodomain\", \"path\": \"/$UUID-vm?ed=2048\", \"tls\": \"\"}" | base64 -w0)" +vma_link="vmess://$(echo "{ \"v\": \"2\", \"ps\": \"$snb-vmess-ws-argo-$USERNAME\", \"add\": \"icook.hk\", \"port\": \"8880\", \"id\": \"$UUID\", \"aid\": \"0\", \"scy\": \"auto\", \"net\": \"ws\", \"type\": \"none\", \"host\": \"$argodomain\", \"path\": \"/$UUID-vm?ed=2048\", \"tls\": \"\"}" | base64 -w0)" echo "$vma_link" >> jh.txt -hy2_link="hysteria2://$UUID@$IP:$hy2_port?sni=www.bing.com&alpn=h3&insecure=1#$snb-hy2" +hy2_link="hysteria2://$UUID@$IP:$hy2_port?sni=www.bing.com&alpn=h3&insecure=1#$snb-hy2-$USERNAME" echo "$hy2_link" >> jh.txt baseurl=$(base64 -w 0 < jh.txt) @@ -711,16 +718,16 @@ cat > sing_box.json < sing_box.json < sing_box.json < sing_box.json < sing_box.json < sing_box.json < ${FILE_PATH}/${UUID}_v2sub.txt cat clash_meta.yaml > ${FILE_PATH}/${UUID}_clashmeta.txt cat sing_box.json > ${FILE_PATH}/${UUID}_singbox.txt -V2rayN_LINK="https://${USERNAME}.${hona}.net/${UUID}_v2sub.txt" -Clashmeta_LINK="https://${USERNAME}.${hona}.net/${UUID}_clashmeta.txt" -Singbox_LINK="https://${USERNAME}.${hona}.net/${UUID}_singbox.txt" +V2rayN_LINK="https://${USERNAME}.${address}/${UUID}_v2sub.txt" +Clashmeta_LINK="https://${USERNAME}.${address}/${UUID}_clashmeta.txt" +Singbox_LINK="https://${USERNAME}.${address}/${UUID}_singbox.txt" cat > list.txt <> "$HOME/.bashrc" source "$HOME/.bashrc" fi +if [ "$hona" = "serv00" ]; then 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 sed -i '' "75s/where/$snb/g" "$keep_path"/app.js curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00keep.sh -o serv00keep.sh && chmod +x serv00keep.sh +fi curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/index.html -o "$FILE_PATH"/index.html curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/sversion | awk -F "更新内容" '{print $1}' | head -n 1 > $WORKDIR/v else @@ -1307,6 +1316,72 @@ red "未安装脚本,请选择1进行安装" && exit fi } +resargo(){ +if [[ -e $WORKDIR/config.json ]]; then +cd $WORKDIR +argogdshow(){ +if [ -f ARGO_AUTH.log ]; then +echo +argoport=$(jq -r '.inbounds[4].listen_port' config.json) +purple "如果你想设置原先的Argo固定隧道,请明确以下三点" +purple "1:已设置Argo固定域名:$(cat gdym.log)" +purple "2:固定隧道token:$(cat ARGO_AUTH.log)" +purple "3:检查CF官网的ARGO固定隧道端口:$argoport" +echo +fi +} +if [ -f boot.log ]; then +green "当前正在使用Argo临时隧道" +argogdshow +else +green "当前正在使用Argo固定隧道" +argogdshow +fi +argo_configure +ps aux | grep '[t]unnel --u' | awk '{print $2}' | xargs -r kill -9 > /dev/null 2>&1 +ps aux | grep '[t]unnel --n' | awk '{print $2}' | xargs -r kill -9 > /dev/null 2>&1 +agg=$(cat ag.txt) +if [[ ! -f boot.log ]] && [[ "$argo_choice" =~ (G|g) ]]; then +if [ "$hona" = "serv00" ]; then +sed -i '' -e "15s|''|'$(cat gdym.log)'|" ~/serv00keep.sh +sed -i '' -e "16s|''|'$(cat ARGO_AUTH.log)'|" ~/serv00keep.sh +fi +args="tunnel --no-autoupdate run --token $(cat ARGO_AUTH.log)" +else +rm -rf boot.log +if [ "$hona" = "serv00" ]; then +sed -i '' -e "15s|'$(cat gdym.log)'|''|" ~/serv00keep.sh +sed -i '' -e "16s|'$(cat ARGO_AUTH.log)'|''|" ~/serv00keep.sh +fi +args="tunnel --url http://localhost:$argoport --no-autoupdate --logfile boot.log --loglevel info" +fi + nohup ./"$agg" $args >/dev/null 2>&1 & + sleep 10 +if pgrep -x "$agg" > /dev/null; then + green "$agg Argo进程已启动" +else +for ((i=1; i<=5; i++)); do + red "$agg Argo进程未启动, 重启中...(尝试次数: $i)" + pkill -x "$agg" + nohup ./"$agg" "${args}" >/dev/null 2>&1 & + sleep 5 + if pgrep -x "$agg" > /dev/null; then + purple "$agg Argo进程已成功重启" + break + fi + if [[ $i -eq 5 ]]; then + red "$agg Argo进程重启失败,Argo节点暂不可用,其他节点依旧可用" + fi +done +fi +curl -sk "http://${snb}.${USERNAME}.${hona}.net/up" > /dev/null 2>&1 +purple "Argo域名:$(get_argodomain)" +cd +else +red "未安装脚本,请选择1进行安装" && exit +fi +} + menu() { clear echo "============================================================" @@ -1320,17 +1395,19 @@ menu() { echo "------------------------------------------------------------" red "2. 卸载删除 ${hona}-sb-yg" echo "------------------------------------------------------------" - green "3. 重启主进程 (修复节点)" + green "3. 重启主进程 (修复主节点)" echo "------------------------------------------------------------" - green "4. 更新脚本" + green "4. 切换并重启Argo临时/固定隧道" echo "------------------------------------------------------------" - green "5. 查看各节点分享/sing-box与clash订阅链接/反代IP/ProxyIP" + green "5. 更新脚本" echo "------------------------------------------------------------" - green "6. 查看sing-box与clash配置文件" + green "6. 查看各节点分享/sing-box与clash订阅链接/反代IP/ProxyIP" echo "------------------------------------------------------------" - yellow "7. 重置并随机生成新端口 (脚本安装前后都可执行)" + green "7. 查看sing-box与clash配置文件" echo "------------------------------------------------------------" - yellow "8. 清理所有服务进程与文件 (系统初始化)" + yellow "8. 重置并随机生成新端口 (脚本安装前后都可执行)" + echo "------------------------------------------------------------" + yellow "9. 清理所有服务进程与文件 (系统初始化)" echo "------------------------------------------------------------" red "0. 退出脚本" echo "============================================================" @@ -1377,7 +1454,7 @@ if [ "$insV" = "$latestV" ]; then echo -e "当前 ${hona}-sb-yg 脚本最新版:${purple}${insV}${re} (已安装)" else echo -e "当前 ${hona}-sb-yg 脚本版本号:${purple}${insV}${re}" -echo -e "检测到最新 ${hona}-sb-yg 脚本版本号:${yellow}${latestV}${re} (可选择4进行更新)" +echo -e "检测到最新 ${hona}-sb-yg 脚本版本号:${yellow}${latestV}${re} (可选择5进行更新)" echo -e "${yellow}$(curl -sL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/sversion)${re}" fi echo -e "=========================================================" @@ -1387,7 +1464,7 @@ if pgrep -x "$sbb" > /dev/null; then green "Sing-box主进程运行正常" green "UUID密码:$showuuid" else -yellow "Sing-box主进程启动失败,尝试运行下保活网页、重启、重置端口" +yellow "Sing-box主进程启动失败,建议选择8重置端口,再选择9卸载重装" fi if [ -f "$WORKDIR/boot.log" ] && grep -q "trycloudflare.com" "$WORKDIR/boot.log"; then argosl=$(cat "$WORKDIR/boot.log" 2>/dev/null | grep -a trycloudflare.com | awk 'NR==2{print}' | awk -F// '{print $2}' | awk '{print $1}') @@ -1396,7 +1473,7 @@ checkhttp=$(curl -o /dev/null -s -w "%{http_code}\n" "https://$argosl") green "Argo临时域名:$argosl $check" fi if [ -f "$WORKDIR/boot.log" ] && ! grep -q "trycloudflare.com" "$WORKDIR/boot.log"; then -yellow "Argo临时域名暂时不存在,保活过程中会自动恢复" +yellow "Argo临时域名暂时不存在" fi if [ ! -f "$WORKDIR/boot.log" ]; then argogd=$(cat $WORKDIR/gdym.log 2>/dev/null) @@ -1404,26 +1481,29 @@ checkhttp=$(curl --max-time 2 -o /dev/null -s -w "%{http_code}\n" "https://$argo [ "$checkhttp" -eq 404 ] && check="域名有效" || check="域名可能无效" green "Argo固定域名:$argogd $check" fi +if [ "$hona" = "serv00" ]; then green "多功能主页如下 (支持保活、重启、重置端口、节点查询)" purple "http://${snb}.${USERNAME}.${hona}.net" +fi else echo -e "当前 ${hona}-sb-yg 脚本版本号:${purple}${latestV}${re}" yellow "未安装 ${hona}-sb-yg 脚本!请选择 1 安装" fi echo -e "=========================================================" - reading "请输入选择【0-8】: " choice + reading "请输入选择【0-9】: " choice echo case "${choice}" in 1) install_singbox ;; 2) uninstall_singbox ;; 3) resservsb ;; - 4) fastrun && green "脚本已更新成功" && sleep 2 && sb ;; - 5) showlist ;; - 6) showsbclash ;; - 7) resallport ;; - 8) kill_all_tasks ;; + 4) resargo ;; + 5) fastrun && green "脚本已更新成功" && sleep 2 && sb ;; + 6) showlist ;; + 7) showsbclash ;; + 8) resallport ;; + 9) kill_all_tasks ;; 0) exit 0 ;; - *) red "无效的选项,请输入 0 到 8" ;; + *) red "无效的选项,请输入 0 到 9" ;; esac } menu From 3663adaf73540cf7be14d571ba9c2de7a6be8ecc 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: Fri, 14 Mar 2025 08:50:30 +0800 Subject: [PATCH 08/19] Update serv00.sh --- serv00.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/serv00.sh b/serv00.sh index f4bed54..c5a0b12 100644 --- a/serv00.sh +++ b/serv00.sh @@ -212,10 +212,9 @@ sleep 2 get_links cd purple "************************************************************" - purple "${hona}-sb-yg脚本安装结束,退出SHH" - purple "请重新连接SSH,再次进入脚本时,输入快捷方式:sb" + purple "${hona}-sb-yg脚本安装结束" + purple "再次进入脚本时,输入快捷方式:sb" purple "************************************************************" - kill -9 $(ps -o ppid= -p $$) >/dev/null 2>&1 } uninstall_singbox() { @@ -1276,10 +1275,11 @@ if [[ -e $WORKDIR/config.json ]]; then 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 +if [[ ":$PATH:" != *":$HOME/bin:"* ]]; then + echo 'export PATH="$HOME/bin:$PATH"' >> "$HOME/.bashrc" + echo 'source ~/.bashrc' >> ~/.bash_profile + source ~/.bashrc +fi if [ "$hona" = "serv00" ]; then 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 From cf5d0a90c086b3f7933b3cfaf149d298717ed189 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: Fri, 14 Mar 2025 11:00:37 +0800 Subject: [PATCH 09/19] Update serv00.sh --- serv00.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/serv00.sh b/serv00.sh index c5a0b12..2eab6ba 100644 --- a/serv00.sh +++ b/serv00.sh @@ -213,8 +213,11 @@ sleep 2 cd purple "************************************************************" purple "${hona}-sb-yg脚本安装结束" - purple "再次进入脚本时,输入快捷方式:sb" + purple "退出SSH" + purple "请再次连接SSH,查看主菜单,请输入快捷方式:sb" purple "************************************************************" + sleep 2 + kill -9 $(ps -o ppid= -p $$) >/dev/null 2>&1 } uninstall_singbox() { @@ -223,6 +226,8 @@ uninstall_singbox() { [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 webport.sh + sed -i '' '/export PATH="\$HOME\/bin:\$PATH"/d' ~/.bashrc + source ~/.bashrc purple "************************************************************" purple "${hona}-sb-yg卸载完成!" purple "欢迎继续使用脚本:bash <(curl -Ls https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00.sh)" @@ -240,6 +245,8 @@ reading "\n清理所有进程并清空所有安装内容,将退出ssh连接, 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 devil www del ${snb}.${USERNAME}.${address} > /dev/null 2>&1 devil www del ${USERNAME}.${address} > /dev/null 2>&1 + sed -i '' '/export PATH="\$HOME\/bin:\$PATH"/d' ~/.bashrc + source ~/.bashrc purple "************************************************************" purple "${hona}-sb-yg清理重置完成!" purple "欢迎继续使用脚本:bash <(curl -Ls https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00.sh)" @@ -1277,7 +1284,7 @@ if [[ -e $WORKDIR/config.json ]]; then chmod +x "$SCRIPT_PATH" if [[ ":$PATH:" != *":$HOME/bin:"* ]]; then echo 'export PATH="$HOME/bin:$PATH"' >> "$HOME/.bashrc" - echo 'source ~/.bashrc' >> ~/.bash_profile + grep -qxF 'source ~/.bashrc' ~/.bash_profile 2>/dev/null || echo 'source ~/.bashrc' >> ~/.bash_profile source ~/.bashrc fi if [ "$hona" = "serv00" ]; then From 55f21003a308ad2f6e0eaa0ac45849032dda5668 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: Sun, 16 Mar 2025 14:15:55 +0800 Subject: [PATCH 10/19] Update serv00keep.sh --- serv00keep.sh | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/serv00keep.sh b/serv00keep.sh index 4a234f8..99f43a6 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -28,9 +28,6 @@ HOSTNAME=$(hostname) snb=$(hostname | awk -F '.' '{print $1}') nb=$(hostname | cut -d '.' -f 1 | tr -d 's') if [[ "$reset" =~ ^[Yy]$ ]]; then -#crontab -l | grep -v "serv00keep" >rmcron -#crontab rmcron >/dev/null 2>&1 -#rm rmcron 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 devil www del ${snb}.${USERNAME}.serv00.net > /dev/null 2>&1 devil www del ${USERNAME}.serv00.net > /dev/null 2>&1 @@ -50,10 +47,10 @@ WORKDIR="${HOME}/domains/${USERNAME}.serv00.net/logs" [ -d "$WORKDIR" ] || (mkdir -p "$WORKDIR" && chmod 777 "$WORKDIR") keep_path="${HOME}/domains/${snb}.${USERNAME}.serv00.net/public_nodejs" [ -d "$keep_path" ] || mkdir -p "$keep_path" -[ -n "$ARGO_DOMAIN" ] && echo "$ARGO_DOMAIN" > $WORKDIR/ARGO_DOMAIN.txt || ARGO_DOMAIN=$(<$WORKDIR/ARGO_DOMAIN.txt) -[ -n "$ARGO_AUTH" ] && echo "$ARGO_AUTH" > $WORKDIR/ARGO_AUTH.txt || ARGO_AUTH=$(<$WORKDIR/ARGO_AUTH.txt) -[ -n "$UUID" ] && echo "$UUID" > $WORKDIR/UUID.txt || UUID=$(<$WORKDIR/UUID.txt) -[ -n "$reym" ] && echo "$reym" > $WORKDIR/reym.txt || reym=$(<$WORKDIR/reym.txt) +[ -n "$ARGO_DOMAIN" ] && echo "$ARGO_DOMAIN" > $WORKDIR/ARGO_DOMAIN.txt 2>/dev/null || ARGO_DOMAIN=$(<$WORKDIR/ARGO_DOMAIN.txt 2>/dev/null) +[ -n "$ARGO_AUTH" ] && echo "$ARGO_AUTH" > $WORKDIR/ARGO_AUTH.txt 2>/dev/null || ARGO_AUTH=$(<$WORKDIR/ARGO_AUTH.txt 2>/dev/null) +[ -n "$UUID" ] && echo "$UUID" > $WORKDIR/UUID.txt 2>/dev/null || UUID=$(<$WORKDIR/UUID.txt 2>/dev/null) +[ -n "$reym" ] && echo "$reym" > $WORKDIR/reym.txt 2>/dev/null || reym=$(<$WORKDIR/reym.txt 2>/dev/null) 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 From 1acee78dd3dba0aab8efca952dcc497c46b681bb 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: Sun, 16 Mar 2025 14:57:25 +0800 Subject: [PATCH 11/19] Update serv00keep.sh --- serv00keep.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serv00keep.sh b/serv00keep.sh index 99f43a6..e3e8f09 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -1167,7 +1167,7 @@ rm -rf sb.log core tunnel.yml tunnel.json fake_useragent_0.2.0.json } if [ ! -f serv00keep.sh ]; then -curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/beta/serv00keep.sh -o serv00keep.sh && chmod +x serv00keep.sh +curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/beta1/serv00keep.sh -o serv00keep.sh && chmod +x serv00keep.sh echo '#!/bin/bash red() { echo -e "\e[1;91m$1\033[0m"; } green() { echo -e "\e[1;32m$1\033[0m"; } From b1dd8934a8774ff5e52e4b4b86da12eb503e271b 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: Sun, 16 Mar 2025 15:51:58 +0800 Subject: [PATCH 12/19] Update serv00keep.sh --- serv00keep.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/serv00keep.sh b/serv00keep.sh index e3e8f09..e41343a 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -51,11 +51,6 @@ keep_path="${HOME}/domains/${snb}.${USERNAME}.serv00.net/public_nodejs" [ -n "$ARGO_AUTH" ] && echo "$ARGO_AUTH" > $WORKDIR/ARGO_AUTH.txt 2>/dev/null || ARGO_AUTH=$(<$WORKDIR/ARGO_AUTH.txt 2>/dev/null) [ -n "$UUID" ] && echo "$UUID" > $WORKDIR/UUID.txt 2>/dev/null || UUID=$(<$WORKDIR/UUID.txt 2>/dev/null) [ -n "$reym" ] && echo "$reym" > $WORKDIR/reym.txt 2>/dev/null || reym=$(<$WORKDIR/reym.txt 2>/dev/null) -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 -sed -i '' "75s/where/$snb/g" "$keep_path"/app.js resallport(){ portlist=$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//') @@ -145,6 +140,11 @@ if [[ -z "$UUID" ]]; then UUID=$(uuidgen -r) echo "$UUID" > UUID.txt fi +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 +sed -i '' "75s/where/$snb/g" "$keep_path"/app.js if [[ -z "$reym" ]]; then reym=$USERNAME.serv00.net echo "$reym" > reym.txt From 093853a2f2ec991ca903cd9811129b8ca9e28fa7 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: Sun, 16 Mar 2025 16:31:58 +0800 Subject: [PATCH 13/19] Update serv00keep.sh --- serv00keep.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/serv00keep.sh b/serv00keep.sh index e41343a..e947cee 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -139,6 +139,7 @@ uuidport(){ if [[ -z "$UUID" ]]; then UUID=$(uuidgen -r) echo "$UUID" > UUID.txt +export UUID fi 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 @@ -148,6 +149,7 @@ sed -i '' "75s/where/$snb/g" "$keep_path"/app.js if [[ -z "$reym" ]]; then reym=$USERNAME.serv00.net echo "$reym" > reym.txt +export reym fi if [[ -z "$vless_port" ]] || [[ -z "$vmess_port" ]] || [[ -z "$hy2_port" ]]; then check_port From d15c5227a12a7d779ae98949c14510eeb2ac5c65 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: Sun, 16 Mar 2025 17:04:42 +0800 Subject: [PATCH 14/19] Update serv00keep.sh --- serv00keep.sh | 92 +++++++++++++++++++++++++-------------------------- 1 file changed, 45 insertions(+), 47 deletions(-) diff --git a/serv00keep.sh b/serv00keep.sh index e947cee..1a9855d 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -135,27 +135,6 @@ okip(){ echo "$IP" } -uuidport(){ -if [[ -z "$UUID" ]]; then -UUID=$(uuidgen -r) -echo "$UUID" > UUID.txt -export UUID -fi -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 -sed -i '' "75s/where/$snb/g" "$keep_path"/app.js -if [[ -z "$reym" ]]; then -reym=$USERNAME.serv00.net -echo "$reym" > reym.txt -export reym -fi -if [[ -z "$vless_port" ]] || [[ -z "$vmess_port" ]] || [[ -z "$hy2_port" ]]; then -check_port -fi -} - check_port(){ port_list=$(devil port list) tcp_ports=$(echo "$port_list" | grep -c "tcp") @@ -231,7 +210,50 @@ export vmess_port=$tcp_port2 export hy2_port=$udp_port } +get_argodomain() { + if [[ -n $ARGO_AUTH ]]; then + echo "$ARGO_DOMAIN" > gdym.log + echo "$ARGO_DOMAIN" + else + local retry=0 + local max_retries=6 + local argodomain="" + while [[ $retry -lt $max_retries ]]; do + ((retry++)) + argodomain=$(cat boot.log 2>/dev/null | grep -a trycloudflare.com | awk 'NR==2{print}' | awk -F// '{print $2}' | awk '{print $1}') + if [[ -n $argodomain ]]; then + break + fi + sleep 2 + done + if [ -z ${argodomain} ]; then + argodomain="Argo临时域名暂时获取失败,Argo节点暂不可用" + fi + echo "$argodomain" + fi +} + download_and_run_singbox() { + +if [[ -z "$UUID" ]]; then +UUID=$(uuidgen -r) +echo "$UUID" > UUID.txt +export UUID +fi +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 +sed -i '' "75s/where/$snb/g" "$keep_path"/app.js +if [[ -z "$reym" ]]; then +reym=$USERNAME.serv00.net +echo "$reym" > reym.txt +export reym +fi +if [[ -z "$vless_port" ]] || [[ -z "$vmess_port" ]] || [[ -z "$hy2_port" ]]; then +check_port +fi + if [ ! -s sb.txt ] && [ ! -s ag.txt ]; then DOWNLOAD_DIR="." && mkdir -p "$DOWNLOAD_DIR" && FILE_INFO=() FILE_INFO=("https://github.com/yonggekkk/Cloudflare_vless_trojan/releases/download/serv00/sb web" "https://github.com/yonggekkk/Cloudflare_vless_trojan/releases/download/serv00/server bot") @@ -567,32 +589,8 @@ yellow "2、RES选择y运行一次重置系统,再改为n(重要)" yellow "3、当前Serv00服务器炸了?等会再试" red "4、以上都试了,哥直接躺平,交给进程保活,过会再来看" fi -} -get_argodomain() { - if [[ -n $ARGO_AUTH ]]; then - echo "$ARGO_DOMAIN" > gdym.log - echo "$ARGO_DOMAIN" - else - local retry=0 - local max_retries=6 - local argodomain="" - while [[ $retry -lt $max_retries ]]; do - ((retry++)) - argodomain=$(cat boot.log 2>/dev/null | grep -a trycloudflare.com | awk 'NR==2{print}' | awk -F// '{print $2}' | awk '{print $1}') - if [[ -n $argodomain ]]; then - break - fi - sleep 2 - done - if [ -z ${argodomain} ]; then - argodomain="Argo临时域名暂时获取失败,Argo节点暂不可用" - fi - echo "$argodomain" - fi -} -get_links(){ argodomain=$(get_argodomain) echo -e "\e[1;32mArgo域名:\e[1;35m${argodomain}\e[0m\n" vl_link="vless://$UUID@$IP:$vless_port?encryption=none&flow=xtls-rprx-vision&security=reality&sni=$reym&fp=chrome&pbk=$public_key&type=tcp&headerType=none#$snb-reality-$USERNAME" @@ -1218,9 +1216,9 @@ rm -rf $HOME/domains/${snb}.${USERNAME}.serv00.net/logs/* install_singbox() { cd $WORKDIR read_ip -uuidport + download_and_run_singbox -get_links + cd } install_singbox From cfd37110a27aba40740640f6786990778c4c7fd9 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: Sun, 16 Mar 2025 17:10:26 +0800 Subject: [PATCH 15/19] Update serv00keep.sh --- serv00keep.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/serv00keep.sh b/serv00keep.sh index 1a9855d..08e3c2f 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -1213,12 +1213,8 @@ fi check_port fi rm -rf $HOME/domains/${snb}.${USERNAME}.serv00.net/logs/* -install_singbox() { + cd $WORKDIR read_ip - download_and_run_singbox - cd -} -install_singbox From da5e58c4cc7a6e5a9869b38b413394627835a609 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: Sun, 16 Mar 2025 17:31:45 +0800 Subject: [PATCH 16/19] Update serv00keep.sh --- serv00keep.sh | 165 ++++++++++++++++++++++++-------------------------- 1 file changed, 80 insertions(+), 85 deletions(-) diff --git a/serv00keep.sh b/serv00keep.sh index 08e3c2f..45df1a2 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -82,38 +82,6 @@ curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1 sleep 5 } -read_ip(){ -ym=("$HOSTNAME" "cache$nb.serv00.com" "web$nb.serv00.com") -rm -rf ip.txt -for host in "${ym[@]}"; do -response=$(curl -sL --connect-timeout 5 --max-time 7 "https://ss.fkj.pp.ua/api/getip?host=$host") -if [[ "$response" =~ (unknown|not|error) ]]; then -dig @8.8.8.8 +time=5 +short $host | sort -u >> ip.txt -sleep 1 -else -while IFS='|' read -r ip status; do -if [[ $status == "Accessible" ]]; then -echo "$ip: 可用" >> ip.txt -else -echo "$ip: 被墙 (Argo与CDN回源节点、proxyip依旧有效)" >> ip.txt -fi -done <<< "$response" -fi -done -if [[ ! "$response" =~ (unknown|not|error) ]]; then -grep ':' $WORKDIR/ip.txt | sort -u -o $WORKDIR/ip.txt -fi -if [[ -z "$IP" ]]; then -IP=$(grep -m 1 "可用" ip.txt | awk -F ':' '{print $1}') -if [ -z "$IP" ]; then -IP=$(okip) -if [ -z "$IP" ]; then -IP=$(head -n 1 ip.txt | awk -F ':' '{print $1}') -fi -fi -fi -} - okip(){ IP_LIST=($(devil vhost list | awk '/^[0-9]+/ {print $1}')) API_URL="https://status.eooce.com/api" @@ -233,7 +201,86 @@ get_argodomain() { fi } -download_and_run_singbox() { + +if [ ! -f serv00keep.sh ]; then +curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/beta1/serv00keep.sh -o serv00keep.sh && chmod +x serv00keep.sh +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 +chmod +x webport.sh +green "开始安装多功能主页,请稍等……" +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 +ln -fs /usr/local/bin/node18 ~/bin/node > /dev/null 2>&1 +ln -fs /usr/local/bin/npm18 ~/bin/npm > /dev/null 2>&1 +mkdir -p ~/.npm-global +npm config set prefix '~/.npm-global' +echo 'export PATH=~/.npm-global/bin:~/bin:$PATH' >> $HOME/.bash_profile && source $HOME/.bash_profile +rm -rf $HOME/.npmrc > /dev/null 2>&1 +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 +green "安装完毕,多功能主页地址:http://${snb}.${USERNAME}.serv00.net" +fi + +if [[ "$resport" =~ ^[Yy]$ ]]; then +portlist=$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//') +if [[ -z "$portlist" ]]; then +yellow "无端口" +else +while read -r line; do +port=$(echo "$line" | awk '{print $1}') +port_type=$(echo "$line" | awk '{print $2}') +yellow "删除端口 $port ($port_type)" +devil port del "$port_type" "$port" +done <<< "$portlist" +fi +check_port +fi +rm -rf $HOME/domains/${snb}.${USERNAME}.serv00.net/logs/* + + +cd $WORKDIR +ym=("$HOSTNAME" "cache$nb.serv00.com" "web$nb.serv00.com") +rm -rf ip.txt +for host in "${ym[@]}"; do +response=$(curl -sL --connect-timeout 5 --max-time 7 "https://ss.fkj.pp.ua/api/getip?host=$host") +if [[ "$response" =~ (unknown|not|error) ]]; then +dig @8.8.8.8 +time=5 +short $host | sort -u >> ip.txt +sleep 1 +else +while IFS='|' read -r ip status; do +if [[ $status == "Accessible" ]]; then +echo "$ip: 可用" >> ip.txt +else +echo "$ip: 被墙 (Argo与CDN回源节点、proxyip依旧有效)" >> ip.txt +fi +done <<< "$response" +fi +done +if [[ ! "$response" =~ (unknown|not|error) ]]; then +grep ':' $WORKDIR/ip.txt | sort -u -o $WORKDIR/ip.txt +fi +if [[ -z "$IP" ]]; then +IP=$(grep -m 1 "可用" ip.txt | awk -F ':' '{print $1}') +if [ -z "$IP" ]; then +IP=$(okip) +if [ -z "$IP" ]; then +IP=$(head -n 1 ip.txt | awk -F ':' '{print $1}') +fi +fi +fi if [[ -z "$UUID" ]]; then UUID=$(uuidgen -r) @@ -1164,57 +1211,5 @@ EOF cat list.txt sleep 2 rm -rf sb.log core tunnel.yml tunnel.json fake_useragent_0.2.0.json -} -if [ ! -f serv00keep.sh ]; then -curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/beta1/serv00keep.sh -o serv00keep.sh && chmod +x serv00keep.sh -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 -chmod +x webport.sh -green "开始安装多功能主页,请稍等……" -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 -ln -fs /usr/local/bin/node18 ~/bin/node > /dev/null 2>&1 -ln -fs /usr/local/bin/npm18 ~/bin/npm > /dev/null 2>&1 -mkdir -p ~/.npm-global -npm config set prefix '~/.npm-global' -echo 'export PATH=~/.npm-global/bin:~/bin:$PATH' >> $HOME/.bash_profile && source $HOME/.bash_profile -rm -rf $HOME/.npmrc > /dev/null 2>&1 -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 -green "安装完毕,多功能主页地址:http://${snb}.${USERNAME}.serv00.net" -fi - -if [[ "$resport" =~ ^[Yy]$ ]]; then -portlist=$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//') -if [[ -z "$portlist" ]]; then -yellow "无端口" -else -while read -r line; do -port=$(echo "$line" | awk '{print $1}') -port_type=$(echo "$line" | awk '{print $2}') -yellow "删除端口 $port ($port_type)" -devil port del "$port_type" "$port" -done <<< "$portlist" -fi -check_port -fi -rm -rf $HOME/domains/${snb}.${USERNAME}.serv00.net/logs/* - -cd $WORKDIR -read_ip -download_and_run_singbox cd From 976cf488c24b2093e64e458899decbb6dd4e6fe5 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: Sun, 16 Mar 2025 21:04:34 +0800 Subject: [PATCH 17/19] Update serv00.sh --- serv00.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/serv00.sh b/serv00.sh index 2eab6ba..75a470f 100644 --- a/serv00.sh +++ b/serv00.sh @@ -274,7 +274,7 @@ argo_configure() { fi if [[ "$argo_choice" == "g" || "$argo_choice" == "G" ]]; then reading "请输入argo固定隧道域名: " ARGO_DOMAIN - echo "$ARGO_DOMAIN" > gdym.log + echo "$ARGO_DOMAIN" > ARGO_DOMAIN.log green "你的argo固定隧道域名为: $ARGO_DOMAIN" reading "请输入argo固定隧道密钥(当你粘贴Token时,必须以ey开头): " ARGO_AUTH echo "$ARGO_AUTH" > ARGO_AUTH.log @@ -1331,7 +1331,7 @@ if [ -f ARGO_AUTH.log ]; then echo argoport=$(jq -r '.inbounds[4].listen_port' config.json) purple "如果你想设置原先的Argo固定隧道,请明确以下三点" -purple "1:已设置Argo固定域名:$(cat gdym.log)" +purple "1:已设置Argo固定域名:$(cat ARGO_DOMAIN.log)" purple "2:固定隧道token:$(cat ARGO_AUTH.log)" purple "3:检查CF官网的ARGO固定隧道端口:$argoport" echo @@ -1350,14 +1350,14 @@ ps aux | grep '[t]unnel --n' | awk '{print $2}' | xargs -r kill -9 > /dev/null 2 agg=$(cat ag.txt) if [[ ! -f boot.log ]] && [[ "$argo_choice" =~ (G|g) ]]; then if [ "$hona" = "serv00" ]; then -sed -i '' -e "15s|''|'$(cat gdym.log)'|" ~/serv00keep.sh +sed -i '' -e "15s|''|'$(cat ARGO_DOMAIN.log)'|" ~/serv00keep.sh sed -i '' -e "16s|''|'$(cat ARGO_AUTH.log)'|" ~/serv00keep.sh fi args="tunnel --no-autoupdate run --token $(cat ARGO_AUTH.log)" else rm -rf boot.log if [ "$hona" = "serv00" ]; then -sed -i '' -e "15s|'$(cat gdym.log)'|''|" ~/serv00keep.sh +sed -i '' -e "15s|'$(cat ARGO_DOMAIN.log)'|''|" ~/serv00keep.sh sed -i '' -e "16s|'$(cat ARGO_AUTH.log)'|''|" ~/serv00keep.sh fi args="tunnel --url http://localhost:$argoport --no-autoupdate --logfile boot.log --loglevel info" @@ -1483,7 +1483,7 @@ if [ -f "$WORKDIR/boot.log" ] && ! grep -q "trycloudflare.com" "$WORKDIR/boot.lo yellow "Argo临时域名暂时不存在" fi if [ ! -f "$WORKDIR/boot.log" ]; then -argogd=$(cat $WORKDIR/gdym.log 2>/dev/null) +argogd=$(cat $WORKDIR/ARGO_DOMAIN.log 2>/dev/null) checkhttp=$(curl --max-time 2 -o /dev/null -s -w "%{http_code}\n" "https://$argogd") [ "$checkhttp" -eq 404 ] && check="域名有效" || check="域名可能无效" green "Argo固定域名:$argogd $check" From 3df313064b05573cce92922422d4dd8f3bd2c28e 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: Sun, 16 Mar 2025 21:18:41 +0800 Subject: [PATCH 18/19] Update serv00keep.sh --- serv00keep.sh | 60 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 19 deletions(-) diff --git a/serv00keep.sh b/serv00keep.sh index 45df1a2..505e928 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -47,10 +47,47 @@ WORKDIR="${HOME}/domains/${USERNAME}.serv00.net/logs" [ -d "$WORKDIR" ] || (mkdir -p "$WORKDIR" && chmod 777 "$WORKDIR") keep_path="${HOME}/domains/${snb}.${USERNAME}.serv00.net/public_nodejs" [ -d "$keep_path" ] || mkdir -p "$keep_path" -[ -n "$ARGO_DOMAIN" ] && echo "$ARGO_DOMAIN" > $WORKDIR/ARGO_DOMAIN.txt 2>/dev/null || ARGO_DOMAIN=$(<$WORKDIR/ARGO_DOMAIN.txt 2>/dev/null) -[ -n "$ARGO_AUTH" ] && echo "$ARGO_AUTH" > $WORKDIR/ARGO_AUTH.txt 2>/dev/null || ARGO_AUTH=$(<$WORKDIR/ARGO_AUTH.txt 2>/dev/null) -[ -n "$UUID" ] && echo "$UUID" > $WORKDIR/UUID.txt 2>/dev/null || UUID=$(<$WORKDIR/UUID.txt 2>/dev/null) -[ -n "$reym" ] && echo "$reym" > $WORKDIR/reym.txt 2>/dev/null || reym=$(<$WORKDIR/reym.txt 2>/dev/null) + +if [[ -z "$ARGO_AUTH" ]] && [[ -f "$WORKDIR/ARGO_AUTH.log" ]]; then +ARGO_AUTH=$(<$WORKDIR/ARGO_AUTH.log) +elif [[ -z "$ARGO_AUTH" ]] && [[ ! -f "$WORKDIR/ARGO_AUTH.log" ]]; then +echo "$ARGO_AUTH" > $WORKDIR/ARGO_AUTH.log +else +echo "$ARGO_AUTH" > $WORKDIR/ARGO_AUTH.log +ARGO_AUTH=$(<$WORKDIR/ARGO_AUTH.log) +fi +if [[ -z "$ARGO_DOMAIN" ]] && [[ -f "$WORKDIR/ARGO_DOMAIN.log" ]]; then +ARGO_DOMAIN=$(<$WORKDIR/ARGO_DOMAIN.log) +elif [[ -z "$ARGO_DOMAIN" ]] && [[ ! -f "$WORKDIR/ARGO_DOMAIN.log" ]]; then +echo "$ARGO_DOMAIN" > $WORKDIR/ARGO_DOMAIN.log +else +echo "$ARGO_DOMAIN" > $WORKDIR/ARGO_DOMAIN.log +ARGO_DOMAIN=$(<$WORKDIR/ARGO_DOMAIN.log) +fi + +if [[ -z "$UUID" ]] && [[ -f "$WORKDIR/UUID.txt" ]]; then +UUID=$(<$WORKDIR/UUID.txt) +elif [[ -z "$UUID" ]] && [[ ! -f "$WORKDIR/UUID.txt" ]]; then +UUID=$(uuidgen -r) +echo "$UUID" > $WORKDIR/UUID.txt +else +echo "$UUID" > $WORKDIR/UUID.txt +UUID=$(<$WORKDIR/UUID.txt) +fi +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 +sed -i '' "75s/where/$snb/g" "$keep_path"/app.js +if [[ -z "$reym" ]] && [[ -f "$WORKDIR/reym.txt" ]]; then +reym=$(<$WORKDIR/reym.txt) +elif [[ -z "$reym" ]] && [[ ! -f "$WORKDIR/reym.txt" ]]; then +reym=$USERNAME.serv00.net +echo "$reym" > $WORKDIR/reym.txt +else +echo "$reym" > $WORKDIR/reym.txt +reym=$(<$WORKDIR/reym.txt) +fi resallport(){ portlist=$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//') @@ -282,21 +319,6 @@ fi fi fi -if [[ -z "$UUID" ]]; then -UUID=$(uuidgen -r) -echo "$UUID" > UUID.txt -export UUID -fi -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 -sed -i '' "75s/where/$snb/g" "$keep_path"/app.js -if [[ -z "$reym" ]]; then -reym=$USERNAME.serv00.net -echo "$reym" > reym.txt -export reym -fi if [[ -z "$vless_port" ]] || [[ -z "$vmess_port" ]] || [[ -z "$hy2_port" ]]; then check_port fi From 25e42b3a8ee5dfcbc508209ec63930e8f4780feb 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, 18 Mar 2025 14:10:43 +0800 Subject: [PATCH 19/19] Update serv00keep.sh --- serv00keep.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serv00keep.sh b/serv00keep.sh index 505e928..9baefd9 100644 --- a/serv00keep.sh +++ b/serv00keep.sh @@ -240,7 +240,7 @@ get_argodomain() { if [ ! -f serv00keep.sh ]; then -curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/beta1/serv00keep.sh -o serv00keep.sh && chmod +x serv00keep.sh +curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/main/serv00keep.sh -o serv00keep.sh && chmod +x serv00keep.sh echo '#!/bin/bash red() { echo -e "\e[1;91m$1\033[0m"; } green() { echo -e "\e[1;32m$1\033[0m"; }