macOS VPN proxy app powered by Mihomo (Clash Meta) core.
- Transparent Proxy — Built on
NETransparentProxyProviderfor socket-level flow interception, faster than traditional TUN-based solutions - Rust-Powered Engine — Mihomo (Clash Meta) compiled as a native xcframework via Rust FFI
- Per-App Proxy — Choose which apps go through the proxy (allowlist) or bypass it (blocklist)
- Subscription Management — Add, refresh, and switch between proxy subscriptions (Clash YAML and base64 formats)
- Smart Proxy Routing — Browse nodes with latency indicators, switch proxy groups, rule/global/direct modes
- Traffic Analytics — Daily bar charts, session stats, and monthly summaries for proxy traffic
┌─────────────────────────────────────────────┐
│ 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 │ │ │
│ │ └──────────────────────────────┘ │ │
│ └───────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
IPC between the app and tunnel extension uses NETunnelProviderSession.sendMessage for mode switching, traffic stats, and version queries. Both targets share preferences via standard UserDefaults.
brew tap madeye/BaoLianDeng https://github.com/madeye/BaoLianDeng
brew install --cask baoliandeng- Download the latest DMG from Releases
- Open the DMG and drag BaoLianDeng to Applications
- Launch from Applications
- Enable the network extension: System Settings → General → Login Items & Extensions → Network Extensions → toggle on BaoLianDeng
The DMG is signed with Developer ID and notarized by Apple.
Prerequisites: macOS 14.0+ with Xcode 15+, Rust toolchain (rustup with aarch64-apple-darwin and x86_64-apple-darwin targets)
make framework # macOS universal (arm64 + x86_64)This compiles the Mihomo Rust FFI into Framework/MihomoCore.xcframework.
Copy the template and set your Apple development team ID:
cp Local.xcconfig.template Local.xcconfig
# Edit Local.xcconfig and set DEVELOPMENT_TEAM = YOUR_TEAM_IDFinding your Team ID: Apple Developer portal → Membership → Team ID (10-character string, e.g.
AB12CD34EF).
Both targets require these capabilities (already configured in entitlements):
- App Sandbox
- Network Extensions — Packet Tunnel Provider
open BaoLianDeng.xcodeproj
# Select BaoLianDeng scheme → My Mac → Run (⌘R)GPL-3.0 — see LICENSE for details.