当你在用vcpkg下载包或者在终端运行git clone时,有时网速特别慢。vpn类软件虽可实现全局代理,但似乎对终端或powershell无效,如何给这些系统窗口设置代理呢?
前言
代理是通过客户端与服务端通信,传输服务端能够访问到的资源文件,再由服务端客户端通信返回给客户端,从而间接访问服务端能访问的资源。
参考文献
主要步骤
0.一个代理软件
我使用的代理服务是相对价廉物美的心阶云,在其用户界面提供了支持的客户端,在Windows端我选用了V2RayN,在Linux端我探索了QV2Ray。
1.Windows端的实现
- 在代理软件下方查看域名端口
- 打开powershell(在目标路径下按住shift,鼠标右键,选择“在此处打开powershell窗口”即可)
- 依次输入如下两行命令
$env:HTTP_PROXY="http://域名:端口"
和$env:HTTPS_PROXY="http://域名:端口
。比如:$env:HTTP_PROXY="http://127.0.0.1:10809"
即可。
2.Linux端的实现
在linux中可以使用环境变量,许多命令行程序(如 curl
和 wget
)会使用 <PROTOCOL>_PROXY
环境变量提供的代理。
首先sudo gedit ~/.bashrc
,在最后添加
export ALL_PROXY=socks5://127.0.0.1:xxxx(软件中查看的端口号)
再source ~/.bashrc
,即可实现终端走代理。
3.无效情况
对于部分网址,挂了代理依旧连不上,视情况特殊对待。
比如raw.githubusercontent.com
,亲测无效,上不去,在配置ROS的时候还是必须的。因此可以使用修改hosts的方案:在/etc/hosts中新增
151.101.84.133 raw.githubusercontent.com
又如s3.amazonaws.com
,网上说的改hosts的方法也亲测无效,但在配置realsense sdk的时候是必须的。最终使用手机流量+usb网络共享解决。