Repolode
n0-computer

n0-computer/iroh

A Rust library for connecting apps by public key, with QUIC transport, hole-punching and relay fallback.

Stars
12,779
Forks
778
Open issues
183
Last commit
6 hours ago

What is it?

Iroh lets applications dial a peer by its public key instead of an IP address. The library finds and maintains the best available route to the peer, first trying a direct connection through hole-punching and falling back to public relay servers when that fails.

Connections are built on QUIC through the noq library, which provides authenticated encryption, concurrent streams with priorities, a datagram transport, and avoids head-of-line blocking. Developers can write their own protocols on top of these connections.

The repository also offers pre-built protocols: iroh-blobs for BLAKE3 content-addressed transfer, iroh-gossip for publish-subscribe overlay networks, and iroh-docs for an eventually consistent key-value store. Bindings for other languages are maintained separately in iroh-ffi.

Key features

  • 01Dial peers by public key rather than IP address
  • 02Direct connections via hole-punching with relay fallback
  • 03QUIC connections with encryption and multiplexed streams
  • 04Pre-built protocols for blob transfer, gossip and key-value docs
  • 05Public relay server implementation included in the workspace

Use cases

  • Peer-to-peer apps that must connect devices behind NAT
  • Syncing files between devices without a central server
  • Building real-time messaging or pub-sub overlays between nodes

Topics

FAQ

What is iroh?
A Rust library for connecting apps by public key, with QUIC transport, hole-punching and relay fallback. Iroh lets applications dial a peer by its public key instead of an IP address. The library finds and maintains the best available route to the peer, first trying a direct connection through hole-punching and falling back to public relay servers when that fails.
Is iroh free to use? What license does it have?
iroh is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is iroh still maintained?
Actively maintained. The last commit to iroh was on Oct 19, 2026.
What can I use iroh for?
Peer-to-peer apps that must connect devices behind NAT Syncing files between devices without a central server Building real-time messaging or pub-sub overlays between nodes
Where can I get iroh?
The source code and installation instructions are on GitHub: https://github.com/n0-computer/iroh

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects