aileeao / test_socks5.sh
aihuashanying's picture
修复不能push的问题
386b079
#!/bin/bash
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