#!/bin/bash echo "=== 测试端口连接 ===" echo "" WSL_HOST_IP=$(ip route show | grep default | awk '{print $3}') echo "Windows 主机 IP: $WSL_HOST_IP" echo "" # 测试多个端口 echo "测试 Clash Verge 常用端口:" for port in 7897 7890 7891; do echo -n " 端口 $port: " if timeout 2 bash -c "echo > /dev/tcp/$WSL_HOST_IP/$port" 2>/dev/null; then echo "✓ 可达" else echo "✗ 不可达" fi done echo "" # 测试 ping echo "测试到 Windows 主机的连接:" if ping -c 2 -W 2 $WSL_HOST_IP > /dev/null 2>&1; then echo "✓ Windows 主机可达" else echo "✗ Windows 主机不可达" fi echo "" # 测试 DNS echo "测试 DNS 解析:" if nslookup hf.co > /dev/null 2>&1; then echo "✓ DNS 解析正常" HF_IP=$(nslookup hf.co | grep -A 1 "Name:" | tail -1 | awk '{print $2}') echo " hf.co IP: $HF_IP" else echo "✗ DNS 解析失败" fi echo "" # 测试直接连接 hf.co echo "测试直接连接 hf.co:443:" if timeout 3 bash -c "echo > /dev/tcp/hf.co/443" 2>/dev/null; then echo "✓ hf.co:443 可达(可能通过 TUN 模式)" else echo "✗ hf.co:443 不可达" fi echo "" echo "如果端口 7897 不可达,请:" echo "1. 检查 Clash Verge 的 '局域网连接' 是否已启用" echo "2. 检查 Windows 防火墙设置" echo "3. 确认 Clash Verge 正在运行"