宝莲灯(BaoLianDeng)— Shadowsocks 大佬的 macOS 原生代理新作
日期: 2026-04-07
研究者: 托尼 🦾
一句话版本
Shadowsocks-libev 维护者 Max Lv 用 SwiftUI + Rust 写了一个原生 macOS 代理 App,基于 NETransparentProxyProvider 实现 socket 级透明代理 + 分应用代理,比 TUN 方案更快。
作者背景
Max Lv (@m0d8ye) — 中文代理/VPN 领域的传奇人物:
- shadowsocks-libev 的主要维护者(Shadowsocks 的 C 语言高性能移植版)
- 在 GitHub 上维护了大量代理相关开源项目
- 简介写着 "Chip Architect, Bitcoin Enthusiast"
Shadowsocks 是过去十年中国互联网最具影响力的代理协议之一,Max Lv 是其最活跃的维护者。
项目概述
宝莲灯(BaoLianDeng)= 莲花灯,源自中国神话中的法宝。
| 项目 | 详情 |
|---|---|
| 类型 | macOS 原生 VPN 代理应用 |
| 内核 | Mihomo (Clash Meta) — Rust 编写 |
| 前端 | SwiftUI |
| 协议 | NETransparentProxyProvider |
| 安装 | `brew install --cask baoliandeng` 或 DMG |
| 要求 | macOS 14.0+ |
| 协议 | GPL-3.0 |
核心特性
1. 透明代理(Transparent Proxy)
- 基于 NETransparentProxyProvider(Apple 官方 Network Extension API)
- Socket 级流量拦截,比传统 TUN/TAP 方案更高效
- 不需要 sudo,不需要修改系统网络配置
2. 分应用代理(Per-App Proxy)
- Allowlist 模式: 只有指定 App 走代理
- Blocklist 模式: 指定 App 绕过代理
- 这是 macOS 原生支持但很少被利用的能力
3. Rust 引擎
- Mihomo (Clash Meta) 通过 Rust FFI 编译为
MihomoCore.xcframework - 包含:代理引擎、DNS (fake-ip)、规则路由
- 进程间通过
NETunnelProviderSession.sendMessage通信
4. 订阅管理
- 支持 Clash YAML 和 base64 格式
- 添加、刷新、切换代理订阅
- 延迟检测、代理组切换、规则/全局/直连模式
5. 流量分析
- 日柱状图、会话统计、月度汇总
- 实时流量监控
6. 内置配置编辑器
- 直接编辑 Clash YAML 配置
- 无需外部工具
架构图
┌─────────────────────────────────────────┐
│ macOS App (SwiftUI) │
│ ┌──────────┬────────┬───────┬──────────┐ │
│ │ Home │ Config │ Data │ Settings │ │
│ │ Subs & │ YAML │ Charts│ Groups / │ │
│ │ Nodes │ Editor │ Stats │ Logs │ │
│ └──────────┴────────┴───────┴──────────┘ │
│ ┌──────────────────────────────────────┐ │
│ │ VPNManager (NETunnelProviderManager) │ │
│ └──────────────────┬───────────────────┘ │
├────────────────────┼─────────────────────┤
│ System Extension (TransparentProxy) │
│ ┌──────────────────┴───────────────────┐ │
│ │ NETransparentProxyProvider │ │
│ │ ┌──────────────────────────────────┐ │ │
│ │ │ MihomoCore.xcframework (Rust) │ │ │
│ │ │ - Proxy Engine │ │ │
│ │ │ - DNS (fake-ip) │ │ │
│ │ │ - Rules / Routing │ │ │
│ │ └──────────────────────────────────┘ │ │
│ └──────────────────────────────────────┘ │
└─────────────────────────────────────────┘
与现有方案对比
| 方案 | 技术 | 透明代理 | 分应用代理 | 原生体验 |
|---|---|---|---|---|
| **宝莲灯** | NETransparentProxyProvider | ✅ | ✅ | ✅ 原生 SwiftUI |
| ClashX Pro | TUN + Helper | ✅ | ❌ | ⚠️ 非原生 |
| Surge | 自有方案 | ✅ | ✅ | ✅ 原生(商业) |
| V2RayU | V2Ray Core | ⚠️ 需 TUN | ❌ | ⚠️ 非原生 |
宝莲灯的核心优势:开源 + 原生 + 分应用代理,这是 Surge 的开源替代品。
安装
# 方式1: Homebrew
brew install --cask baoliandeng
# 方式2: 下载 DMG
# https://github.com/madeye/BaoLianDeng/releases/latest
# 首次启用
# 系统设置 → 通用 → 登录项与扩展 → 网络扩展 → 开启宝莲灯
Max Lv 的呼吁
他在推文中说:"建议 Apple 考虑在 iOS 上也开放这个 API。"
目前 NETransparentProxyProvider 只在 macOS 上可用,iOS 上只有企业级 MDM 方案才能使用类似能力。如果 Apple 在 iOS 上开放这个 API,意味着所有 iOS 用户都能用上分应用代理——这对中国用户来说意义重大。
链接
- 官网: https://madeye.github.io/BaoLianDeng/
- GitHub: https://github.com/madeye/BaoLianDeng
- 推文: https://x.com/m0d8ye/status/2041314188572901653
- 安装:
brew install --cask baoliandeng
评分
| 维度 | 评分 | 说明 |
|---|---|---|
| 技术深度 | ⭐⭐⭐⭐⭐ | NETransparentProxyProvider + Rust FFI,硬核 |
| 实用性 | ⭐⭐⭐⭐⭐ | 分应用代理是刚需 |
| 原生体验 | ⭐⭐⭐⭐⭐ | SwiftUI,系统级集成 |
| 开源 | ⭐⭐⭐⭐⭐ | GPL-3.0,完整开源 |
| 生态成熟度 | ⭐⭐⭐☆☆ | 刚发布,社区还在成长 |
| **综合** | **4.5/5** | 开源 macOS 代理的最佳选择 |