终结 macOS 终端代理配置噩梦!全自动同步代理到 Shell、Git、NPM、Yarn 和 Docker

lcl101 2026-06-17 11:31 1

🔗 项目开源地址


👉 GitHub - lcl-101/Proxy-Sync-Daemon




😫 痛点:你是否也经常遇到这些情况?



  1. 终端网络割裂:在 macOS 上开启了 Clash 、Surge 或 Shadowrocket 后,浏览器冲浪十分顺畅,但在终端里 git clonenpm installdocker pull 依旧卡死超时。

  2. 繁琐的手动配置:每次开代理都要在终端手动输入一堆 export http_proxy=...;关了代理要是忘记取消配置,终端又会报 Connection Refused 无法联网。

  3. 三方工具代理污染:为了下载依赖配了 NPM 或 Git 代理,下完后忘记删,后续切换了网络或关了代理,导致其他工作直接卡死。

  4. Dock 栏图标乱飞:用了一些后台小工具,却在 Dock 栏和 Cmd + Tab 切换栏占位置,完全不够优雅。




🚀 解决方案:Proxy-Sync-Daemon (psync)


psync 是一个专为 macOS 开发者的极轻量级、全自动代理感知与同步守护进程。它结合了高能的 Go 核心 CLI 守护进程Swift 原生顶部状态栏托盘控制端,能够实时感知系统代理状态,并秒级同步到您的各类开发环境中!


📸 托盘界面预览



  • 服务运行中:在右上角呈现高对比度闪电 Template 图标。

  • 服务停止:图标自动置灰,完美契合 macOS 原生设计风格。














⚡ 服务启动状态 (运行中) 💤 服务关闭状态 (已停止)


🌟 核心亮点 (Key Features)



  • ⚡ 全自动感应,无缝切换:原生监听 macOS 系统的 scutil --proxy。每当你的代理软件启停或更换端口时,守护进程自动捕捉。更强的是,它能自动解析代理软件的 ExceptionsList (绕过列表),自动转换成终端能识别的 no_proxy 网段!

  • ⚙️ 细粒度勾选,各取所需:内置“同步选项配置”子菜单,您可以单独勾选允许同步的目标(例如:只自动同步 Shell 环境变量与 Git 全局代理,保持 Docker 或 NPM 处于直连直通,防止镜像源污染)。

  • **🧹 一键无痕还原 (Clean)**:无论是点击托盘菜单的“清理代理配置”还是在终端敲入 psync clean,瞬间将 Git, NPM, Yarn, Docker 及 Shell 全部恢复到 Direct (直连)状态。

  • 🍎 纯原生自包含 App:通过内置的 build_app.sh 脚本,可将 Go 二进制完全打包嵌入 Swift GUI 内部,生成自包含的 ProxySync.app。双击即用,无需全局安装任何运行依赖,纯后台运行无 Dock 栏图标占位。

  • 🛡️ 权限体检提示:首次启动会自动检测读写所有权。如因网络权限或配置文件只读导致失败,会弹出原生 NSAlert 并提示一键修复命令,新手也能秒上手。




🛠️ 三方生态的修改逻辑(优雅且不损坏配置)



  • Shell: 通过在 ~/.zshrc~/.bashrc 尾部追加一句 eval "$(psync init)" 挂载钩子,每次新建 Shell 会话或键入命令时极速拉取最新代理环境变量,开销小于 0.1ms

  • Git: 动态写入或清除系统全局配置项 git config --global http.proxy / https.proxy

  • NPM / Yarn: 自动读取 ~/.npmrc~/.yarnrc,仅在尾部追加或剔除代理项,绝不损坏您的注册表、私有凭证等其它配置项。

  • Docker: 解析 ~/.docker/config.json,仅注入或清空 proxies.default 块,对现有 credential helpers 等无任何副作用。




📦 如何快速获取和上手?


1. 获取安装包


您可以直接前往 GitHub Releases 下载编译打包好的 ProxySync.zip,解压即得 ProxySync.app


(当然,您也可以克隆项目源码并直接在本地运行 ./build_app.sh 脚本自行构建。)


2. 命令行集成


将生成的 ProxySync.app 拖入 /Applications 文件夹下,然后在您的 ~/.zshrc 尾部添加别名和初始化钩子即可:


# 1. 别名挂载
alias psync="/Applications/ProxySync.app/Contents/MacOS/psync"

# 2. 注册终端自动同步
eval "$(psync init)"



💬 结语


这个小工具完全开源,无任何网络上传行为,完全在本地安全运行。如果你也曾被 macOS 终端的网络割裂和频繁复制 export proxy 搞得心态爆炸,欢迎试用并给项目点个 🌟 Star


