#!/bin/bash echo "=== 检查 Clash Verge 代理配置 ===" echo "" # 1. 检查网络接口 echo "1. 网络接口信息:" ip addr show | grep -E "^[0-9]+:|inet " | head -10 echo "" # 2. 检查路由 echo "2. 默认路由:" ip route show | grep default echo "" # 3. 检测 Windows 主机 IP WSL_HOST_IP=$(ip route show | grep -i default | awk '{ print $3}' | head -1) echo "3. WSL 网关 IP(Windows 主机): $WSL_HOST_IP" echo "" # 4. 测试 Clash 端口 echo "4. 测试 Clash 代理端口:" for port in 7897 7890 7891 1080; do if timeout 2 bash -c "echo > /dev/tcp/$WSL_HOST_IP/$port" 2>/dev/null; then echo " ✓ 端口 $port 可达" if [ $port -eq 7897 ]; then echo " 这是 Clash 混合代理端口(支持 HTTP 和 SOCKS5)" elif [ $port -eq 7890 ]; then echo " 这可能是 Clash HTTP 代理端口" elif [ $port -eq 7891 ]; then echo " 这可能是 Clash SOCKS5 代理端口" fi else echo " ✗ 端口 $port 不可达" fi done echo "" # 5. 检查环境变量 echo "5. 代理环境变量:" echo " http_proxy: ${http_proxy:-未设置}" echo " https_proxy: ${https_proxy:-未设置}" echo " HTTP_PROXY: ${HTTP_PROXY:-未设置}" echo " HTTPS_PROXY: ${HTTPS_PROXY:-未设置}" echo " all_proxy: ${all_proxy:-未设置}" echo " ALL_PROXY: ${ALL_PROXY:-未设置}" echo "" # 6. 测试 HTTP 连接 echo "6. 测试 HTTP 连接(通过代理):" if [ -n "$http_proxy" ] || [ -n "$HTTP_PROXY" ]; then PROXY_URL=${http_proxy:-$HTTP_PROXY} echo " 使用代理: $PROXY_URL" curl -s --connect-timeout 5 --proxy "$PROXY_URL" https://www.google.com > /dev/null 2>&1 if [ $? -eq 0 ]; then echo " ✓ HTTP 代理工作正常" else echo " ✗ HTTP 代理连接失败" fi else echo " 未设置代理环境变量,测试直连..." curl -s --connect-timeout 5 https://www.google.com > /dev/null 2>&1 if [ $? -eq 0 ]; then echo " ✓ 直连成功(可能通过 TUN 模式自动代理)" else echo " ✗ 连接失败" fi fi echo "" # 7. 测试 hf.co 连接 echo "7. 测试 hf.co 连接:" timeout 5 bash -c "echo > /dev/tcp/hf.co/443" 2>/dev/null if [ $? -eq 0 ]; then echo " ✓ hf.co:443 可达" else echo " ✗ hf.co:443 不可达" fi echo "" # 8. 检查 SSH 配置 echo "8. SSH 配置:" if [ -f ~/.ssh/config ]; then echo " hf.co 配置:" grep -A 10 "Host hf.co" ~/.ssh/config || echo " 未找到 hf.co 配置" else echo " ~/.ssh/config 不存在" fi