mac终端设置代理

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

前提条件

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

配置步骤

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

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

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

  1. 打开终端

    • 打开“应用程序 > 实用工具 > 终端”。
  2. 设置环境变量

    • 对于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)会优先使用。
  3. 验证代理

    • 测试代理是否生效:
      curl -I https://www.google.com
      
    • 若返回HTTP状态码(如200),说明代理生效。若失败,检查代理地址或网络。
  4. 取消临时代理

    • 清除代理设置:
      unset http_proxy https_proxy all_proxy
      
方法 2:持久化代理配置(全局生效)

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

  1. 编辑终端配置文件

    • 确定你的终端Shell:
      • 默认zsh:编辑 ~/.zshrc
      • bash:编辑 ~/.bashrc
    • 打开配置文件(以zsh为例):
      nano ~/.zshrc
      
  2. 添加代理设置

    • 在文件末尾添加以下行(替换为你的代理地址和端口):
      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
      
  3. 保存并应用

    • 保存文件(nano中按 Ctrl+O,回车,然后 Ctrl+X 退出)。
    • 应用配置:
      source ~/.zshrc
      
    • 或重启终端。
  4. 验证代理

    • 测试:
      curl -I https://www.google.com
      
    • 确认是否通过代理访问。
方法 3:特定工具的代理配置

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

  1. 配置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
      
  2. 配置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代理配置终端。

  1. 检查代理客户端

    • 确保代理客户端运行并提供本地代理端口(如 127.0.0.1:1080)。
  2. 配置终端走本地代理

    • 编辑 ~/.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
      
  3. 验证

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

注意事项

  • 大小写敏感:环境变量 http_proxyHTTP_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 已执行,或重启终端。
  • 若有具体错误信息,请提供,我可进一步协助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MonkeyKing.sun

对你有帮助的话,可以打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值