知识百科

系统代理是什么:操作系统代理设置的原理、哪些程序读它、与 TUN 的边界

解释系统代理:操作系统保存的一项「代理服务器地址」设置,客户端开启系统代理就是把这项设置改为自己的本地端口。说明浏览器等程序如何读取它、终端与部分软件为什么不读、PAC 与手动代理的区别,以及常见异常。

机场导航编辑部 发布 更新 约 2 分钟
系统代理是什么:操作系统代理设置的原理、哪些程序读它、与 TUN 的边界 封面图

系统代理是新手最先接触的开关,也是最容易误解的:开了它不等于「所有流量都走代理」。

定义

操作系统保存一项设置:「HTTP/HTTPS/SOCKS 代理服务器的地址与端口」。

  • Windows:设置 → 网络和 Internet → 代理
  • macOS:系统设置 → 网络 → 详细信息 → 代理

客户端开启「系统代理」时,把这项设置改为 127.0.0.1:7897(端口以客户端为准)。关闭时改回。

谁会读这项设置

程序类型读取说明
浏览器Chrome、Edge、Safari 跟随系统;Firefox 可选
多数图形软件聊天软件、办公软件等
终端程序读 HTTP_PROXY / HTTPS_PROXY 环境变量
IDE 与编辑器部分VS Code、Cursor 有独立设置
游戏直接用 socket
有自有代理设置的软件以自身设置为准

「客户端已连接但某程序没走代理」几乎都是该程序不读系统代理。

PAC 与手动代理

  • 手动代理: 固定地址与端口,所有请求都发过去。
  • PAC 脚本: 一段脚本按目标域名决定用代理还是直连。

客户端一般用手动代理,分流由客户端内部的规则完成。两者同时设置会冲突。

边界之外的程序怎么办

  1. 环境变量: 终端执行 export HTTPS_PROXY=http://127.0.0.1:7897
  2. 程序内设置: Cursor、VS Code 等在设置中填代理地址。
  3. TUN 模式: 不依赖程序配合,接管全部流量。见 TUN 是什么

开发者用 AI 工具的场景见 AI 开发工具网络环境

常见异常

  • 关闭客户端后没网: 设置残留,手动关闭。
  • 代理被反复重置: 其他软件在争抢。
  • 端口不一致: 客户端换了端口但系统设置未更新。

处理见 系统代理异常

与代理的关系

系统代理只是「告诉程序把流量发到哪」。流量到了客户端之后,由规则决定直连还是通过节点。代理本身的概念见 代理是什么

常见问题

系统代理是什么意思?
操作系统中的代理服务器设置。客户端开启后把它指向自己的本地端口,读取该设置的程序流量就会经过客户端。
哪些程序不走系统代理?
终端程序(Claude Code、curl、git、npm)、部分 IDE、多数游戏、设置了自有代理的软件。这些需要环境变量、程序内设置或 TUN。
关闭客户端后没网了?
系统代理仍指向已停止的端口。手动在系统设置中关闭代理,见系统代理异常。