Wantastic Networking Daemon — a lightweight, cross-platform WireGuard-based mesh networking agent.
wantasticd is the agent daemon for the Wantastic overlay network. It uses a WireGuard-based protocol to create secure, high-performance peer-to-peer tunnels between devices — across NAT, firewalls, and heterogeneous networks.
It runs as a system service on Linux (systemd, procd/OpenWrt, OpenRC, SysV, BusyBox), macOS (launchd), and Windows.
Wantasticd uses a Userspace Hybrid Netstack — combining a Go userspace WireGuard implementation with kernel-bypass techniques for maximum throughput.
| Scenario | Throughput |
|---|---|
| Local loopback (P2P) | ~10 Gbps |
| LAN peer-to-peer | ~2–5 Gbps |
| WAN / cloud relay | Limited by ISP uplink |
See the full P2P Performance Benchmarks for detailed results.
Wantasticd establishes direct peer-to-peer tunnels whenever possible, falling back to relay only when both peers are behind symmetric NAT. The P2P path uses:
- ICE-like hole punching through NAT
- WireGuard encryption end-to-end
- Persistent keepalive for connection stability on embedded/mobile networks
- Automatic reconnect managed by the system service
To run the P2P end-to-end test suite:
./e2e/run_p2p_test.shcurl -sSL https://get.wantastic.app/install.sh | shThe installer automatically:
- Detects your OS and architecture (
linux/amd64,arm64,arm,mips,riscv64,ppc64le, ...) - Remounts read-only filesystems (OpenWrt)
- Adds reliable DNS if needed
- Installs the binary to
/usr/bin/wantasticdor/usr/local/bin/wantasticd - Registers and starts a system service (systemd / procd / OpenRC / SysV / BusyBox / launchd)
Open PowerShell as Administrator:
irm https://get.wantastic.app/install.ps1 | iexAfter installation the agent needs credentials in /etc/wantastic to connect. There are three ways to authenticate:
curl -sSL https://get.wantastic.app/install.sh | sh -s -- --loginOr after install:
wantasticd loginOpens console.wantastic.app in your browser. After you approve, the config is written to /etc/wantastic automatically.
Ideal for CI pipelines, bulk installs, and embedded devices with no browser.
Where to get a token: Go to My Account → Secrets in the console and click + New Secret.
# Install + authenticate in one command
curl -sSL https://get.wantastic.app/install.sh | sh -s -- --token <YOUR_TOKEN>Or after install:
wantasticd login --token <YOUR_TOKEN>Copy the WireGuard config directly from the console: open your device, go to Device Configuration → WireGuard tab, and copy the config block.
Write it to /etc/wantastic on the device:
[Interface]
PrivateKey = <YOUR_PRIVATE_KEY>
Address = 10.x.x.x/32
[Peer]
PublicKey = <YOUR_SERVER_PUBLIC_KEY>
Endpoint = wg.wantastic.app:51820
AllowedIPs = 10.0.0.0/8
PersistentKeepalive = 25vi /etc/wantastic
wantasticd connect --config /etc/wantasticYou can pre-write this file to an SD card before first boot — the installer never overwrites an existing /etc/wantastic.
# Connect using config file
wantasticd connect --config /etc/wantastic
# Check connection status
wantasticd status
# Login interactively
wantasticd login
# Login with token
wantasticd login --token <TOKEN>The installer registers wantasticd as a system service automatically. You can manage it with the standard init tools for your platform:
systemd
systemctl status wantasticd
systemctl restart wantasticd
systemctl stop wantasticdOpenWrt (procd)
/etc/init.d/wantasticd status
/etc/init.d/wantasticd restart
/etc/init.d/wantasticd stopmacOS (launchd)
launchctl list | grep wantastic
launchctl stop com.wantastic.wantasticd| OS | Init System | Architectures |
|---|---|---|
| Linux | systemd | amd64, arm64, arm, 386 |
| OpenWrt | procd | mips, mipsle, mips64, mips64le, arm, arm64 |
| Alpine Linux | OpenRC | amd64, arm64, arm |
| Debian/Ubuntu (legacy) | SysV | amd64, arm64 |
| Embedded Linux | BusyBox | arm, mipsle |
| macOS | launchd | amd64, arm64 |
| Windows | SCM | amd64 |
| Linux | any | riscv64, ppc64le |
See LICENSE.

