终结 macOS 终端代理配置噩梦!全自动同步代理到 Shell、Git、NPM、Yarn 和 Docker
🔗 项目开源地址 👉 GitHub - lcl-101/Proxy-Sync-Daemon
😫 痛点:你是否也经常遇到这些情况? 终端网络割裂:在 macOS 上开启了 Clash 、Surge 或 Shadowrocket 后,浏览器冲浪十分顺畅,但在终端里 git clone 、npm install 、docker pull 依旧卡死超时。 繁琐的手动配置:每次开代理都要在终端手动输入一堆 export http_proxy=…;关了代理要是忘记取消配置,终端又会报 Connection Refused 无法联网。 三方工具代理污染:为了下载依赖配了 NPM 或 Git 代理,下完后忘记删,后续切换了网络或关了代理,导致其他工作直接卡死。 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 等无任何副作用。 📦 如何快速获取和上手? 如果你想直接使用或自行构建,只需按以下步骤操作:
- 编译与打包 拉取项目源码,运行一键打包脚本:
bash
git clone https://github.com/lcl-101/Proxy-Sync-Daemon.git cd Proxy-Sync-Daemon ./build_app.sh 编译成功后,双击当前目录下生成的 ProxySync.app 即可启动状态栏图标。
- 命令行集成 将生成的 ProxySync.app 拖入 /Applications 文件夹下,然后在您的 ~/.zshrc 尾部添加别名和初始化钩子即可:
bash
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
@MacsedProtoss 不是所有有人都和你一样的网络环境
@lcl101 这是网络环境的问题吗?用 system proxy 那你买啥 surge 根本就脱裤子放屁
@MacsedProtoss 真是,现在 macOS 的主流代理软件都是一键启用 tun 模式的
@MacsedProtoss 看到这个帖子第一眼以为 op 不知道有 tun 模式这个东西
你在搞笑吧 tun 都不会配?我就没见过谁 surge 需要手动配 proxy 的