Spaces:
Running
Running
| echo "=== 测试混合端口的 SOCKS5 功能 ===" | |
| echo "" | |
| WSL_HOST_IP=$(ip route show | grep default | awk '{print $3}') | |
| echo "Windows 主机 IP: $WSL_HOST_IP" | |
| echo "混合代理端口: 7897" | |
| echo "" | |
| # 测试 SOCKS5 | |
| echo "1. 测试 SOCKS5 代理..." | |
| if command -v curl > /dev/null 2>&1; then | |
| echo "使用 curl 测试 SOCKS5..." | |
| timeout 10 curl -v --socks5-hostname $WSL_HOST_IP:7897 https://www.google.com 2>&1 | head -20 | |
| if [ $? -eq 0 ]; then | |
| echo "" | |
| echo "✓ SOCKS5 代理工作正常" | |
| else | |
| echo "" | |
| echo "✗ SOCKS5 代理测试失败" | |
| fi | |
| else | |
| echo "curl 未安装,跳过测试" | |
| fi | |
| echo "" | |
| # 测试 HTTP 代理 | |
| echo "2. 测试 HTTP 代理..." | |
| if command -v curl > /dev/null 2>&1; then | |
| echo "使用 curl 测试 HTTP 代理..." | |
| export http_proxy=http://$WSL_HOST_IP:7897 | |
| timeout 10 curl -v --proxy "$http_proxy" https://www.google.com 2>&1 | head -20 | |
| if [ $? -eq 0 ]; then | |
| echo "" | |
| echo "✓ HTTP 代理工作正常" | |
| else | |
| echo "" | |
| echo "✗ HTTP 代理测试失败" | |
| fi | |
| else | |
| echo "curl 未安装,跳过测试" | |
| fi | |
| echo "" | |
| # 测试 nc 的 SOCKS5 支持 | |
| echo "3. 测试 nc 的 SOCKS5 功能..." | |
| if command -v nc > /dev/null 2>&1; then | |
| echo "测试 nc 是否支持 -X 选项..." | |
| if nc -h 2>&1 | grep -q "\-X"; then | |
| echo "✓ nc 支持 SOCKS 代理" | |
| echo "" | |
| echo "尝试通过 nc 连接..." | |
| timeout 5 nc -X 5 -x $WSL_HOST_IP:7897 hf.co 443 < /dev/null | |
| if [ $? -eq 0 ]; then | |
| echo "✓ 通过 nc 的 SOCKS5 连接成功" | |
| else | |
| echo "✗ 通过 nc 的 SOCKS5 连接失败" | |
| fi | |
| else | |
| echo "✗ nc 不支持 SOCKS 代理" | |
| echo "可能需要安装 netcat-openbsd: sudo apt-get install netcat-openbsd" | |
| fi | |
| else | |
| echo "✗ nc 未安装" | |
| fi | |