Route networks, domains and entire countries around your VPN β from the menu bar.
Plus one-click DNS switching (Shecan, Electro, 403, Cloudflareβ¦) and a dev-server manager.
Native SwiftUI Β· Liquid Glass Β· macOS 26 Tahoe Β· Apple silicon & Intel Β· Free & open source
English Β· ΩΨ§Ψ±Ψ³Ϋ Β· Ψ§ΩΨΉΨ±Ψ¨ΩΨ©
You're on a VPN. Your company's intranet, your university portal, your bank, a local staging server or every site in your own country refuse to work through it β 403s, timeouts, captchas, slow everything. Your VPN client either has no split tunneling on macOS, or only "per app", or one hard-coded list you can't edit.
So you end up pasting sudo route add β¦ into Terminal, getting File exists, losing it all on the next Wi-Fi change,
and never really knowing which IP a site sees.
DevNet fixes that in one click. It's a tiny native menu bar app that keeps a set of routes on your LAN gateway β outside every VPN β and keeps them correct as your networks and VPNs come and go.
- Networks (
10.20.0.0/16), single hosts, domains (intranet.example.com, or a full URL β DevNet resolves it) and whole countries (e.g. every Iranian IP range, ~1,700 CIDRs, from ipdeny.com) bypass the VPN. - Works alongside WireGuard, OpenVPN, L2TP/IPsec, IKEv2, ProtonVPNβ¦ β DevNet edits the system routing table, so it doesn't care which client you use, or how many are connected.
- Self-healing: every route stores what you want; DevNet reconciles the live table to it. Rapid clicks, network
changes and partial failures all converge β no more
File existsor half-applied lists. - Follows your network: the LAN gateway is auto-detected and re-checked every 10 s. Switch from home Wi-Fi to the office and your routes move to the new router automatically.
- Cleans up stale cached host routes that would otherwise keep leaking traffic into the tunnel.
- Local IP, your real ISP IP (bypassing all tunnels), the IP your routed sites see, and one line per
connected VPN with its own public IP and interface (
utun4 Β· default,ppp0β¦). - Copy any of them with one click.
- Presets for Shecan, Electro, Begzar, 403, Radar Game, Google, Cloudflare β add your own.
- Most DNS changers set Wi-Fi DNS and silently lose to the DNS your VPN pushes. DevNet's small root helper overrides it live on every active service, VPNs included, and restores the originals when you go back to Automatic.
- Shows the resolver macOS is really using, latency test for each preset, one-click cache flush.
- Lists everything listening on a port, grouped by project folder (Node, Bun, Deno, Python, Java/Gradle, Go, Ruby, PHP, .NET, Postgres, Redis, nginxβ¦) plus Docker containers.
- Open in VS Code, Cursor, IntelliJ, Finder or the browser; stop with one click β including LaunchAgent-managed processes that come
back when you
killthem.
- Native SwiftUI, Control Centerβstyle panel with Liquid Glass, light & dark mode.
- Global hotkey (ββ§I by default, change it in the window sidebar) opens the panel from anywhere, even when the menu bar icon is hidden behind the notch.
- Passwordless mode: one prompt installs a sudoers rule limited to exactly
route add/delete, DNS settings and cache flush. Nothing else gets root. - ~2 MB universal binary, no Electron, no background daemons, no telemetry, no account. Launch at login.
Shell scripts with route |
VPN client split tunneling | DNS changer apps | DevNet | |
|---|---|---|---|---|
| Works with any VPN, several at once | β its own tunnel only | β | β | |
| Route by domain / URL | β | rarely | β | β |
| Route a whole country in one click | β | rarely | β | β |
| Follows Wi-Fi / network changes | β | β | β | β auto-reconcile |
| Shows ISP, routed and per-VPN public IPs | β | β | β | β |
| DNS change wins over VPN-pushed DNS | β | β | β | β |
| Dev-server & Docker manager | β | β | β | β |
| No password prompts, least privilege | β | β | β scoped sudoers | |
| Native, tiny, open source, free | β | varies | varies | β |
- Download DevNet.dmg, open it and drag DevNet into Applications.
- Open DevNet. It's open source and ad-hoc signed (not notarized), so the first time macOS asks: go to
System Settings βΊ Privacy & Security and click Open Anyway β or run:
xattr -dr com.apple.quarantine /Applications/DevNet.app
- Click the menu bar icon (or press ββ§I). In the DevNet window, click Enable Passwordless Mode once.
git clone https://github.com/SajjadMohabati/DevNet.git
cd DevNet
./build.sh # universal build, installs to /Applications
sudo ./install.sh # optional: passwordless mode + DNS helper (same as the in-app button)
./release.sh # optional: build the styled DMGNeeds only the Xcode Command Line Tools β no Xcode project, no dependencies.
macOS 26 Tahoe or later Β· Apple silicon or Intel
| Piece | What it does |
|---|---|
route(8) |
Adds -net/-host routes via your LAN gateway; DevNet diffs wanted vs. live and applies only the difference. |
scutil --nc, netstat |
Finds connected VPNs, their interfaces and the default route. |
curl --interface |
Asks for the public IP through each interface separately. |
devnet-dns helper |
Writes ServerAddresses into each service's DNS state (backing up the original) via scutil. |
/etc/sudoers.d/devnet |
Lets your user run only the commands above without a password. Remove with sudo ./install.sh --uninstall. |
Your data lives in ~/Library/Application Support/VPNRoutes/ as plain JSON.
Is this a VPN? No. DevNet decides which traffic skips your VPN. Use it with the VPN you already have.
Will it leak my traffic? Only destinations you add go around the VPN; everything else stays in the tunnel.
Can I route all Iranian (or any country's) sites outside the VPN? Yes β Add βΊ Country IP Rangesβ¦ and enter ir
(or any ISO code). That's how sites that block foreign IPs (403) keep working while you're connected.
What does passwordless mode change? It installs one sudoers file allowing route add/delete, networksetup -setdnsservers, DNS cache flush and DevNet's DNS helper. Run sudo ./install.sh --uninstall to remove it.
Issues and pull requests are welcome. If DevNet saves you time, β star the repo β it helps others find it.
Created by Sajjad Mohabati Β· github.com/SajjadMohabati/DevNet
Released under the MIT License.
Keywords: macOS split tunneling, VPN bypass, exclude IP from VPN, route domain outside VPN, static route manager, Iran IP ranges, Shecan DNS, DNS changer for Mac, WireGuard split tunnel, L2TP split tunnel, menu bar network tool, developer tools, kill port, local dev server manager.