:hatching_chick: New release! Beta Update May 2022. Learn more
Start using NetBird at app.netbird.io
See Documentation
Join our Slack channel
**Note**: The `main` branch may be in an *unstable or even broken state* during development. For stable versions, see [releases](https://github.com/netbirdio/netbird/releases). ### Start using NetBird * Hosted version: [https://app.netbird.io/](https://app.netbird.io/). * See our documentation for [Quickstart Guide](https://netbird.io/docs/getting-started/quickstart). * If you are looking to self-host NetBird, check our [Self-Hosting Guide](https://netbird.io/docs/getting-started/self-hosting). * Step-by-step [Installation Guide](https://netbird.io/docs/getting-started/installation) for different platforms. * Web UI [repository](https://github.com/netbirdio/dashboard). * 5 min [demo video](https://youtu.be/Tu9tPsUWaY0) on YouTube. ### A bit on NetBird internals * Every machine in the network runs [NetBird Agent (or Client)](client/) that manages WireGuard. * NetBird features [Management Service](management/) that holds network state, manages peer IPs, and distributes network updates to peers. * Every agent is connected to Management Service. * NetBird agent uses WebRTC ICE implemented in [pion/ice library](https://github.com/pion/ice) to discover connection candidates when establishing a peer-to-peer connection between machines. * Connection candidates are discovered with a help of [STUN](https://en.wikipedia.org/wiki/STUN) server. * Agents negotiate a connection through [Signal Service](signal/) passing p2p encrypted messages. * Signal Service uses public WireGuard keys to route messages between peers. * Sometimes the NAT traversal is unsuccessful due to strict NATs (e.g. mobile carrier-grade NAT) and p2p connection isn't possible. When this occurs the system falls back to a relay server called [TURN](https://en.wikipedia.org/wiki/Traversal_Using_Relays_around_NAT), and a secure WireGuard tunnel is established via the TURN server. [Coturn](https://github.com/coturn/coturn) is the one that has been successfully used for STUN and TURN in NetBird setups.
See a complete [architecture overview](https://netbird.io/docs/overview/architecture) for details. ### Roadmap - [Public Roadmap](https://github.com/netbirdio/netbird/projects/2) ### Testimonials We use open-source technologies like [WireGuard®](https://www.wireguard.com/), [Pion ICE (WebRTC)](https://github.com/pion/ice), and [Coturn](https://github.com/coturn/coturn). We very much appreciate the work these guys are doing and we'd greatly appreciate if you could support them in any way (e.g. giving a star or a contribution). ### Legal [WireGuard](https://wireguard.com/) is a registered trademark of Jason A. Donenfeld.