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.pswp.cn/web/89895.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VSTO Excel中打开WinForm.ShowDialog()后,如果要使用当前的wb.Application在后台操作其他Excel文件(保持隐藏状态)

在VSTO Excel中打开WinForm.ShowDialog()后,如果要使用当前的wb.Application在后台操作其他Excel文件(保持隐藏状态),可以通过以下几种方式实现: 方法一:设置Application属性控制可见性 // 在WinForm中获取…

【网络安全】DDOS攻击

如果文章不足还请各位师傅批评指正!你有没有过这种经历:双 11 抢券时页面卡成幻灯片,游戏团战突然全员掉线,刷视频时进度条永远转圈圈?除了 “网渣”,可能还有个更糟的原因 —— 你正被 DDoS 攻击 “堵门”…

第9天 | openGauss中一个表空间可以存储多个数据库

接着昨天继续学习openGauss,今天是第9天了。今天学习内容是o一个数据库可以存储在多个表空间中。 老规矩,先登陆墨天轮为我准备的实训实验室 rootmodb:~# su - omm ommmodb:~$ gsql -r作业要求 1.创建表空间newtbs1 omm# CREATE TABLESPACE newtbs1 RELATIVE LOCATI…

H3C路由器模拟PPPOE拨号

拓扑简图 效果图 PPPoE服务器端脚本 1. 基础配置 system-view sysname PPPoE-Server # 可选,设置设备名称2. 创建本地用户(认证账号)​ local-user pppuser class network # 创建网络类用户 password simple 123456 # 设置密码(PAP/CHAP共用) service-type ppp #

Github Actions Workflows 上传 Dropbox

一、注册 访问 https://www.dropbox.com/register选择 "个人" 如果想免费使用,一定要选择 “继续使用2GB的Dropbox Basic 套餐”,如下: 二、在 Dropbox 中 创建app 需要去注册的邮箱中验证一下邮箱.访问 https://www.dropbox.com…

生产管理系统实现生产全过程可视化

随着现代工业的不断发展,智能制造、数字化转型已成为企业提高竞争力的重要途径。生产管理作为企业运营的核心环节,直接关系到产品质量、生产效率以及成本控制。传统的生产管理方式大多依赖手工记录和经验管理,存在信息滞后、数据不一致、响应…

CSS实现背景色下移10px

