配置常用工具代理

以下 server 一般都是 127.0.0.1,而 port 就看使用的代理工具设置了(如 CFW 就是 7890)。

配置 Shell 代理

根据不同 Shell 在对应配置文件中加入以下别名(以下示例仅在 Zsh 和 Bash 中验证,在 pwsh 中应该需要更改),即可输入 proxyon 启用代理,输入 proxyoff 关闭代理:

Terminal window
alias proxyon="
export http_proxy=socks5://127.0.0.1:7890;
export https_proxy=socks5://127.0.0.1:7890;
export all_proxy=socks5://127.0.0.1:7890;
export no_proxy=socks5://127.0.0.1:7890;
export HTTP_PROXY=socks5://127.0.0.1:7890;
export HTTPS_PROXY=socks5://127.0.0.1:7890;
export ALL_PROXY=socks5://127.0.0.1:7890;
export NO_PROXY=socks5://127.0.0.1:7890;
echo "proxyon""
alias proxyoff="
unset http_proxy;
unset https_proxy;
unset all_proxy;
unset no_proxy;
unset HTTP_PROXY;
unset HTTPS_PROXY;
unset ALL_PROXY;
unset NO_PROXY;
echo "proxyoff""

配置 Git 代理

Git 同时支持 HTTP 代理和 Socks5 代理,二选一即可

Terminal window
# http
git config --global http.proxy http://server:port
git config --global https.proxy http://server:port
# socks5
git config --global http.proxy socks5://server:port
git config --global https.proxy socks5://server:port

取消 Git 代理:

Terminal window
git config --global --unset http.proxy
git config --global --unset https.proxy

或者直接去 ~/.gitconfig 修改即可。

配置 npm 代理

npm 原生支持 HTTP 代理类型,但是不支持 Socks5 代理类型,如果还想要使用 Socks5 代理,可能还需要使用一个工具使用 HTTP 监听 Socks5 代理 (禁止套娃),此处不做讨论。

Terminal window
# http
npm config set proxy http://server:port
npm config set https-proxy http://server:port

取消 NPM 代理:

Terminal window
npm config delete proxy
npm config delete https-proxy

或者直接去 ~/.npmrc 修改即可。

配置 curl 代理

在使用 nvm 时发现其用 curl 作为下载工具,也需要配置代理才能正常使用。 在 ~/.curlrc 配置文件中添加:

Terminal window
proxy = server:port

配置 wget 代理

直接在 ~/.wgetrc 配置文件中添加:

Terminal window
use_proxy = yes
http_proxy = http://server:port
https_proxy = https://server:port

配置 SSH 协议代理

修改 ~/.ssh/config 配置文件(没有就创建)

Terminal window
# macOS
# 全局
ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p
# 只为特定域名设定,
Host github.com
  ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p
  # 或者
  # ProxyCommand socat - PROXY: 127.0.0.1:%h:%p, proxyport = 8080
# Windows
# 全局
ProxyCommand connect -S 127.0.0.1:1080 %h %p
# 只为特定域名设定
Host github.com
  ProxyCommand connect -S 127.0.0.1:1080 %h %p

解释:

注意:上面的端口号 1080 是默认的 HTTP 端口号,8080 是默认的 Socks5 端口号,实际使用中应替换为代理软件端口。

附:WSL2 配置代理

2024.02.01

参考 官方文档,在较新版本的 WSL2 中配置代理已十分容易,编辑(默认不存在,可自行创建)在 %UserProfile% 目录(即 C:\Users\%USERNAME%\)下的 .wslconfig 文件:

[wsl2]
networkingMode = mirrored
autoProxy = True

以上指令为启用镜像网络模式和强制 WSL 使用 Windows 的 HTTP 代理信息,更多详细配置请见:WSL 中的高级设置配置

2025.01.01 添加

已经有官方 GUI 应用 WSL Settings 可以直接设置关于 WSL 的各种信息了,请前往 Microsoft Store 更新 WSL 到最新版本。

参考