终端使用代理

发布时间 2023-10-15 01:17:08作者: faf4r

同一性

使用clash等搭建代理后,终端不经设置并不会通过代理,而无论是Windows还是Linux,方法都是加入http_proxy,https_proxyall_proxy环境变量。

假设我有代理http://127.0.0.1:7890(可完全替换为socks5://127.0.0.1:1080),那么只需将该值赋给上述变量即可,不同系统操作方法不一。

同时还要注意设置的环境变量是临时还是永久的问题,临时设置只对当前终端会话有效。

注意:上述三个环境变量名全大写或全小写都没有问题

补充一点,如果只是git需要使用代理,可以在git设置代理,原理相同:

git config --global http.proxy 'socks5://127.0.0.1:1080' 
git config --global https.proxy 'socks5://127.0.0.1:1080'

如果不想git全局使用代理,那只需要在需要代理的仓库输入去掉--global的命令即可:

git config http.proxy 'socks5://127.0.0.1:1080' 
git config https.proxy 'socks5://127.0.0.1:1080'

若要取消git的代理设置:

#取消http代理
git config --global --unset http.proxy
#取消https代理
git config --global --unset https.proxy

#取消http代理
git config --unset http.proxy
#取消https代理
git config --unset https.proxy

Windows

临时设置

set http_proxy=http://127.0.0.1:7890  # =后的值可以加双引号,也可以不加
set https_proxy=http://127.0.0.1:7890 # 注意这里是设置https的代理,但是我们的代理还是http
# 或者直接设置
set all_proxy=http://127.0.0.1:7890   # 这是一次性设置两个,可以不设置这个

永久设置

终端启用代理的方法是那三个环境变量,因此永久设置就是手动去设置添加环境变量

如何添加环境变量不再赘述。

Linux

临时设置

export http_proxy=http://127.0.0.1:7890  # =后的值可以加双引号,也可以不加
export https_proxy=http://127.0.0.1:7890 # 注意这里是设置https的代理,但是我们的代理还是http
# 或者直接设置
export all_proxy=http://127.0.0.1:7890   # 这是一次性设置两个,可以不设置这个

永久设置

同样的,永久设置也是是将其写入环境变量,在Linux中是将上述内容添加到~/.bashrc~/.profile的末尾。

然后注意我们需要使用source ~/.bashrcsource ~/.profile刷新当前环境使设置生效。

测试是否通过了代理

因为ping是ICMP报文代理不转发所以测试时不要使用ping来测试,而是用curl来进行测试。

curl ip.gs  # 推荐,启用后返回代理IP,否则是本地IP(但是返回结果只有IP)
curl cip.cc # 好像有点问题,能curl通Google但是它还是显示本地IP(返回结果会显示地址)
curl https://www.google.com  # 最直接的方法,能返回HTML就没问题,否则会报错

参考