11# VPN Bypass - Product Roadmap
22
3- ## Current State (v1.1 )
3+ ## Current State (v1.9.0 )
44
5- ### ✅ Phase 1 Complete - Polish & Stability
5+ ### ✅ Phase 1 Complete - Core & Polish (v1.0 - v1.2)
66
77| Feature | Status | Notes |
88| ---------| --------| -------|
9- | ** Improved VPN Detection** | ✅ Done | GlobalProtect, Cisco, OpenVPN, WireGuard, Fortinet, Zscaler, Cloudflare WARP, Tailscale exit node |
9+ | ** Menu Bar App** | ✅ Done | Real-time VPN status, route count, quick controls |
10+ | ** Domain-based Bypass** | ✅ Done | Custom domains + 37+ pre-configured services |
11+ | ** Route Management** | ✅ Done | Kernel routing table + ` /etc/hosts ` DNS bypass |
12+ | ** VPN Detection** | ✅ Done | GlobalProtect, Cisco, OpenVPN, WireGuard, Fortinet, Zscaler, WARP, Tailscale, Check Point |
1013| ** Network Change Handling** | ✅ Done | NWPathMonitor + debouncing, auto-refresh on wake |
11- | ** Notifications** | ✅ Done | UNUserNotificationCenter, per -event toggles, appears in System Settings |
14+ | ** Notifications** | ✅ Done | Per -event toggles, silent mode, System Settings integration |
1215| ** Route Verification** | ✅ Done | Ping test (disabled by default - many servers block ICMP) |
1316| ** Import/Export Config** | ✅ Done | JSON export/import in Settings |
1417| ** Launch at Login** | ✅ Done | SMAppService, enabled by default |
15- | ** Privileged Helper** | ✅ Done | No sudo prompts, auto-install on first launch |
18+ | ** Privileged Helper** | ✅ Done | No sudo prompts, auto-install + auto-update on version mismatch |
1619| ** Auto DNS Refresh** | ✅ Done | Periodic re-resolution (default 1h), keeps hosts file fresh |
1720| ** Loading States** | ✅ Done | Spinner during route operations, UI blocking |
1821| ** Incremental Routes** | ✅ Done | Toggle single service/domain without full rebuild |
1922| ** Bulk Operations** | ✅ Done | All/None for services and domains |
23+ | ** Respect User's DNS** | ✅ Done | Detects pre-VPN DNS from primary interface |
24+ | ** Homebrew Cask** | ✅ Done | ` brew install --cask vpn-bypass ` with auto-update CI |
25+ | ** Route Health Dashboard** | ✅ Done | Active routes, services, domains, DNS server, timing in Logs tab |
2026
21- ### ✅ Core Features (v1.0)
22- - Menu bar app with real-time VPN status
23- - Domain-based bypass rules
24- - Pre-configured services (37 services: Telegram, YouTube, WhatsApp, Spotify, Netflix, etc.)
25- - Route management via system routing table
26- - Optional ` /etc/hosts ` management for DNS bypass
27- - Settings UI with Domains, Services, General, Logs tabs
28- - Activity logging with copy functionality
27+ ### ✅ Phase 1.5 Complete - Performance & Reliability (v1.3 - v1.6)
28+
29+ | Feature | Status | Notes |
30+ | ---------| --------| -------|
31+ | ** Instant Startup** | ✅ Done | DNS disk cache enables routes in ~ 2-3s, background refresh |
32+ | ** True Parallel DNS** | ✅ Done | Dig + DoH race simultaneously; VPN-blocked DNS falls back in ~ 2s |
33+ | ** Batch Route Operations** | ✅ Done | Single XPC call instead of 300+ individual calls (3-5min → ~ 10s) |
34+ | ** DoH Fallback** | ✅ Done | Cloudflare + Google DNS over HTTPS when regular DNS fails |
35+ | ** DoT Support** | ✅ Done | DNS over TLS as additional resolution method |
36+ | ** DNS Disk Cache** | ✅ Done | Persists resolved IPs, fallback when DNS fails |
37+ | ** Auto-Retry on DNS Failure** | ✅ Done | 15s retry with cancellation support |
38+ | ** 12-Hour Watchdog** | ✅ Done | Restarts network monitor to prevent stale state on long uptimes |
39+ | ** GCD Thread Pool Fix** | ✅ Done | Eliminated thread starvation causing ifconfig timeouts |
40+ | ** VPN Two-Pass Detection** | ✅ Done | Collects ALL interfaces first, then validates |
41+ | ** URL Input Cleaning** | ✅ Done | Paste full URLs, strips protocol/port/path/auth automatically |
42+ | ** SOCKS5 Proxy** | ✅ Done | Aggressive bypass for corporate VPNs blocking UDP |
43+ | ** Light/Dark Mode** | ✅ Done | Full compatibility for dropdown and all UI elements |
44+
45+ ### ✅ Phase 1.7 Complete - VPN Compatibility & Robustness (v1.7 - v1.9)
46+
47+ | Feature | Status | Notes |
48+ | ---------| --------| -------|
49+ | ** Check Point VPN** | ✅ Done | Process-based detection for Endpoint Security VPN |
50+ | ** Zscaler CGNAT Fix** | ✅ Done | Distinguishes Zscaler/WARP from Tailscale in shared 100.64.x.x range |
51+ | ** Tailscale CGNAT Fix** | ✅ Done | No longer misidentified as corporate VPN when GlobalProtect disconnects |
52+ | ** Gateway Robustness** | ✅ Done | Re-detects gateway on user actions and VPN interface switches |
53+ | ** VPN Interface Hopping** | ✅ Done | Routes re-applied when VPN switches interfaces (utun4 → utun5) |
54+ | ** Auto-Merge Service Updates** | ✅ Done | App upgrades apply new domains/IPs while preserving user preferences |
55+ | ** OpenAI/ChatGPT Domains** | ✅ Done | Comprehensive domain list including CDN, auth, Azure, LiveKit |
56+ | ** Runtime Version Display** | ✅ Done | Reads from bundle, always matches release |
2957
3058---
3159
3260## Roadmap
3361
34- ### Phase 1.2: DNS & Distribution (v1.2) ✅ COMPLETE
35- ** Completed: January 2026**
36-
37- | Feature | Status | Notes |
38- | ---------| --------| -------|
39- | ** Respect User's DNS** | ✅ Done | Detects pre-VPN DNS from primary interface, uses for all resolution |
40- | ** Homebrew Tap** | ✅ Done | ` brew tap geiserx/vpn-bypass && brew install --cask vpn-bypass ` |
41- | ** Route Health Dashboard** | ✅ Done | Shows active routes, services, domains, DNS server, timing info in Logs tab |
42-
43- ** Note** : ASN-based routing considered but deferred - current hardcoded IP ranges + DNS resolution is sufficient.
44-
45- ### Phase 2: Advanced Routing (v1.3 - v1.5)
46- ** Timeline: 3-6 months**
47-
48- | Feature | Description | Tier |
49- | ---------| -------------| ------|
50- | ** App-based Routing** | Bypass VPN for specific apps (Safari, Chrome, Spotify app) | ** Premium** |
51- | ** Inverse Mode** | Route ONLY specific traffic through VPN, bypass everything else | ** Premium** |
52- | ** Kill Switch** | Block all traffic if VPN disconnects unexpectedly | ** Premium** |
53- | ** DNS Leak Protection** | Ensure DNS queries don't leak through VPN | ** Premium** |
54- | ** IPv6 Leak Protection** | Block IPv6 to prevent leaks | ** Premium** |
55- | ** Connection Profiles** | Different configs for "Home", "Work", "Travel" | ** Premium** |
56- | ** Scheduled Rules** | Auto-enable/disable bypasses based on time | ** Premium** |
57- | ** Local DNS Proxy** | Run local DNS that uses ISP DNS for bypass domains | ** Premium** |
58-
59- ### Phase 3: Power Features (v2.0+)
60- ** Timeline: 6-12 months**
61-
62- | Feature | Description | Tier |
63- | ---------| -------------| ------|
64- | ** Custom DNS** | Use specific DNS servers for bypassed traffic (DoH/DoT) | ** Premium** |
65- | ** Blocklists Integration** | Block ads/trackers/malware domains | ** Premium** |
66- | ** Network-based Profiles** | Auto-switch profile based on WiFi SSID | ** Premium** |
67- | ** Bandwidth Monitor** | Track data through VPN vs bypassed | ** Premium** |
68- | ** CLI Interface** | Command-line control for automation | ** Premium** |
69- | ** API/Webhooks** | Integration with other tools | ** Enterprise** |
70- | ** Statistics Dashboard** | Detailed analytics and history | ** Premium** |
71- | ** Traffic Verification** | Verify traffic actually goes through correct interface | ** Premium** |
72-
73- ### Phase 4: Enterprise & Advanced (v3.0+)
74- ** Timeline: 12+ months**
75-
76- | Feature | Description | Tier |
77- | ---------| -------------| ------|
78- | ** Multi-device Sync** | Sync settings across devices via iCloud | ** Premium** |
79- | ** MDM Support** | Enterprise deployment and management | ** Enterprise** |
80- | ** Policy Templates** | Pre-built configs for common scenarios | ** Enterprise** |
81- | ** Audit Logging** | Detailed logs for compliance | ** Enterprise** |
82- | ** Custom Branding** | White-label for enterprises | ** Enterprise** |
83- | ** Priority Support** | Dedicated support channel | ** Enterprise** |
62+ ### Phase 2: Advanced Routing (v2.0 - v2.5)
63+
64+ | Feature | Description |
65+ | ---------| -------------|
66+ | ** App-based Routing** | Bypass VPN for specific apps (Safari, Chrome, Spotify app) |
67+ | ** Inverse Mode** | Route ONLY specific traffic through VPN, bypass everything else |
68+ | ** Kill Switch** | Block all traffic if VPN disconnects unexpectedly |
69+ | ** DNS Leak Protection** | Ensure DNS queries don't leak through VPN |
70+ | ** IPv6 Leak Protection** | Block IPv6 to prevent leaks |
71+ | ** Connection Profiles** | Different configs for "Home", "Work", "Travel" |
72+ | ** Scheduled Rules** | Auto-enable/disable bypasses based on time |
73+ | ** Local DNS Proxy** | Run local DNS that uses ISP DNS for bypass domains |
74+
75+ ### Phase 3: Power Features (v3.0+)
76+
77+ | Feature | Description |
78+ | ---------| -------------|
79+ | ** Custom DNS** | Use specific DNS servers for bypassed traffic (DoH/DoT) |
80+ | ** Blocklists Integration** | Block ads/trackers/malware domains |
81+ | ** Network-based Profiles** | Auto-switch profile based on WiFi SSID |
82+ | ** Bandwidth Monitor** | Track data through VPN vs bypassed |
83+ | ** CLI Interface** | Command-line control for automation |
84+ | ** API/Webhooks** | Integration with other tools |
85+ | ** Statistics Dashboard** | Detailed analytics and history |
86+ | ** Traffic Verification** | Verify traffic actually goes through correct interface |
87+
88+ ### Phase 4: Advanced (v4.0+)
89+
90+ | Feature | Description |
91+ | ---------| -------------|
92+ | ** Multi-device Sync** | Sync settings across devices via iCloud |
93+ | ** MDM Support** | Deployment and management for organizations |
94+ | ** Policy Templates** | Pre-built configs for common scenarios |
95+ | ** Audit Logging** | Detailed logs for compliance |
8496
8597---
8698
911032 . ✅ ** Static IP Ranges** - Services like Telegram have known ranges
921043 . ✅ ** Hosts File** - Local DNS override, immune to VPN DNS hijacking
931054 . ✅ ** Auto DNS Refresh** - Catches IP changes within 1 hour
106+ 5 . ✅ ** DNS Disk Cache** - Instant startup + fallback when DNS fails
107+ 6 . ✅ ** DoH/DoT Fallback** - Bypasses VPN DNS hijacking via encrypted DNS
108+ 7 . ✅ ** SOCKS5 Proxy** - Aggressive bypass when VPN blocks UDP
94109
95110### Future Protection Layers
96- 5 . 🔲 ** ASN Routing** - Route all IPs owned by a service
97- 6 . 🔲 ** Multiple DNS** - Query Google + Cloudflare for redundancy
98- 7 . 🔲 ** Local DNS Proxy** - Intercept and resolve locally
99- 8 . 🔲 ** Traffic Verification** - Confirm correct interface usage
100-
101- ---
102-
103- ## Feature Tiers
104-
105- ### 🆓 Free Tier
106- Core functionality for individual users:
107- - VPN detection and status display
108- - Up to ** 5 custom domains**
109- - Up to ** 3 pre-configured services**
110- - Basic route management
111- - Activity logs (last 24 hours)
112- - Community support
113-
114- ### 💎 Premium Tier ($9.99 one-time or $4.99/year)
115- Full power for power users:
116- - ** Unlimited** domains and services
117- - App-based routing (bypass specific apps)
118- - Inverse mode (route only specific traffic)
119- - Kill switch and leak protection
120- - Connection profiles
121- - Custom DNS for bypassed traffic
122- - Scheduled rules
123- - Unlimited log history
124- - Email support
125-
126- ### 🏢 Enterprise Tier ($49/year per seat)
127- For teams and organizations:
128- - Everything in Premium
129- - Multi-device sync
130- - MDM/deployment support
131- - Policy templates
132- - Audit logging
133- - API access
134- - Priority support
135- - Custom branding option
136-
137- ---
138-
139- ## Licensing Implementation Options
140-
141- ### Option 1: Gumroad (Simplest)
142- - One-time purchase with license key
143- - User enters key in Settings
144- - App validates key via Gumroad API
145- - Pros: Easy to set up, handles payments
146- - Cons: No subscription management built-in
147-
148- ### Option 2: LemonSqueezy (Modern)
149- - Supports one-time and subscriptions
150- - Built-in license key generation
151- - Webhook support for real-time validation
152- - Pros: Modern API, good for subscriptions
153- - Cons: Newer platform
154-
155- ### Option 3: Paddle (Professional)
156- - Full-featured payment platform
157- - Handles taxes globally
158- - Mac App Store alternative
159- - Pros: Professional, handles compliance
160- - Cons: More complex setup
161-
162- ### Recommended Approach
163- 1 . ** Start with Gumroad** for quick launch
164- 2 . Migrate to ** LemonSqueezy** when you need subscriptions
165- 3 . Consider ** Paddle** for enterprise/international
111+ 8 . 🔲 ** ASN Routing** - Route all IPs owned by a service
112+ 9 . 🔲 ** Multiple DNS** - Query Google + Cloudflare for redundancy
113+ 10 . 🔲 ** Local DNS Proxy** - Intercept and resolve locally
114+ 11 . 🔲 ** Traffic Verification** - Confirm correct interface usage
166115
167116---
168117
@@ -181,27 +130,59 @@ For teams and organizations:
1811303 . ** Beautiful UI** - Modern SwiftUI interface
1821314 . ** No VPN Required** - Works with ANY VPN, not tied to a provider
1831325 . ** Privacy-focused** - No analytics, no cloud dependency
184- 6 . ** Defense-in-Depth** - Routes + Hosts + Auto-refresh for maximum protection
133+ 6 . ** Defense-in-Depth** - Routes + Hosts + DoH + SOCKS5 + Auto-refresh for maximum protection
134+ 7 . ** Instant Startup** - DNS cache enables routes in seconds, not minutes
135+
136+ ---
137+
138+ ## Community & Visibility
139+
140+ ### Awesome Lists
141+
142+ | List | Stars | Status |
143+ | ------| -------| --------|
144+ | [ serhii-londar/open-source-mac-os-apps] ( https://github.com/serhii-londar/open-source-mac-os-apps ) | 47.7k | ✅ Listed |
145+ | [ jaywcjlove/awesome-mac] ( https://github.com/jaywcjlove/awesome-mac ) | 99.5k | PR submitted |
146+ | [ dkhamsing/open-source-ios-apps] ( https://github.com/dkhamsing/open-source-ios-apps ) | 49k | PR submitted |
147+ | [ matteocrippa/awesome-swift] ( https://github.com/matteocrippa/awesome-swift ) | 26k | PR submitted |
148+ | [ jaywcjlove/awesome-swift-macos-apps] ( https://github.com/jaywcjlove/awesome-swift-macos-apps ) | 1.2k | PR submitted |
149+ | [ phmullins/awesome-macos] ( https://github.com/phmullins/awesome-macos ) | 3k | PR submitted |
150+
151+ ### Other Channels
152+
153+ | Channel | Type | Notes |
154+ | ---------| ------| -------|
155+ | ** Hacker News** | Show HN post | High-impact if it hits front page |
156+ | ** Reddit** | r/macapps, r/opensource, r/swift | r/macapps is the most targeted audience |
157+ | ** Product Hunt** | Product launch | Good for long-term discoverability |
158+ | ** AlternativeTo** | List as alternative to split-tunnel VPNs | Passive SEO traffic |
159+ | ** Lobste.rs** | Show post | Dev-heavy audience (invite required) |
160+ | ** Swift Forums** | forums.swift.org | "Built with SwiftUI" showcase angle |
161+ | ** Dev.to / Medium** | Technical write-up | Split tunneling, route management, SwiftUI |
162+ | ** MacStories** | Email tips line | They cover Mac utilities |
163+ | ** Homebrew core cask** | Move from tap to homebrew-cask | Massively increases ` brew search ` discoverability |
164+ | ** MacUpdate** | App listing | Still gets traffic for Mac app searches |
165+ | ** Slant** | Q&A recommendation | "Best VPN tools for macOS" |
185166
186167---
187168
188169## Next Steps
189170
190- 1 . ✅ ** v1.1** : Completed - notifications, helper, DNS refresh, loading states
191- 2 . 🔲 ** v1.2** : Config migration, ASN routing, Homebrew tap
192- 3 . 🔲 ** v1.3** : Implement license system (Gumroad)
193- 4 . 🔲 ** v1.4** : Add app-based routing (Premium)
194- 5 . 🔲 ** v1.5** : Add kill switch + leak protection (Premium)
171+ 1 . ✅ ** v1.0 - v1.2** : Core features, notifications, helper, Homebrew
172+ 2 . ✅ ** v1.3 - v1.6** : Performance overhaul, instant startup, DoH/DoT, DNS cache
173+ 3 . ✅ ** v1.7 - v1.9** : VPN compatibility (Check Point, Zscaler, Tailscale), gateway robustness, auto-merge
174+ 4 . 🔲 ** v2.0** : Implement license system + app-based routing (Premium)
175+ 5 . 🔲 ** v2.5** : Kill switch + leak protection + connection profiles (Premium)
176+ 6 . 🔲 ** v3.0** : CLI interface + network profiles + statistics
195177
196178---
197179
198180## Technical Debt / Known Issues
199181
200- - [x] Config migration: new default services don't auto-merge into existing user config
201182- [ ] Helper installation can fail silently on some systems
202183- [ ] Route verification unreliable (many servers block ICMP)
203- - [ ] Homebrew Cask not published to a tap yet
184+ - [ ] No automated UI tests
204185
205186---
206187
207- * Last updated: January 17 , 2026*
188+ * Last updated: March 4 , 2026*
0 commit comments