One app. Three networking engines. Your rules.
Everywhere is a powerful proxy and tunneling app for iOS that puts you in charge of how your device talks to the internet. Bring your own configuration, pick the engine you trust, and flip a switch. That's it.
Most networking apps lock you into a single backend and a single way of doing things. Everywhere doesn't. It bundles three of the most popular open-source proxy cores in one place, gives them a clean home, and lets you move between them whenever you like.
- Xray-core
v26.3.27— battle-tested VLESS / VMess / Trojan / Shadowsocks with the full XTLS / Reality / XHTTP transport matrix - sing-box
v1.13.11— modern modular core with a strong rule engine, built with the client-relevantwith_*tags (clash_api,grpc,gvisor,quic,utls,wireguard); inbound/server-only and big-tree extras (Tailscale, ACME, v2ray stats, DHCP DNS) are dropped upstream - mihomo
v1.19.24— Clash-flavored ergonomics with rich proxy groups, fake-IP, and rule providers - Live core switching — change engines from the Home tab whenever the tunnel is stopped; configurations don't get tangled across cores
- Native TUN inbound per core — each engine consumes the iOS
utunfile descriptor directly. No userspacetun→socksbridge, no extra hop, no extra latency
- Built-in code editor — Tree-sitter syntax highlighting for JSON
and YAML, line numbers, 80-column page guide, no autocorrect
"helping" you turn
"server"into"sever" - Bring configs from anywhere — type one in, import a file, or paste a URL and let the app fetch it
- Per-core configuration lists — your Xray setups don't get mixed up with your mihomo ones
- zashboard — bundled Clash dashboard for live traffic, proxy groups, and rule inspection (works with sing-box and mihomo; Xray has no clash API)
- Resource management — drop
geoip.dat,geosite.dat,ASN.mmdb, cache files, or PEMs into per-core resource folders; each engine sees them in the right place automatically - Always-On — opt in to an
NEOnDemandRuleConnectrule so iOS brings the tunnel back up after a reboot or network flap - Custom DNS — set the resolvers the
NEPacketTunnelNetworkSettingsadvertises to the system; defaults to1.1.1.1/8.8.8.8
- Native Network Extension —
NEPacketTunnelProviderowns theutundevice; the extension and the app share configurations through an App Group container - Prebuilt
EverywhereCore.xcframework— Xray, sing-box, and mihomo are compiled upstream by NodePassProject/EverywhereCore and consumed as a SwiftPM binary target pinned to a daily-rolled tag - Tree-sitter editor — Runestone with the JSON and YAML grammars compiled in
- Bundled web dashboard — zashboard is served from the app bundle
via a custom
zashboard://URL scheme.
git clone https://github.com/NodePassProject/Everywhere.git
cd Everywhere
./build.sh
open Everywhere.xcodeprojbuild.sh wires the EverywhereCore SwiftPM dependency + Runestone +
the bundled zashboard into the Xcode project. The Go cores themselves
are downloaded as a prebuilt xcframework by SwiftPM on first resolve,
and the zashboard is checked into ThirdParty/zashboard/ as a prebuilt
static bundle — no Node, no pnpm, no Vite step. Plug in your signing
identity and run on a device or the simulator.
To run an xcodebuild simulator smoke test as the final step:
./build.sh --build-appThe Go cores live in their own repository,
NodePassProject/EverywhereCore,
which a daily GitHub Actions job auto-releases against the latest
upstream tags. Tag matrix, gomobile bind mechanics, and per-core
wiring quirks are documented there. Consumer-side notes for this app
(deployment target, libresolv.tbd, zashboard folder reference) live
in PATCHES.md. Bump EVERYWHERE_CORE_VERSION in
Scripts/wire_project.rb and re-run ./build.sh to roll forward.
Everywhere stands on the shoulders of the projects that do the real networking work:
Huge thanks to everyone who maintains them.
Everywhere is licensed under the GNU General Public License v3.0.
Copyright © 2026 NodePassProject.
If you ship a modification, ship the source too. That's the deal.
If Everywhere makes your phone's network behave the way you want, give the repo a star — it helps others find it.