fix(core): 升级终极双核版权雷达 (YT Premium + YT Music),剥除 CDN 伪装,彻底剿灭送中检测假阳性
This commit is contained in:
@@ -171,45 +171,38 @@ for ((i=1; i<=TOTAL_ACTIONS; i++)); do
|
||||
fi
|
||||
done
|
||||
|
||||
# --- [结果纠偏自检 (V4.0.7 终极真理版: Premium穿透 + 双栈法律边界)] ---
|
||||
# 战术揭秘:彻底抛弃单点依赖!
|
||||
# 1. Google 首页存在严重的 CDN 缓存假象,送中 IP 经常虚假返回 US。必须强拉 /premium 页面!
|
||||
# 2. 纯 IPv6 机器可能无法解析 googleusercontent,必须引入 policies.google.com 作为法律边界兜底!
|
||||
# --- [结果纠偏自检 (V4.0.8 终极版权雷达版: Premium + Music 双重穿透)] ---
|
||||
# 战术揭秘:彻底抛弃存在 CDN 缓存假象的首页与不稳定的 Maps 接口!
|
||||
# 全面换装 Google 旗下风控最严苛的两个独立版权业务:YouTube Premium 与 YouTube Music。
|
||||
# 移除会导致 CDN 误判的 Accept-Language 伪装,以裸奔姿态直面底层风控,绝不退而求其次去抓取假阳性的 GL 变量!
|
||||
|
||||
log "$MODULE_NAME" "INFO " "启动双核交叉验证 (Google 法律边界 + YouTube Premium) 穿透获取真实 GeoIP..."
|
||||
log "$MODULE_NAME" "INFO " "启动双核交叉验证 (YT Premium + YT Music) 穿透获取真实 GeoIP..."
|
||||
|
||||
# 核心 1: Google 法律边界重定向探测 (兼容纯 IPv6 双栈寻路)
|
||||
MAPS_HDR=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 10 -sI "https://www.google.com/maps")
|
||||
MAPS_GL=$(echo "$MAPS_HDR" | grep -i "^location:" | grep -o 'gl=[A-Za-z]\{2\}' | head -n 1 | cut -d'=' -f2 | tr 'a-z' 'A-Z')
|
||||
# 容灾:纯 IPv6 机器若查不到,降级走官方用户协议接口 (100% 存在且强制支持 V6 节点)
|
||||
if [ -z "$MAPS_GL" ]; then
|
||||
POL_HDR=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 10 -sI "https://policies.google.com/terms")
|
||||
MAPS_GL=$(echo "$POL_HDR" | grep -i "^location:" | grep -o 'gl=[A-Za-z]\{2\}' | head -n 1 | cut -d'=' -f2 | tr 'a-z' 'A-Z')
|
||||
fi
|
||||
# 核心 1: YouTube Premium 媒体版权风控探测 (极致裸奔,仅提取绝对核心的 countryCode)
|
||||
YT_PR_HTML=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 10 -s -L "https://www.youtube.com/premium")
|
||||
YT_PR_GL=$(echo "$YT_PR_HTML" | grep -o '"countryCode":"[^"]*"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
|
||||
# 核心 2: YouTube Premium 媒体版权风控探测 (提取最深层的 countryCode,无视首页缓存)
|
||||
YT_HTML=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 10 -s -L -H "Accept-Language: en-US,en;q=0.9" "https://www.youtube.com/premium")
|
||||
YT_GL=$(echo "$YT_HTML" | grep -o '"countryCode":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
# 容灾:如果没有 countryCode,尝试退化抓取 GL 变量
|
||||
[ -z "$YT_GL" ] && YT_GL=$(echo "$YT_HTML" | grep -o '"GL":"[A-Za-z]\{2\}"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
# 核心 2: YouTube Music 独立版权风控探测
|
||||
YT_MU_HTML=$(curl $CURL_BIND_OPT $DYNAMIC_IP_PREF -m 10 -s -L "https://music.youtube.com/")
|
||||
YT_MU_GL=$(echo "$YT_MU_HTML" | grep -o '"countryCode":"[^"]*"' | head -n 1 | cut -d'"' -f4 | tr 'a-z' 'A-Z')
|
||||
|
||||
# 综合判定逻辑:优先信任边界雷达,YT 作为辅助补充
|
||||
REAL_REGION="${MAPS_GL:-$YT_GL}"
|
||||
# 综合判定逻辑:优先信任 Premium,Music 作为辅助
|
||||
REAL_REGION="${YT_PR_GL:-$YT_MU_GL}"
|
||||
|
||||
if [ -z "$REAL_REGION" ]; then
|
||||
STATUS="🚨 探针失效 (网络阻断,或已被 Google 验证码/5秒盾拦截)"
|
||||
STATUS="🚨 探针失效 (未获取到版权标识,可能被 5 秒盾或严重风控拦截)"
|
||||
else
|
||||
# [基准对齐] 提取配置大区 (兼容州级穿透,如 US-TX -> US),并修正英国的 ISO 标准代码
|
||||
TARGET_CC="${REGION_CODE%%-*}"
|
||||
[ "$TARGET_CC" == "UK" ] && TARGET_CC="GB"
|
||||
|
||||
# 终极审判:宁可错杀,不可放过!(任一雷达报警即判送中)
|
||||
if [ "$MAPS_GL" == "CN" ] || [ "$YT_GL" == "CN" ]; then
|
||||
STATUS="❌ 严重高危!双核雷达判定 IP 已被中国大陆锁定 (送中)!"
|
||||
if [ "$YT_PR_GL" == "CN" ] || [ "$YT_MU_GL" == "CN" ]; then
|
||||
STATUS="❌ 严重高危!版权雷达判定 IP 已被中国大陆锁定 (送中)!"
|
||||
elif [ "$REAL_REGION" == "$TARGET_CC" ]; then
|
||||
STATUS="✅ 目标区域达成 (Maps: ${MAPS_GL:-无} | YT: ${YT_GL:-无})"
|
||||
STATUS="✅ 目标区域达成 (Premium: ${YT_PR_GL:-无} | Music: ${YT_MU_GL:-无})"
|
||||
else
|
||||
STATUS="⚠️ 区域发生漂移!目标 $TARGET_CC,实际 (Maps: ${MAPS_GL:-无} | YT: ${YT_GL:-无})"
|
||||
STATUS="⚠️ 区域发生漂移!目标 $TARGET_CC,实际 (Premium: ${YT_PR_GL:-无} | Music: ${YT_MU_GL:-无})"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user