n0-computer/iroh

IP addresses break, dial keys instead. A library that adds QUIC + NAT Traversal to your apps.

View on GitHub ↗Jump to charts ↓Open shareable report →

n0-computer/iroh has 12k+ stars and 750+ forks on GitHub, is written in Rust, and was last pushed on Oct 17, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 34 minutes ago
Added to GitGenius on July 2nd, 2026
Created on March 14th, 2022
Open Issues & Pull Requests: 181 (+0)
GitHub issues: Enabled
Number of forks: 776
Total Stargazers: 12,775 (+0)
Total Subscribers: 122 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 23.4 hours
Mean response time: 55.5 days
90th percentile: 188.3 days
Tracked items: 612

Maintainer activity

10 people did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 18, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits. How this is counted.

How this project is maintained

About 14% of issues opened in the past year have never received a reply. 82% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "API" is answered fastest, typically in about 5 hours, while "test" waits about 12 days. 56% of tracked open issues have had no activity in three months. Only 59% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 157
New in 7 days: 5
Closed in 7 days: 0
Avg open age: 224 days
Stale 30+ days: 129
Stale 90+ days: 103

Recent activity

Opened in 7 days: 5
Closed in 7 days: 0
Comments in 7 days: 4
Events in 7 days: 8

Top labels

  • c-iroh (211)
  • bug (165)
  • feat (89)
  • multipath (37)
  • NAT Traversal (34)
  • flaky-test (29)
  • c-iroh-relay (21)
  • API (19)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Iroh is a Rust library that enables applications to establish direct peer-to-peer connections by dialing public keys instead of IP addresses. The core problem it solves is that IP addresses are unstable and change frequently, particularly for mobile devices and machines behind NAT. By abstracting away the complexity of network addressing, iroh allows developers to build applications that maintain reliable connections regardless of where endpoints are located or how their network configuration changes.

The library implements hole-punching as its primary mechanism for establishing direct connections between peers. When two endpoints want to communicate, iroh attempts to create a direct connection by punching through NAT firewalls. If hole-punching fails, the library automatically falls back to an open ecosystem of public relay servers, ensuring that connections are always established while maintaining performance. The project continuously measures connection performance across different routes to optimize which path is used for each connection.

Iroh is built on top of QUIC, a modern transport protocol that provides authenticated encryption, concurrent streams with prioritization, datagram transport, and avoids head-of-line blocking issues inherent in TCP. The library uses noq for establishing these QUIC connections between endpoints. This foundation gives applications strong security guarantees and efficient multiplexing capabilities out of the box.

Beyond the core connectivity layer, iroh provides a set of composable protocols that developers can use instead of building their own. Iroh-blobs handles content-addressed blob transfer using BLAKE3, scaling from kilobytes to terabytes. Iroh-gossip establishes publish-subscribe overlay networks with minimal resource requirements suitable for mobile devices. Iroh-docs provides an eventually-consistent key-value store built on top of iroh-blobs. These higher-level protocols allow developers to focus on application logic rather than implementing complex distributed systems primitives.

The repository is organized as a Rust workspace containing multiple crates. The core iroh crate provides hole-punching and relay communication functionality. Iroh-relay contains both client and server implementations for the relay infrastructure that the project runs in production. Iroh-base defines common types like EndpointId and RelayUrl used across the ecosystem. Iroh-dns-server implements DNS functionality powering address lookup for EndpointIds through dns.iroh.link.

The repository shares contributors with major projects including rust-lang/rust, servo/servo, and flutter/flutter, suggesting deep integration with the broader Rust ecosystem.

For developers using languages other than Rust, iroh-ffi provides foreign function interface bindings. The project is dual-licensed under Apache License 2.0 and MIT, allowing flexible use in various contexts. The library emphasizes practical usability with straightforward APIs and comprehensive documentation available both on the iroh.computer website and through standard Rust documentation.