{"data":{"slug":"iroh","name":"iroh","tagline":"Rust library that connects devices by public key over QUIC","category":"rust","categoryName":"Rust","url":"https://www.iroh.computer","github":"https://github.com/n0-computer/iroh","pricing":"open-source","hook":"iroh lets your app dial another device by its public key instead of an IP address: it hole-punches a direct QUIC connection when it can and falls back to a relay when it can't, so peer-to-peer sync, file transfer or streaming works across NATs without you running networking infrastructure.","whatsGood":"MIT OR Apache-2.0 (n0-computer/iroh), stable 1.x line with v1.3.0 released 2026-09-28. You get authenticated encryption, multiple streams with priorities and datagrams from QUIC. Ready-made protocols sit on top: iroh-blobs (BLAKE3 content-addressed transfer from kilobytes to terabytes), iroh-gossip (pub-sub overlays light enough for phones) and iroh-docs (an eventually consistent key-value store). The relay server and the DNS/Pkarr lookup server are in the same repo, so you can host the whole stack yourself. cargo add iroh to start. ★~12.7k.","theCatch":"Rust first: other languages go through the separate iroh-ffi bindings, which trail the core (iroh-ffi v1.1.0, July 2026). The free public relays run by n0 are rate-limited, shared by everyone and come with no uptime guarantee — the project itself says they are for development and testing. For production you either run your own relay or pay for n0's hosted relays (Pro from $19/month, dedicated relays from $199/month per region). It is a connection library, not a VPN: if you just want your machines on one private network, Tailscale or NetBird is the simpler tool.","verdict":"The building block for local-first or P2P features in a Rust app — plan your own relay before you ship.","addedAt":"2026-10-17","featured":false,"domain":"Rust","subSpecialty":"Networking","subcategory":"Networking","tags":["sdk","self-host","permissive","active"],"capabilities":["p2p","quic","hole-punching"],"surfaces":["Self-host"],"ecosystem":["Rust"],"licenseModel":"Apache-2.0","githubStars":12778,"starsPerWeek":53,"access":"free","archived":false,"repo":{"createdAt":"2022-03-14","pushedAt":"2026-10-17","license":"Apache-2.0","archived":false,"checkedAt":"2026-10-19"}},"related":[{"slug":"rust-lang","name":"Rust","tagline":"Systems programming without the footguns"},{"slug":"tokio","name":"Tokio","tagline":"Async runtime for Rust"},{"slug":"axum","name":"Axum","tagline":"Web framework from the Tokio team"},{"slug":"actix-web","name":"Actix Web","tagline":"Fast Rust web framework"},{"slug":"serde","name":"Serde","tagline":"Serialization framework for Rust"}],"links":{"self":"/api/gems/iroh","html":"/gems/iroh","markdown":"/gems/iroh.md","category":"/api/gems?category=rust","categoryPage":"/stacks/rust"}}