🔗 项目开源地址
👉 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 等无任何副作用。
📦 如何快速获取和上手?
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

