当前位置: 首页 > news >正文

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 已执行,或重启终端。
  • 若有具体错误信息,请提供,我可进一步协助。
http://www.dtcms.com/a/291283.html

相关文章:

  • 拟合算法(1)
  • socket编程(UDP)
  • QGIS、ArcMap、ArcGIS Pro中的书签功能、场景裁剪
  • 本地部署Dify、Docker重装
  • 时序论文43 | WPMixer:融合小波分解的多分辨率长序列预测模型
  • Nginx配置proxy protocol代理获取真实ip
  • ubuntu远程桌面不好使
  • 修复echarts由4.x升级5.x出现地图报错echarts/map/js/china.js未找到
  • 卷积神经网络基本概念
  • 深度学习之参数初始化和损失函数(四)
  • 深入解析MIPI C-PHY (二)C-PHY三线魔术:如何用6种“符号舞步”榨干每一滴带宽?
  • 设计模式六:工厂模式(Factory Pattern)
  • C语言:20250721笔记
  • 在 Conda 中删除环境及所有安装的库
  • 《使用 IDEA 部署 Docker 应用指南》
  • Linux-rpm和yum
  • Shell脚本编程:从入门到精通的实战指南
  • 从零开始:用Python库轻松搭建智能AI代理
  • Djoser 详解
  • 深度学习中的数据增强:从理论到实践
  • hot100回归复习(算法总结1-38)
  • 力扣面试150(35/150)
  • 【安全篇 / 反病毒】(7.6) ❀ 01. 查杀HTTPS加密网站病毒 ❀ FortiGate 防火墙
  • Excel函数 —— XLOOKUP 双向查找
  • Linux find命令:强大的文件搜索工具
  • 计算机发展史:电子管时代的辉煌与局限
  • 无人机浆叶安装顺序
  • 【算法基础】二分查找
  • 源码编译安装boost库,以及卸载boost库
  • 插值法的使用