欢迎大家在帖子里提 Bug 、提 PR 或给出任何改进意见,我们一起把它打磨得更完美!


👉 项目 GitHub 链接: https://github.com/lcl-101/Proxy-Sync-Daemon

最新回复 (20)
  • MacsedProtoss 06-17 11:52
    1
    你在搞笑吧 tun 都不会配?我就没见过谁 surge 需要手动配 proxy 的
  • lcl101 楼主 06-17 11:53
    2
    @MacsedProtoss 不是所有有人都和你一样的网络环境
  • MacsedProtoss 06-17 11:55
    3
    @lcl101 这是网络环境的问题吗?用 system proxy 那你买啥 surge 根本就脱裤子放屁
  • zooo 06-17 12:02
    4
    蹲个后续
  • Arispex 06-17 12:11
    5
    @MacsedProtoss 真是,现在 macOS 的主流代理软件都是一键启用 tun 模式的
  • Arispex 06-17 12:12
    6
    @MacsedProtoss 看到这个帖子第一眼以为 op 不知道有 tun 模式这个东西
  • intoext 06-17 13:05
    7
    很神奇 我还就喜欢这种割裂的,更有辨识度。

    我日常开两个代理软件,一个 v2rayN,一个 Karing,分别用于两个不同的浏览器。
    甚至我会时不时去看 ip.me 是哪国的 IP / 这有助于刷 ticktok / x 的本地推送。

    safari 不支持独立代理刚刚好,就用它来打开一些纯国内或者一些实名认证(很多,比如图书馆网络、星巴克 wifi 等)。
    其余的应用,需要开国外,直接在 v2rayN 或者 Karing 一键搞成系统代理一般也就可以了。
    如果还不行那就开 tun 。
    到现在还没有遇到什么卡壳的应用这几个都不行的
  • darksword21 06-17 14:11
    8
    1. 现在都用 tun
    2. 就算是 AI 写的,能不能把 emoji 去掉,太明显了
  • churchmice 06-17 14:15
    9
    优雅个啥,一个 tun 就能解决的问题
  • Dream4U 06-17 14:21
    10
    终端网络割裂:在 macOS 上开启了 Clash 、Surge 或 Shadowrocket 后,浏览器冲浪十分顺畅,但在终端里 git clone 、npm install 、docker pull 依旧卡死超时。

    看到这里就有点纳闷了,是咋用的?
  • FringJX 06-17 14:23
    11
    这个网站的用户都是路由器翻墙了,基本不需要这些了
  • stimw 06-17 14:43
    12
    有个场景可能有用,就是有公司 vpn 开不了 tun 的
  • cutiechi 06-17 14:45
    13
    @stimw 可以把 vpn 用 kasm 装在 docker 里
  • 380cc 06-17 15:12
    14
    唉 完全看不懂写的什么。我接下来有个比较常见的场景,很多资源都需要连公司 vpn 软件才能访问,当开启公司 vpn 时,clash verge 这种分流软件就不能用了,你这个能解决我这个需求吗?
  • lcl101 楼主 06-17 15:38
    15
    🎉 Proxy-Sync-Daemon (psync) v1.1.0 版本发布!
    本次更新带来了针对 Antigravity IDE 的全自动、物理隔离代理同步支持,完美解决了开发过程中 IDE 的 AI 助手与第三方插件无法加载网络登录和进行连接的核心痛点。

    🌟 新增特性与优化:
    ⚡ 物理隔离代理注入:
    单应用级隔离同步:开启后,仅将代理配置绑定到 IDE 的运行生命周期中,在本地实现了针对单一 IDE 应用的流量强制代理接管效果。
    真正零污染:只对 IDE 本身生效,Chrome 浏览器、微信等其他所有应用依然保持最纯粹的系统直连。
    📁 多包名/路径自动兼容:
    自动检测并同时兼容您本地安装的 Antigravity.app 与 Antigravity IDE.app ,无论双击打开哪个图标,都可瞬间享受到完美的代理接管。
    🧹 原生一键清理 (Clean):
    当关闭代理或运行 psync clean 时,代理设置会被干净地从 IDE 应用中完全卸载,无痕还原直连,不留任何配置残留。
  • wuruxu 06-17 16:25
    16
    没出现过代理 浏览器能用终端不能用的情况
  • Uplay 06-17 19:25
    17
    @380cc 这个我现在是用 Antify 实现的但是有时候会出现问题
  • fortitudeZDY 06-17 21:08
    18
    不爱回复的我也看笑了……
  • CakeJu 06-18 09:09
    19
    @380cc #14 同有这种需求
  • CakeJu 06-18 09:11
    20
    可能只有楼主自己有这个需求,建议 vibe 个别的
* 帖子来源V2EX
返回