在 Windows、Linux、Macos 的终端中使用代理
这三种常见的桌面系统的终端都不会自动继承图形界面的系统代理,这里介绍一下在终端里使用代理的方法。
Windows 系统
设置代理
1 | # 设置 HTTP 代理 |
验证代理
用 ping 命令是无法验证这里设置的终端代理的,因为 HTTP 代理只能代理基于 TCP 协议的 HTTP 或者 HTTPS 协议的流量。而 ping 命令用的是 icmp 协议。
所以这里使用 curl 命令来验证:
1 | curl -vv https://www.google.com |
取消代理
1 | set http_proxy= |
设置别名
可以通过设置别名来简化每次使用代理时的操作。
首先使用 echo $PROFILE
命令来确定 Powershell 的配置文件的位置。
打开输出的文件,按照如下格式编辑内容:
1 | function 别名 { 需要替代的命令 } |
这里给出我的例子:
1 | function setproxy { |
Linux 和 Macos
Macos 终端默认使用 zsh,设置方式与 Linux 默认的 bash 类似,所以就放在一起来讲。
设置代理
1 | # 设置 HTTP 代理 |
验证代理
使用 curl 命令来验证代理是否生效:
1 | curl -vv https://www.google.com |
取消代理
1 | unset http_proxy |
设置别名
可以通过设置别名来简化每次使用代理时的操作。
打开终端的配置文件(例如:~/.bashrc
或 ~/.zshrc
),添加如下内容:
1 | alias setproxy='setproxy(){export http_proxy=http://127.0.0.1:port; export https_proxy=http://127.0.0.1:port;};setproxy' |
记得替换 port
为实际的代理端口号。
在 Windows、Linux、Macos 的终端中使用代理