mirror of
https://github.com/fscarmen/sing-box.git
synced 2026-08-10 17:55:16 +08:00
Fix a bug in checking ChatGPT unlock.
This commit is contained in:
+31
-31
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# 当前脚本版本号
|
# 当前脚本版本号
|
||||||
VERSION='v1.2.17 (2025.07.28)'
|
VERSION='v1.2.17 (2025.08.02)'
|
||||||
|
|
||||||
# 各变量默认值
|
# 各变量默认值
|
||||||
GH_PROXY='gh-proxy.com/'
|
GH_PROXY='gh-proxy.com/'
|
||||||
@@ -988,6 +988,36 @@ sing-box_variables() {
|
|||||||
SERVER_IP=${SERVER_IP:-"$SERVER_IP_DEFAULT"} && WS_SERVER_IP_SHOW=$SERVER_IP
|
SERVER_IP=${SERVER_IP:-"$SERVER_IP_DEFAULT"} && WS_SERVER_IP_SHOW=$SERVER_IP
|
||||||
[ -z "$SERVER_IP" ] && error " $(text 47) "
|
[ -z "$SERVER_IP" ] && error " $(text 47) "
|
||||||
|
|
||||||
|
# 根据 IPv4 和 IPv6 的网络状态,使不同的 DNS 策略
|
||||||
|
[ -x "$(type -p ping)" ] && for i in {1..3}; do
|
||||||
|
ping -c 1 -W 1 "151.101.1.91" &>/dev/null && local IS_IPV4=is_ipv4 && break
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -x "$(type -p ping6)" ]; then
|
||||||
|
for i in {1..3}; do
|
||||||
|
ping6 -c 1 -W 1 "2a04:4e42:200::347" &>/dev/null && local IS_IPV6=is_ipv6 && break
|
||||||
|
done
|
||||||
|
elif [ -x "$(type -p ping)" ]; then
|
||||||
|
for i in {1..3}; do
|
||||||
|
ping -c 1 -W 1 "2a04:4e42:200::347" &>/dev/null && local IS_IPV6=is_ipv6 && break
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "${IS_IPV4}@${IS_IPV6}" in
|
||||||
|
is_ipv4@is_ipv6)
|
||||||
|
STRATEGY=prefer_ipv4
|
||||||
|
;;
|
||||||
|
is_ipv4@)
|
||||||
|
STRATEGY=ipv4_only
|
||||||
|
;;
|
||||||
|
@is_ipv6)
|
||||||
|
STRATEGY=ipv6_only
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
STRATEGY=prefer_ipv4
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# 检测是否解锁 chatGPT
|
# 检测是否解锁 chatGPT
|
||||||
CHATGPT_OUT=warp-ep;
|
CHATGPT_OUT=warp-ep;
|
||||||
[ "$(check_chatgpt $(grep -oE '[46]' <<< "$STRATEGY"))" = 'unlock' ] && CHATGPT_OUT=direct
|
[ "$(check_chatgpt $(grep -oE '[46]' <<< "$STRATEGY"))" = 'unlock' ] && CHATGPT_OUT=direct
|
||||||
@@ -1318,36 +1348,6 @@ sing-box_json() {
|
|||||||
else
|
else
|
||||||
DIR=$TEMP_DIR
|
DIR=$TEMP_DIR
|
||||||
|
|
||||||
# 根据 IPv4 和 IPv6 的网络状态,使不同的 DNS 策略
|
|
||||||
[ -x "$(type -p ping)" ] && for i in {1..3}; do
|
|
||||||
ping -c 1 -W 1 "151.101.1.91" &>/dev/null && local IS_IPV4=is_ipv4 && break
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -x "$(type -p ping6)" ]; then
|
|
||||||
for i in {1..3}; do
|
|
||||||
ping6 -c 1 -W 1 "2a04:4e42:200::347" &>/dev/null && local IS_IPV6=is_ipv6 && break
|
|
||||||
done
|
|
||||||
elif [ -x "$(type -p ping)" ]; then
|
|
||||||
for i in {1..3}; do
|
|
||||||
ping -c 1 -W 1 "2a04:4e42:200::347" &>/dev/null && local IS_IPV6=is_ipv6 && break
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "${IS_IPV4}@${IS_IPV6}" in
|
|
||||||
is_ipv4@is_ipv6)
|
|
||||||
local STRATEGY=prefer_ipv4
|
|
||||||
;;
|
|
||||||
is_ipv4@)
|
|
||||||
local STRATEGY=ipv4_only
|
|
||||||
;;
|
|
||||||
@is_ipv6)
|
|
||||||
local STRATEGY=ipv6_only
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
local STRATEGY=prefer_ipv4
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# 生成 log 配置
|
# 生成 log 配置
|
||||||
cat > ${WORK_DIR}/conf/00_log.json << EOF
|
cat > ${WORK_DIR}/conf/00_log.json << EOF
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user