A macOS Flutter client for ByeDPI — a local SOCKS5 proxy that bypasses Deep Packet Inspection (DPI) based internet restrictions.
This is not a VPN. It does not encrypt traffic or hide your IP. It runs a local proxy that manipulates TCP packets to confuse DPI middleboxes.
- 🛡️ One-click DPI bypass via animated connection orb
- 📋 8 curated presets for different regions and strategies
- ⚙️ Custom flags mode for manual
ciadpiconfiguration - 📡 Automatic macOS Wi-Fi SOCKS5 proxy configuration
- 📝 Real-time log viewer with color-coded output
- 🎨 Premium dark-mode UI with glassmorphism design
| Preset | Strategy | Best For |
|---|---|---|
| 🇷🇺 Russia (Light) | --disorder 1 --tlsrec 1+s |
Moderate DPI |
| 🇷🇺 Russia (Aggressive) | --fake -1 --ttl 8 |
Aggressive SNI blocking |
| 🇷🇺 Russia (Combined) | --split 1+s --disorder 3+s --oob 1+s |
Maximum coverage |
| 🌍 Generic (Split) | --split 3 --split 7 |
Simple DPI |
| 🌍 Generic (Disorder) | --disorder 1 |
Stateful DPI |
| 🌍 Generic (TLS Record) | --tlsrec 1+s |
TLS-aware DPI |
| 🌍 Generic (OOB) | --oob 1+s |
DPI reassembly bypass |
| 🇹🇷 Turkey | --disorder 1 --fake -1 --ttl 6 |
Turkish ISPs |
Most byedpi features work natively on macOS. The following are not supported (Linux-only):
--md5sig— TCP MD5 Signature--drop-sack— SACK packet filtering--transparent— Transparent proxy mode
Fake packet injection (--fake) is supported via a custom macOS send_fake() implementation using TTL-based packet expiration.
- Flutter SDK (3.11+)
- Xcode command line tools
- macOS 10.15+
-
Clone with submodules:
git clone --recurse-submodules <repo-url> cd ciadpi
-
Compile the byedpi binary:
cd ByeByeDPI/app/src/main/cpp/byedpi make cp ciadpi ../../../../../../assets/ciadpi_mac cd ../../../../../../
-
Install Flutter dependencies:
flutter pub get
-
Run:
flutter run -d macos
- The app extracts the bundled
ciadpi_macbinary to~/Library/Application Support/ - Launches it as a background process with the selected preset flags
- Configures macOS Wi-Fi network interface to use
127.0.0.1:1080as SOCKS5 proxy - All system traffic is routed through the local proxy, which applies DPI bypass techniques
- On disconnect, the proxy is killed and system proxy settings are restored
Flutter UI ─► ProxyManager ─► ciadpi_mac (SOCKS5 proxy)
│ │
│ ├── TCP split/disorder
│ ├── Fake packet injection
│ ├── TLS record fragmentation
│ └── OOB data injection
│
└── networksetup (macOS system proxy)
The byedpi core is licensed under MIT. See ByeByeDPI/LICENSE for details.