macOS 菜单栏 HTTP 代理,基于 SSH 动态端口转发(SOCKS5),带实时流量监控。
当前发布产物面向 Apple Silicon(arm64)Mac;Intel Mac 尚未提供经过验证的构建。

浏览器 → HTTP:8888 → SOCKS5:1080 → SSH 隧道 → 远端服务器
git clone git@github.com:pcliangx/Magic-Proxy.git
cd Magic-Proxy
python3.12 -m pip install --require-hashes -r requirements-lock.txt
python3.12 app.pygit clone git@github.com:pcliangx/Magic-Proxy.git
cd Magic-Proxy
python3.12 -m pip install --require-hashes -r requirements-lock.txt
bash build.sh
cp -R "dist/Magic Proxy.app" /Applications/- 启动应用(状态栏出现 ⚫ 图标)
- 首次使用点击菜单「配置...」填写 SSH 信息(也可参考
config.sample.json) - 密码认证的密码会保存到 macOS 钥匙串,不应手工写入配置文件
- 点击菜单「重新连接」
- 浏览器设置 HTTP 代理为
127.0.0.1:8888
开启「抓包模式」后,浏览器或系统代理会指向本机 mitmproxy,以便解密并记录支持的 AI API 请求和响应。首次开启需要在 macOS 钥匙串中信任本地根证书。捕获内容以明文 JSONL 保存在 ~/.magic-proxy-captures/,目录权限为仅当前用户可读写;请仅捕获你有权分析的流量,并按需设置保留期或删除文件。
构建抓包功能要求 Python 3.12+。运行测试:python3.12 -m pytest -q tests/。
支持同时配置多条 SSH 隧道,菜单中一键切换。支持 key 和密码两种认证方式。
密码认证需要安装 sshpass:
brew install hudochenkov/sshpass/sshpass首次连接新服务器时,应用会显示 SSH 主机密钥的 SHA256 指纹。请通过服务器控制台或管理员提供的可信渠道核对后再点击“信任并连接”;密钥会固定保存在 ~/.magic-proxy/known_hosts。
| 图标 | 含义 |
|---|---|
| 🟢 | 已连接 |
| 🟡 | 连接中 |
| ⚫ | 未连接(包含已停止、连接失败或已暂停) |