1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
| # ==================== 代理管理函数 ====================
# 获取 Windows 主机 IP
get_hostip() {
cat /etc/resolv.conf | grep nameserver | awk '{print $2}'
}
# 开启代理
proxy_on() {
export hostip=$(get_hostip)
export ALL_PROXY="socks5://${hostip}:10810"
export HTTP_PROXY="socks5://${hostip}:10810"
export HTTPS_PROXY="socks5://${hostip}:10810"
export http_proxy="socks5://${hostip}:10810"
export https_proxy="socks5://${hostip}:10810"
echo "🔓 代理已开启"
echo " SOCKS5: socks5://${hostip}:10810"
}
# 关闭代理
proxy_off() {
unset ALL_PROXY
unset HTTP_PROXY
unset HTTPS_PROXY
unset http_proxy
unset https_proxy
unset hostip
echo "🔒 代理已关闭"
}
# 显示代理状态
proxy_status() {
if [ -n "$ALL_PROXY" ]; then
echo "🟢 代理状态: 开启"
echo " ALL_PROXY=$ALL_PROXY"
echo " HTTP_PROXY=$HTTP_PROXY"
echo " HTTPS_PROXY=$HTTPS_PROXY"
else
echo "🔴 代理状态: 关闭"
fi
}
# 测试代理连接
proxy_test() {
echo "🧪 测试代理连接..."
if curl -s --connect-timeout 10 -I https://www.google.com > /dev/null; then
echo "✅ 代理连接成功"
else
echo "❌ 代理连接失败"
fi
}
# 快速切换代理
proxy_switch() {
if [ -n "$ALL_PROXY" ]; then
proxy_off
else
proxy_on
fi
}
# 显示当前网络信息
proxy_info() {
echo "🌐 网络信息:"
echo " WSL IP: $(hostname -I 2>/dev/null | awk '{print $1}')"
echo " Windows IP: $(get_hostip)"
echo " 代理端口: 10810"
}
|