nylon
Self-healing WireGuard mesh. Reroutes around failures in seconds, no coordination server, fully FOSS.
What is it?
What it is
A self-healing WireGuard mesh network that implements multi-hop routing and automatic rerouting.
Why it exists
To provide a decentralized, coordination-server-free mesh network that routes around failures using measured latency as a metric, ensuring high availability without manual intervention.
Who should use it
developerssysadminsnetwork engineersself-hosted enthusiasts
Who should avoid it
users reliant on Windows clientsthose requiring SaaS-based coordinationnon-technical users
How it works
A quick walkthrough in plain English
How nylon works
Step 1 of 3
You interact with it
Open nylon, send a request, or connect it to your stack.
Features
Advantages
- Self‑healing mesh that reroutes traffic within seconds of a link failure
- Fast convergence (under 10 seconds) using measured latency as routing metric
- No SaaS or central control plane – eliminates single points of failure and dependency
- Easy to deploy – one binary, one port, one YAML config
- High throughput and low overhead thanks to native WireGuard implementation
- Compatible with existing WireGuard clients, enabling seamless mobile roaming
Disadvantages
- Windows client has known issues; recommended to use as a passive client via a Linux/macOS gateway
- Configuration format may change between releases, requiring updates to existing configs
- Limited to a single UDP port, which may conflict with other services
- Requires WireGuard infrastructure; not a standalone VPN solution
- Feature set still evolving; some advanced use cases may not be fully supported yet
Installation
native
Download the latest release binary from the releases page, then follow the setup instructions at https://nylon.jq.ax. Sample systemd service and launchctl plist files are available in the examples directory.
FAQ
What is nylon and how does it differ from other mesh VPN solutions like Tailscale or Nebula?
Nylon is a self‑healing WireGuard mesh that uses the Babel routing protocol (RFC 8966) on top of a modified wireguard‑go to route traffic through the lowest‑latency multi‑hop path. Unlike Tailscale, Nebula, or ZeroTier, nylon does not require a central coordination server and allows nodes to communicate even when they are not directly reachable, forwarding packets through intermediate hops automatically.
What are the deployment requirements for running nylon?
Nylon is distributed as a single statically‑linked binary that listens on one UDP port (57175) and is configured via a single YAML file. No additional services, control planes, or SaaS dependencies are needed; you can run it with a systemd service or launchctl plist found in the examples directory.
Can I connect standard WireGuard clients (iOS, Android, Windows) to a nylon mesh?
Yes. Nylon exposes a regular WireGuard interface, so stock WireGuard clients on iOS, Android, Windows, Linux, or macOS can join the mesh without any extra software. Mobile clients can roam between gateways seamlessly, though the Windows client currently has known issues and is best used as a passive client via a Linux/macOS gateway.
How quickly does nylon recover from a link failure?
Nylon aims for under 10 seconds of convergence time after a link goes down. It measures latency as the routing metric and uses Babel to reroute traffic through the next‑best path automatically, without manual intervention.
Is nylon secure, and does it modify WireGuard's cryptography?
Nylon does not alter WireGuard's cryptographic code. All control traffic (route updates, probes) is sent inside the encrypted WireGuard tunnel, preserving the same security guarantees as vanilla WireGuard. For any security concerns, you can contact the author directly.
Where can I find detailed configuration guides and examples for nylon?
The full documentation is available at https://nylon.jq.ax, which includes configuration references, guides for connecting WireGuard clients, port forwarding instructions, and comparisons with Tailscale/Nebula. Sample systemd service and launchctl plist files are also provided in the repository's examples directory.
Featured in Videos
YouTube tutorials and walkthroughs for nylon
Alternatives
Similar projects ranked by category, topics, and text overlap.