aileeao / test_port_connection.sh
aihuashanying's picture
修复不能push的问题
386b079
#!/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 正在运行"