Files
dock/xuiip6
2026-01-14 23:17:46 +08:00

51 lines
1.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
bash << 'EOF'
set -e
echo "=== [1/7] 强制 DNS 为 IPv6 优先 ==="
chattr -i /etc/resolv.conf 2>/dev/null || true
cat > /etc/resolv.conf << 'DNS'
nameserver 2606:4700:4700::1111
nameserver 2001:4860:4860::8888
DNS
chattr +i /etc/resolv.conf
echo "=== [2/7] 修补 glibc 地址选择策略IPv6 优先)==="
cat > /etc/gai.conf << 'GAI'
precedence ::1/128 50
precedence ::/0 40
precedence 2002::/16 30
precedence ::ffff:0:0/96 10
GAI
echo "=== [3/7] 禁止 Xray 使用 IPv4内核级==="
sysctl -w net.ipv4.tcp_syn_retries=2 >/dev/null
sysctl -w net.ipv4.tcp_retries2=5 >/dev/null
echo "=== [4/7] 确保 IPv6 未被禁用 ==="
sysctl -w net.ipv6.conf.all.disable_ipv6=0 >/dev/null
sysctl -w net.ipv6.conf.default.disable_ipv6=0 >/dev/null
echo "=== [5/7] 修补 Xray SOCKS5 出站为 IPv6-only ==="
XRAY_CONF="/usr/local/x-ui/bin/config.json"
if [ -f "$XRAY_CONF" ]; then
cp "$XRAY_CONF" "${XRAY_CONF}.bak.$(date +%s)"
jq '
(.outbounds[] | select(.protocol=="freedom").settings.domainStrategy)="UseIPv6"
' "$XRAY_CONF" > /tmp/xray.json && mv /tmp/xray.json "$XRAY_CONF"
else
echo "未找到 Xray 配置文件,跳过自动注入(但系统层已生效)"
fi
echo "=== [6/7] 重启服务 ==="
systemctl restart x-ui 2>/dev/null || true
systemctl restart xray 2>/dev/null || true
echo "=== [7/7] 验证提示 ==="
echo "请执行:"
echo "curl --socks5-hostname 127.0.0.1:你的端口 https://ipv6.google.com"
echo "如果返回 HTML则 SOCKS5 已 100% 修复"
echo "=== SOCKS5 IPv6 修补完成 ==="
EOF