mac终端设置代理

mac终端设置代理

在Mac上配置终端走代理,需设置终端(如zsh或bash)使用HTTP/HTTPS/SOCKS代理,以便命令行工具(如curl、git、npm)通过代理访问网络。以下是详细步骤,适用于macOS 10.15及以上版本。

前提条件

代理服务器信息:需知道代理服务器的地址、端口及类型(HTTP、HTTPS或SOCKS)。例如:http://proxy.example.com:8080 或 socks5://127.0.0.1:1080。终端:默认使用zsh(macOS Catalina及以上),若使用bash,步骤类似。管理员权限:部分配置可能需要修改系统文件。

配置步骤

以下是配置终端走代理的几种方法,根据需求选择适合的方案。

方法 1:临时设置代理(单次会话)

适用于临时测试代理设置,关闭终端后失效。

打开终端:

打开“应用程序 > 实用工具 > 终端”。

设置环境变量:

对于HTTP/HTTPS代理,运行以下命令(替换为你的代理地址和端口):export http_proxy=http://proxy.example.com:8080

export https_proxy=http://proxy.example.com:8080

export all_proxy=http://proxy.example.com:8080

对于SOCKS5代理,运行:export all_proxy=socks5://127.0.0.1:1080

说明:

http_proxy:用于HTTP请求。https_proxy:用于HTTPS请求。all_proxy:通用代理设置,部分工具(如curl)会优先使用。

验证代理:

测试代理是否生效:curl -I https://www.google.com

若返回HTTP状态码(如200),说明代理生效。若失败,检查代理地址或网络。

取消临时代理:

清除代理设置:unset http_proxy https_proxy all_proxy

方法 2:持久化代理配置(全局生效)

适用于长期使用代理,配置写入终端配置文件。

编辑终端配置文件:

确定你的终端Shell:

默认zsh:编辑 ~/.zshrc。bash:编辑 ~/.bashrc。

打开配置文件(以zsh为例):nano ~/.zshrc

添加代理设置:

在文件末尾添加以下行(替换为你的代理地址和端口):export http_proxy=http://proxy.example.com:8080

export https_proxy=http://proxy.example.com:8080

export all_proxy=http://proxy.example.com:8080

SOCKS5代理示例:export all_proxy=socks5://127.0.0.1:1080

保存并应用:

保存文件(nano中按 Ctrl+O,回车,然后 Ctrl+X 退出)。应用配置:source ~/.zshrc

或重启终端。

验证代理:

测试:curl -I https://www.google.com

确认是否通过代理访问。

方法 3:特定工具的代理配置

某些工具(如git、npm)需要单独配置代理。

配置git代理:

设置HTTP/HTTPS代理:git config --global http.proxy http://proxy.example.com:8080

git config --global https.proxy http://proxy.example.com:8080

SOCKS5代理:git config --global http.proxy socks5://127.0.0.1:1080

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

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

git config --global --unset https.proxy

配置npm代理:

设置代理:npm config set proxy http://proxy.example.com:8080

npm config set https-proxy http://proxy.example.com:8080

取消npm代理:npm config delete proxy

npm config delete https-proxy

方法 4:使用代理客户端(如Shadowsocks、V2Ray)

若使用代理客户端(如Shadowsocks、V2Ray),可通过系统代理或本地SOCKS5代理配置终端。

检查代理客户端:

确保代理客户端运行并提供本地代理端口(如 127.0.0.1:1080)。

配置终端走本地代理:

编辑 ~/.zshrc,添加:export http_proxy=http://127.0.0.1:1080

export https_proxy=http://127.0.0.1:1080

export all_proxy=socks5://127.0.0.1:1080

保存并运行:source ~/.zshrc

验证:

测试:curl -I https://www.google.com

注意事项

大小写敏感:环境变量 http_proxy 和 HTTP_PROXY 可能被不同工具识别,确保使用小写形式(如 http_proxy),部分工具也支持大写。代理认证:

若代理需要用户名和密码,格式为:export http_proxy=http://username:password@proxy.example.com:8080

绕过代理:

设置 no_proxy 跳过特定域名:export no_proxy="localhost,127.0.0.1,.example.com"

系统代理同步:

若已通过系统偏好设置配置代理(系统设置 > 网络 > 高级 > 代理),终端可能自动继承,优先级低于手动设置。

性能问题:

代理可能导致命令行工具(如Homebrew、npm)速度变慢,检查代理服务器稳定性。

取消持久化配置:

编辑 ~/.zshrc 或 ~/.bashrc,删除相关代理行,运行 source ~/.zshrc。

问题排查

代理无效:

确认代理服务器地址和端口正确。测试代理:curl -x http://proxy.example.com:8080 https://www.google.com。

连接超时:

检查代理客户端是否运行,或网络防火墙是否阻止连接。

命令未生效:

确保 source ~/.zshrc 已执行,或重启终端。

若有具体错误信息,请提供,我可进一步协助。

相关数据