众所周知,背景颜色是不能移动的,通常是填充满当前容器。 不过可以想想其它办法。。 🧐 利用css3的线性属性linear,在垂直方向向下推要移动的距离设成透明颜色,能在视觉上巧妙实现下移的效果。 .title {height: 20px;background: linear-gradient(to bottom,rgba(255, …

访问 gitlab 跳转 0.0.0.0

1、检查防火墙是否关闭2、检查服务器端口是否被占用3、检查服务器是否对外开放80端口(gitlab 默认使用80端口)以阿里云服务器为例如果没有SSH 、HTTP、HTTPS 开放,需要增加规则进行添加点击确定即可。

Kotlin集合与空值

我们已经学习了 Kotlin 中的空安全(null safety)。在本节中,我们将讨论如何处理集合中的空值(null),因为集合比其他数据类型更复杂。我们还将讨论如何处理可空元素时常用的便利方法。 集合与空值 可空集合和…

nextjs编程式跳转

Next.js 中&#xff0c;你可以通过多种方式实现编程式导航&#xff08;即通过代码而非 <Link> 组件跳转页面&#xff09;。以下是完整的实现方法&#xff1a; 1. 使用 useRouter Hook&#xff08;函数组件&#xff09; 这是最常用的方法&#xff0c;适用于函数组件&#…

Git Remote命令介绍:远程仓库管理

一、Git Remote 是什么 git remote主要用于管理远程仓库&#xff0c;可以轻松地与远程仓库进行交互&#xff0c;实现代码的共享与同步 。 二、Git Remote 的作用 &#xff08;一&#xff09;连接桥梁 假设你正在参与一个大型的 Web 应用开发项目&#xff0c;团队成员分布在…

Android开发中的11种行为型设计模式深度解析

在Android应用开发中&#xff0c;设计模式是解决特定问题的可重用方案&#xff0c;其中行为型设计模式尤其重要&#xff0c;它们专注于对象之间的通信和职责分配。本文将深入解析Android开发中最常用的11种行为型设计模式&#xff0c;每个模式都配有详细的介绍和实际应用示例&a…

Python 模块未找到?这样解决“ModuleNotFoundError”

在 Python 开发中&#xff0c;遇到“ModuleNotFoundError”时&#xff0c;通常是因为 Python 解释器无法找到你尝试导入的模块。这可能是由于多种原因导致的&#xff0c;比如模块未安装、路径不正确、虚拟环境未激活等。今天&#xff0c;就让我们一起探讨如何解决“ModuleNotFo…

Numpy库,矩阵形状与维度操作

目录 一.numpy库简介与安装 numpy库的安装 二.numpy核心功能 1.矩阵处理 2.数学运算 三.数据的维度与属性 1.维度管理 2.属性方法 四.数据类型与存储范围 五.矩阵形状与维度操作 六.数据升维与reshape()方法 一.numpy库简介与安装 NumPy是Python中用于科学计算的核心…

图论(2):最短路

最短路一、模板1. Floyd2. 01BFS3. SPFA4. Dijkstra&#xff08;弱化版&#xff09;5. Dijkstra&#xff08;优化版&#xff09;二、例题1. Floyd1.1 传送门1.2 无向图最小环1.3 灾后重建1.4 飞猪2. 01BFS2.1 Kathiresan2.2 障碍路线2.3 奇妙的棋盘3. SPFA3.1 奶牛派对3.2 营救…

“融合进化,智领未来”电科金仓引领数字化转型新纪元

一、融合进化 智领未来电科金仓2025产品发布会重磅开启&#xff01; 7月15日&#xff0c;以“融合进化 智领未来”为主题的电科金仓2025产品发布会在北京举办。产品发布会上展示了四款代表未来数字化趋势的创新性产品。这些产品不仅涵盖了数据库技术&#xff0c;还涉及到数据集…

常规笔记本和加固笔记本的区别

在现代科技产品中&#xff0c;笔记本电脑因其便携性和功能性被广泛应用。根据使用场景和需求的不同&#xff0c;笔记本可分为常规笔记本和加固笔记本&#xff0c;二者在多个方面存在显著区别。适用场景是区分二者的重要标志。常规笔记本主要面向普通消费者和办公人群&#xff0…

Shell 脚本编程全面学习指南

前言Shell 脚本编程是 Linux 和 Unix 系统管理、自动化任务的核心工具之一。通过 Shell 脚本&#xff0c;你可以自动化重复性操作、简化复杂流程、提高系统管理效率&#xff0c;甚至构建完整的自动化运维工具。本文将带你从基础到进阶&#xff0c;全面学习 Shell 脚本编程&…

DelayQueue延迟队列的使用

1、DelayQueue简介 DelayQueue 也是 Java 并发包&#xff08;java.util.concurrent&#xff09;中的一个特殊队列,用于在指定的延迟时间之后处理元素。 DelayQueue的一些关键特性&#xff1a; 延迟元素处理&#xff1a;只有当元素的延迟时间到期时&#xff0c;元素才能被取出…

QT6 源,七章对话框与多窗体(6) 颜色对话框 QColorDialog :本类的属性,信号函数,静态成员函数,以及源代码

&#xff08;1&#xff09;本类的继承关系如下 &#xff1a;&#xff08;2&#xff09; 对于本标准颜色对话框来讲&#xff0c;学会使用其静态函数以获取到颜色就足够了。&#xff08;3&#xff09; 开始学习本类的静态成员函数 &#xff1a;&#xff08;4&#xff09;测试一下…