From 5312718dde028aa27ddcd6383081cef54a46e82d Mon Sep 17 00:00:00 2001 From: fscarmen <62703343+fscarmen@users.noreply.github.com> Date: Thu, 3 Apr 2025 07:45:56 +0000 Subject: [PATCH] Use Firebase realtime database + Netlify cloud function to replace hits.seeyoufarm.com for usage statistics; Replace CF CDN domains. --- docker_init.sh | 5 ++++- sing-box.sh | 19 ++++++++++++------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/docker_init.sh b/docker_init.sh index 847bbbd..b4c05fa 100644 --- a/docker_init.sh +++ b/docker_init.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# 脚本更新日期 2025.03.18 +# 脚本更新日期 2025.04.03 WORK_DIR=/sing-box PORT=$START_PORT SUBSCRIBE_TEMPLATE="https://raw.githubusercontent.com/fscarmen/client_template/main" @@ -1255,6 +1255,9 @@ $(${WORK_DIR}/qrencode https://${ARGO_DOMAIN}/${UUID}/auto) # 显示脚本使用情况数据 hint "\n*******************************************\n" + local STAT=$(wget -qO- --timeout=3 "https://stat-api.netlify.app/updateStats?script=sing-box-docker.sh") + [[ "$STAT" =~ \"todayCount\":([0-9]+),\"totalCount\":([0-9]+) ]] && local TODAY="${BASH_REMATCH[1]}" && local TOTAL="${BASH_REMATCH[2]}" + hint "\n 脚本当天运行次数: $TODAY,累计运行次数: $TOTAL \n" } # Sing-box 的最新版本 diff --git a/sing-box.sh b/sing-box.sh index 9913ff1..cba8b62 100644 --- a/sing-box.sh +++ b/sing-box.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # 当前脚本版本号 -VERSION='v1.2.14 (2025.03.23)' +VERSION='v1.2.14 (2025.04.03)' # 各变量默认值 GH_PROXY='https://ghproxy.lvedong.eu.org/' @@ -16,7 +16,7 @@ TLS_SERVER_DEFAULT=addons.mozilla.org PROTOCOL_LIST=("XTLS + reality" "hysteria2" "tuic" "ShadowTLS" "shadowsocks" "trojan" "vmess + ws" "vless + ws + tls" "H2 + reality" "gRPC + reality" "AnyTLS") NODE_TAG=("xtls-reality" "hysteria2" "tuic" "ShadowTLS" "shadowsocks" "trojan" "vmess-ws" "vless-ws-tls" "h2-reality" "grpc-reality" "anytls") CONSECUTIVE_PORTS=${#PROTOCOL_LIST[@]} -CDN_DOMAIN=("skk.moe" "cfip.xxxxxxxx.tk" "cm.yutian.us.kg" "fan.yutian.us.kg" "xn--b6gac.eu.org" "dash.cloudflare.com" "visa.com") +CDN_DOMAIN=("skk.moe" "ip.sb" "time.is" "cfip.xxxxxxxx.tk" "bestcf.top" "cdn.2020111.xyz" "xn--b6gac.eu.org") SUBSCRIBE_TEMPLATE="https://raw.githubusercontent.com/fscarmen/client_template/main" export DEBIAN_FRONTEND=noninteractive @@ -276,9 +276,14 @@ check_chatgpt() { # 脚本当天及累计运行次数统计 statistics_of_run-times() { - local COUNT=$(wget --no-check-certificate -qO- --tries=2 --timeout=2 "https://hit.forvps.gq/https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-box.sh" 2>&1 | grep -m1 -oE "[0-9]+[ ]+/[ ]+[0-9]+") && - TODAY=$(awk -F ' ' '{print $1}' <<< "$COUNT") && - TOTAL=$(awk -F ' ' '{print $3}' <<< "$COUNT") + local UPDATE_OR_GET=$1 + local SCRIPT=$2 + if grep -q 'update' <<< "$UPDATE_OR_GET"; then + { wget -qO- --timeout=3 "https://stat-api.netlify.app/updateStats?script=${SCRIPT}" > $TEMP_DIR/statistics; }& + elif grep -q 'get' <<< "$UPDATE_OR_GET"; then + [ -s $TEMP_DIR/statistics ] && [[ $(cat $TEMP_DIR/statistics) =~ \"todayCount\":([0-9]+),\"totalCount\":([0-9]+) ]] && local TODAY="${BASH_REMATCH[1]}" && local TOTAL="${BASH_REMATCH[2]}" && rm -f $TEMP_DIR/statistics + hint "\n*******************************************\n\n $(text 55) \n" + fi } # 选择中英语言 @@ -2622,7 +2627,7 @@ $(${WORK_DIR}/qrencode $SUBSCRIBE_ADDRESS/${UUID_CONFIRM}/auto2) cat ${WORK_DIR}/list # 显示脚本使用情况数据 - hint "\n*******************************************\n\n $(text 55) \n" + statistics_of_run-times get } # 创建快捷方式 @@ -3119,7 +3124,7 @@ menu() { } check_cdn -statistics_of_run-times +statistics_of_run-times update sing-box.sh # 传参 [[ "${*^^}" =~ '-E' ]] && L=E