11#! /usr/bin/env bash
2- # 脚本更新日期 2026.04.23
2+ # 脚本更新日期 2026.06.05
33set -e
44
55WORK_DIR=/sing-box
893893 # 获取自签证书指纹。argo 回源的是由 Google Trust Services(谷歌信任服务)作为中间 CA(CN=WE1)签发,受信任的证书(非自签名)
894894 local SELF_SIGNED_FINGERPRINT_SHA256=$( openssl x509 -fingerprint -noout -sha256 -in ${WORK_DIR} /cert/cert.pem | awk -F ' =' ' {print $NF}' )
895895 local SELF_SIGNED_FINGERPRINT_BASE64=$( openssl x509 -in ${WORK_DIR} /cert/cert.pem -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64)
896- local CERT_URL=$( awk ' {printf "%s\\r\\n", $0}' ${WORK_DIR} /cert/cert.pem)
896+ local CERT_URL_1=$( awk ' {printf "%s,", $0}' ${WORK_DIR} /cert/cert.pem | sed ' s/ /%20/g; s/,$//' )
897+ local CERT_URL_2=$( awk ' {printf "%s\\r\\n", $0}' ${WORK_DIR} /cert/cert.pem)
897898
898899 # 生成 nginx 配置文件
899900 local NGINX_CONF=" user root;
910911 http {
911912 map \$ http_user_agent \$ path {
912913 default /; # 默认路径
913- ~*v2rayN|Neko|Throne /base64 ; # 匹配 V2rayN / NekoBox / Throne 客户端
914+ ~*v2rayN /v2rayn ; # 匹配 V2rayN 客户端
914915 ~*clash /clash; # 匹配 Clash 客户端
916+ ~*Throne|Neko /throne; # 匹配 Neko / Throne 客户端
915917 ~*ShadowRocket /shadowrocket; # 匹配 ShadowRocket 客户端
916918 ~*SFM|SFI|SFA /sing-box; # 匹配 Sing-box 官方客户端
917919 # ~*Chrome|Firefox|Mozilla /; # 添加更多的分流规则
@@ -1102,11 +1104,11 @@ vless://${UUID}@${SERVER_IP_1}:${PORT_XTLS_REALITY}?encryption=none&flow=xtls-rp
11021104
11031105 [ " ${HYSTERIA2} " = ' true' ] && local V2RAYN_SUBSCRIBE+="
11041106----------------------------
1105- v2rayn://hysteria2/$( echo -n " {\" ConfigType\" :7,\" ConfigVersion\" :4,\" Remarks\" :\" ${NODE_NAME} hysteria2\" ,\" Address\" :\" ${SERVER_IP} \" ,\" Port\" :${PORT_HYSTERIA2} ,\" Password\" :\" ${UUID} \" ,\" StreamSecurity\" :\" tls\" ,\" AllowInsecure\" :\" false\" ,\" Sni\" :\" addons.mozilla.org\" ,\" Cert\" :\" ${CERT_URL } \" ,\" ProtoExtraObj\" :{\" UpMbps\" :200,\" DownMbps\" :1000}}" | base64 -w0 | tr ' +/' ' -_' | tr -d ' =' ) "
1107+ v2rayn://hysteria2/$( echo -n " {\" ConfigType\" :7,\" ConfigVersion\" :4,\" Remarks\" :\" ${NODE_NAME} hysteria2\" ,\" Address\" :\" ${SERVER_IP} \" ,\" Port\" :${PORT_HYSTERIA2} ,\" Password\" :\" ${UUID} \" ,\" StreamSecurity\" :\" tls\" ,\" AllowInsecure\" :\" false\" ,\" Sni\" :\" addons.mozilla.org\" ,\" Cert\" :\" ${CERT_URL_2 } \" ,\" ProtoExtraObj\" :{\" UpMbps\" :200,\" DownMbps\" :1000}}" | base64 -w0 | tr ' +/' ' -_' | tr -d ' =' ) "
11061108
11071109 [ " ${TUIC} " = ' true' ] && local V2RAYN_SUBSCRIBE+="
11081110----------------------------
1109- v2rayn://tuic/$( echo -n " {\" ConfigType\" :8,\" CoreType\" :24,\" ConfigVersion\" :4,\" Remarks\" :\" ${NODE_NAME} tuic\" ,\" Address\" :\" ${SERVER_IP} \" ,\" Port\" :${PORT_TUIC} ,\" Password\" :\" ${UUID} \" ,\" Username\" :\" ${UUID} \" ,\" StreamSecurity\" :\" tls\" ,\" AllowInsecure\" :\" false\" ,\" Sni\" :\" addons.mozilla.org\" ,\" Alpn\" :\" h3\" ,\" Cert\" :\" ${CERT_URL } \" ,\" ProtoExtraObj\" :{\" CongestionControl\" :\" bbr\" }}" | base64 -w0 | tr ' +/' ' -_' | tr -d ' =' ) "
1111+ v2rayn://tuic/$( echo -n " {\" ConfigType\" :8,\" CoreType\" :24,\" ConfigVersion\" :4,\" Remarks\" :\" ${NODE_NAME} tuic\" ,\" Address\" :\" ${SERVER_IP} \" ,\" Port\" :${PORT_TUIC} ,\" Password\" :\" ${UUID} \" ,\" Username\" :\" ${UUID} \" ,\" StreamSecurity\" :\" tls\" ,\" AllowInsecure\" :\" false\" ,\" Sni\" :\" addons.mozilla.org\" ,\" Alpn\" :\" h3\" ,\" Cert\" :\" ${CERT_URL_2 } \" ,\" ProtoExtraObj\" :{\" CongestionControl\" :\" bbr\" }}" | base64 -w0 | tr ' +/' ' -_' | tr -d ' =' ) "
11101112
11111113 [ " ${SHADOWTLS} " = ' true' ] && local V2RAYN_SUBSCRIBE+="
11121114----------------------------
@@ -1165,7 +1167,7 @@ ss://$(echo -n "${SIP022_METHOD}:${SIP022_PASSWORD}@${SERVER_IP_1}:$PORT_SHADOWS
11651167
11661168 [ " ${TROJAN} " = ' true' ] && local V2RAYN_SUBSCRIBE+="
11671169----------------------------
1168- trojan ://${UUID} @ ${SERVER_IP_1} : $ PORT_TROJAN?security=tls&insecure=1&allowInsecure=1&pcs= ${SELF_SIGNED_FINGERPRINT_SHA256 //:/ } &type=tcp&headerType=none# ${NODE_NAME // /% 20} %20trojan "
1170+ v2rayn ://trojan/ $( echo -n " { \" ConfigType \" :6, \" ConfigVersion \" :4, \" Remarks \" : \" ${NODE_NAME} trojan \" , \" Address \" : \" ${SERVER_IP} \" , \" Port \" : ${ PORT_TROJAN} , \" Password \" : \" ${UUID} \" , \" Network \" : \" raw \" , \" StreamSecurity \" : \" tls \" , \" AllowInsecure \" : \" false \" , \" Sni \" : \" addons.mozilla.org \" , \" Cert \" : \" ${CERT_URL_2} \" } " | base64 -w0 | tr ' +/ ' ' -_ ' | tr -d ' = ' ) "
11691171
11701172 [ " ${VMESS_WS} " = ' true' ] && local V2RAYN_SUBSCRIBE+="
11711173----------------------------
@@ -1177,68 +1179,68 @@ vless://${UUID}@${CDN}:443?encryption=none&security=tls&sni=${ARGO_DOMAIN}&type=
11771179
11781180 [ " ${H2_REALITY} " = ' true' ] && local V2RAYN_SUBSCRIBE+="
11791181----------------------------
1180- vless ://${UUID} @ ${SERVER_IP_1} :${PORT_H2_REALITY} ?encryption=none&security= reality&sni= addons.mozilla.org&fp= firefox&pbk= ${REALITY_PUBLIC} &type=http# ${NODE_NAME // /% 20} %20h2-reality "
1182+ v2rayn ://vless/ $( echo -n " { \" ConfigType \" :5, \" CoreType \" :24, \" ConfigVersion \" :4, \" Remarks \" : \" ${NODE_NAME} h2-reality \" , \" Address \" : \" ${SERVER_IP} \" , \" Port \" :${PORT_H2_REALITY} , \" Password \" : \" ${UUID} \" , \" Network \" : \" raw \" , \" StreamSecurity \" : \" reality\" , \" AllowInsecure \" : \" false \" , \" Sni \" : \" addons.mozilla.org\" , \" Fingerprint \" : \" firefox\" , \" PublicKey \" : \" ${REALITY_PUBLIC} \" } " | base64 -w0 | tr ' +/ ' ' -_ ' | tr -d ' = ' ) "
11811183
11821184 [ " ${GRPC_REALITY} " = ' true' ] && local V2RAYN_SUBSCRIBE+="
11831185----------------------------
11841186vless://${UUID} @${SERVER_IP_1} :${PORT_GRPC_REALITY} ?encryption=none&security=reality&sni=addons.mozilla.org&fp=firefox&pbk=${REALITY_PUBLIC} &type=grpc&serviceName=grpc&mode=gun#${NODE_NAME// /% 20} %20grpc-reality"
11851187
11861188 [ " ${ANYTLS} " = ' true' ] && local V2RAYN_SUBSCRIBE+="
11871189----------------------------
1188- v2rayn://anytls/$( echo -n " {\" ConfigType\" :11,\" CoreType\" :24,\" ConfigVersion\" :4,\" Remarks\" :\" ${NODE_NAME} anytls\" ,\" Address\" :\" ${SERVER_IP} \" ,\" Port\" :${PORT_ANYTLS} ,\" Password\" :\" ${UUID} \" ,\" StreamSecurity\" :\" tls\" ,\" AllowInsecure\" :\" false\" ,\" Sni\" :\" addons.mozilla.org\" ,\" Fingerprint\" :\" firefox\" ,\" Cert\" :\" ${CERT_URL } \" }" | base64 -w0 | tr ' +/' ' -_' | tr -d ' =' ) "
1190+ v2rayn://anytls/$( echo -n " {\" ConfigType\" :11,\" CoreType\" :24,\" ConfigVersion\" :4,\" Remarks\" :\" ${NODE_NAME} anytls\" ,\" Address\" :\" ${SERVER_IP} \" ,\" Port\" :${PORT_ANYTLS} ,\" Password\" :\" ${UUID} \" ,\" StreamSecurity\" :\" tls\" ,\" AllowInsecure\" :\" false\" ,\" Sni\" :\" addons.mozilla.org\" ,\" Fingerprint\" :\" firefox\" ,\" Cert\" :\" ${CERT_URL_2 } \" }" | base64 -w0 | tr ' +/' ' -_' | tr -d ' =' ) "
11891191
11901192 echo -n " $V2RAYN_SUBSCRIBE " | sed -E ' /^[ ]*#|^[ ]+|^--|^\{|^\}/d' | sed ' /^$/d' | base64 -w0 > ${WORK_DIR} /subscribe/v2rayn
11911193
1192- # 生成 NekoBox 订阅文件
1193- [ " ${XTLS_REALITY} " = ' true' ] && local NEKOBOX_SUBSCRIBE +="
1194+ # 生成 Throne 订阅文件
1195+ [ " ${XTLS_REALITY} " = ' true' ] && local THRONE_SUBSCRIBE +="
11941196----------------------------
11951197vless://${UUID} @${SERVER_IP_1} :${PORT_XTLS_REALITY} ?security=reality&sni=addons.mozilla.org&fp=firefox&pbk=${REALITY_PUBLIC} &type=tcp&flow=xtls-rprx-vision&encryption=none#${NODE_NAME// /% 20} %20xtls-reality"
11961198
1197- [ " ${HYSTERIA2} " = ' true' ] && local NEKOBOX_SUBSCRIBE +="
1199+ [ " ${HYSTERIA2} " = ' true' ] && local THRONE_SUBSCRIBE +="
11981200----------------------------
1199- hy2 ://${UUID} @${SERVER_IP_1} :${PORT_HYSTERIA2} ?insecure=1& sni=addons.mozilla.org#${NODE_NAME// /% 20} %20hysteria2"
1201+ hysteria2 ://${UUID} @${SERVER_IP_1} :${PORT_HYSTERIA2} ?allowInsecure=false&alpn&security=tls& sni=addons.mozilla.org&upmbps=200&downmbps=1000&security=tls&tls_certificate= ${CERT_URL_1} #${NODE_NAME// /% 20} %20hysteria2"
12001202
1201- [ " ${TUIC} " = ' true' ] && local NEKOBOX_SUBSCRIBE +="
1203+ [ " ${TUIC} " = ' true' ] && local THRONE_SUBSCRIBE +="
12021204----------------------------
1203- tuic://${UUID} :${UUID} @${SERVER_IP_1} :${PORT_TUIC} ?congestion_control=bbr&alpn=h3&sni=addons.mozilla.org&udp_relay_mode=native&allow_insecure=1 #${NODE_NAME// /% 20} %20tuic"
1205+ tuic://${UUID} :${UUID} @${SERVER_IP_1} :${PORT_TUIC} ?congestion_control=bbr&alpn=h3&sni=addons.mozilla.org&udp_relay_mode=native&allow_insecure=0&security=tls&tls_certificate= ${CERT_URL_1} #${NODE_NAME// /% 20} %20tuic"
12041206
1205- [ " ${SHADOWTLS} " = ' true' ] && local NEKOBOX_SUBSCRIBE +="
1207+ [ " ${SHADOWTLS} " = ' true' ] && local THRONE_SUBSCRIBE +="
12061208----------------------------
12071209nekoray://custom#$( echo -n " {\" _v\" :0,\" addr\" :\" 127.0.0.1\" ,\" cmd\" :[\"\" ],\" core\" :\" internal\" ,\" cs\" :\" {\n \\\" password\\\" : \\\" ${UUID} \\\" ,\n \\\" server\\\" : \\\" ${SERVER_IP_1} \\\" ,\n \\\" server_port\\\" : ${PORT_SHADOWTLS} ,\n \\\" tag\\\" : \\\" shadowtls-out\\\" ,\n \\\" tls\\\" : {\n \\\" enabled\\\" : true,\n \\\" server_name\\\" : \\\" addons.mozilla.org\\\" \n },\n \\\" type\\\" : \\\" shadowtls\\\" ,\n \\\" version\\\" : 3\n}\n\" ,\" mapping_port\" :0,\" name\" :\" 1-tls-not-use\" ,\" port\" :1080,\" socks_port\" :0}" | base64 -w0)
12081210
12091211nekoray://shadowsocks#$( echo -n " {\" _v\" :0,\" method\" :\" ${SIP022_METHOD} \" ,\" name\" :\" 2-ss-not-use\" ,\" pass\" :\" ${SIP022_PASSWORD} \" ,\" port\" :0,\" stream\" :{\" ed_len\" :0,\" insecure\" :false,\" mux_s\" :0,\" net\" :\" tcp\" },\" uot\" :0}" | base64 -w0) "
12101212
1211- [ " ${SHADOWSOCKS} " = ' true' ] && local NEKOBOX_SUBSCRIBE +="
1213+ [ " ${SHADOWSOCKS} " = ' true' ] && local THRONE_SUBSCRIBE +="
12121214----------------------------
12131215ss://$( echo -n " ${SIP022_METHOD} :${SIP022_PASSWORD} " | base64 -w0) @${SERVER_IP_1} :$PORT_SHADOWSOCKS #${NODE_NAME// /% 20} %20shadowsocks"
12141216
1215- [ " ${TROJAN} " = ' true' ] && local NEKOBOX_SUBSCRIBE +="
1217+ [ " ${TROJAN} " = ' true' ] && local THRONE_SUBSCRIBE +="
12161218----------------------------
1217- trojan://${UUID} @${SERVER_IP_1} :$PORT_TROJAN ?security=tls&sni=addons.mozilla.org&allowInsecure=1 &fp=firefox&type=tcp#${NODE_NAME// /% 20} %20trojan"
1219+ trojan://${UUID} @${SERVER_IP_1} :${ PORT_TROJAN} ?security=tls&sni=addons.mozilla.org&allowInsecure=0&tls_certificate= ${CERT_URL_1} &fp=firefox&type=tcp#${NODE_NAME// /% 20} %20trojan"
12181220
1219- [ " ${VMESS_WS} " = ' true' ] && local NEKOBOX_SUBSCRIBE +="
1221+ [ " ${VMESS_WS} " = ' true' ] && local THRONE_SUBSCRIBE +="
12201222----------------------------
12211223vmess://$( echo -n " {\" add\" :\" ${CDN} \" ,\" aid\" :\" 0\" ,\" host\" :\" ${ARGO_DOMAIN} \" ,\" id\" :\" ${UUID} \" ,\" net\" :\" ws\" ,\" path\" :\" /${UUID} -vmess\" ,\" port\" :\" 80\" ,\" ps\" :\" ${NODE_NAME} vmess-ws\" ,\" scy\" :\" auto\" ,\" sni\" :\"\" ,\" tls\" :\"\" ,\" type\" :\"\" ,\" v\" :\" 2\" }" | base64 -w0)
12221224"
12231225
1224- [ " ${VLESS_WS} " = ' true' ] && local NEKOBOX_SUBSCRIBE +="
1226+ [ " ${VLESS_WS} " = ' true' ] && local THRONE_SUBSCRIBE +="
12251227----------------------------
12261228vless://${UUID} @${CDN} :443?security=tls&sni=${ARGO_DOMAIN} &type=ws&path=/${UUID} -vless?ed%3D2560&host=${ARGO_DOMAIN} &encryption=none#${NODE_NAME// /% 20} %20vless-ws-tls
12271229"
12281230
1229- [ " ${H2_REALITY} " = ' true' ] && local NEKOBOX_SUBSCRIBE +="
1231+ [ " ${H2_REALITY} " = ' true' ] && local THRONE_SUBSCRIBE +="
12301232----------------------------
12311233vless://${UUID} @${SERVER_IP_1} :${PORT_H2_REALITY} ?security=reality&sni=addons.mozilla.org&alpn=h2&fp=firefox&pbk=${REALITY_PUBLIC} &type=http&encryption=none#${NODE_NAME// /% 20} %20h2-reality"
12321234
1233- [ " ${GRPC_REALITY} " = ' true' ] && local NEKOBOX_SUBSCRIBE +="
1235+ [ " ${GRPC_REALITY} " = ' true' ] && local THRONE_SUBSCRIBE +="
12341236----------------------------
12351237vless://${UUID} @${SERVER_IP_1} :${PORT_GRPC_REALITY} ?security=reality&sni=addons.mozilla.org&fp=firefox&pbk=${REALITY_PUBLIC} &type=grpc&serviceName=grpc&encryption=none#${NODE_NAME// /% 20} %20grpc-reality"
12361238
1237- [ " ${ANYTLS} " = ' true' ] && local NEKOBOX_SUBSCRIBE +="
1239+ [ " ${ANYTLS} " = ' true' ] && local THRONE_SUBSCRIBE +="
12381240----------------------------
1239- anytls://${UUID} @${SERVER_IP_1} :${PORT_ANYTLS} ?security=tls&sni=addons.mozilla.org&insecure=1 &fp=firefox#${NODE_NAME// /% 20} %20anytls"
1241+ anytls://${UUID} @${SERVER_IP_1} :${PORT_ANYTLS} ?idle_session_check_interval=30s&idle_session_timeout=30s&min_idle_session=5&insecure=0& security=tls&sni=addons.mozilla.org&tls_certificate= ${CERT_URL_1} &fp=firefox#${NODE_NAME// /% 20} %20anytls"
12401242
1241- echo -n " $NEKOBOX_SUBSCRIBE " | sed -E ' /^[ ]*#|^--/d' | sed ' /^$/d' | base64 -w0 > ${WORK_DIR} /subscribe/neko
1243+ echo -n " $THRONE_SUBSCRIBE " | sed -E ' /^[ ]*#|^--/d' | sed ' /^$/d' | base64 -w0 > ${WORK_DIR} /subscribe/throne
12421244
12431245 # 生成 Sing-box 订阅文件
12441246 [ " ${XTLS_REALITY} " = ' true' ] &&
@@ -1294,7 +1296,7 @@ anytls://${UUID}@${SERVER_IP_1}:${PORT_ANYTLS}?security=tls&sni=addons.mozilla.o
12941296
12951297 # 生成二维码 url 文件
12961298 cat > ${WORK_DIR} /subscribe/qr << EOF
1297- 自适应 Clash / V2rayN / NekoBox / ShadowRocket / SFI / SFA / SFM 客户端:
1299+ 自适应 Clash / V2rayN / Throne / ShadowRocket / SFI / SFA / SFM 客户端:
12981300模版:
12991301https://${ARGO_DOMAIN} /${UUID} /auto
13001302
@@ -1337,10 +1339,10 @@ $(info "$(sed '1d' <<< "${CLASH_SUBSCRIBE}")")
13371339*******************************************
13381340┌────────────────┐
13391341│ │
1340- │ $( warning " NekoBox " ) │
1342+ │ $( warning " Throne " ) │
13411343│ │
13421344└────────────────┘
1343- $( hint " ${NEKOBOX_SUBSCRIBE } " )
1345+ $( hint " ${THRONE_SUBSCRIBE } " )
13441346
13451347*******************************************
13461348┌────────────────┐
@@ -1368,8 +1370,8 @@ https://${ARGO_DOMAIN}/${UUID}/qr
13681370V2rayN 订阅:
13691371https://${ARGO_DOMAIN} /${UUID} /v2rayn" )
13701372
1371- $( hint " NekoBox 订阅:
1372- https://${ARGO_DOMAIN} /${UUID} /neko " )
1373+ $( hint " Throne 订阅:
1374+ https://${ARGO_DOMAIN} /${UUID} /throne " )
13731375
13741376$( hint " Clash 订阅:
13751377https://${ARGO_DOMAIN} /${UUID} /clash
@@ -1382,7 +1384,7 @@ https://${ARGO_DOMAIN}/${UUID}/shadowrocket")
13821384
13831385*******************************************
13841386
1385- $( info " 自适应 Clash / V2rayN / NekoBox / ShadowRocket / SFI / SFA / SFM 客户端:
1387+ $( info " 自适应 Clash / V2rayN / Throne / ShadowRocket / SFI / SFA / SFM 客户端:
13861388模版:
13871389https://${ARGO_DOMAIN} /${UUID} /auto
13881390
0 commit comments