OpenSource-Hub
I

iroh

SHA-256
9.4k stars·开发工具·已提供 SHA-256 校验码,下载后可自行核对文件完整性

用公钥拨号替代 IP 地址的模块化 Rust 网络栈,自动打洞和中继,内置 blob、gossip、docs 协议组合。

智能下载

下载 Download 版本

v1.0.0 · 4.8 MB

像拨电话一样联网,IP 地址会变,公钥不会。

核心功能

  • 使用公钥身份标识,无需关心 IP 地址变化
  • 自动 NAT 打洞实现直连,失败时回退到公共中继
  • 基于 QUIC 协议,内置加密、多流和 datagram 支持
  • 提供三个开箱即用的协议:blobs(内容寻址传输)、gossip(发布订阅)、docs(键值存储)
  • 持续性能测试,保障连接速度

避坑指南

  • 当前版本主要面向 Rust 开发者,其他语言须通过 FFI 绑定(iroh-ffi,尚在开发中)。公共中继服务器可能引入额外延迟,生产环境建议自建中继或评估隐私需求。打洞成功率依赖网络环境,某些严格 NAT 下可能始终使用中继。

适用场景

  • 点对点文件同步与内容分发
  • 去中心化社交网络或消息系统
  • 物联网设备间直接安全通信

详细介绍

Iroh 是一个用 Rust 编写的模块化网络栈,核心理念是用公钥拨号替代脆弱的 IP 地址。它基于 QUIC 协议,自动完成 NAT 打洞和中继回退,提供加密、多流和低延迟传输。与 libp2p 等传统框架相比,iroh 更轻量、更易上手:你只需像拨电话一样输入对方的公钥,剩下的路由优化都由库处理。项目内置了三套可组合的高级协议——Blobs(基于 BLAKE3 的内容寻址传输)、Gossip(可扩展的发布-订阅覆盖网络)和 Docs(最终一致性的键值存储),开箱即用。目前 GitHub 星标 9.4K,采用双协议许可,适合构建去中心化应用、物联网直连、文件同步等场景。注意:目前主要支持 Rust 语言,FFI 绑定尚在开发中;依赖公共中继服务器时需注意延迟。

标签

p2pnetworkingrustquichole-punchingdecentralizedblob-transfergossipkey-value-store

快速上手

1

下载安装包

点击上方按钮下载对应系统的安装包

2

安装软件

双击下载的安装程序,按提示完成安装

3

确保安装了 Rust 工具链(rustup),然后运行 cargo add iroh 添加依赖

4

在代码中使用 Endpoint::bind() 创建端点,调用 connect(公钥, ALPN) 建立连接

5

通过 QUIC 流发送数据,接收端实现 ProtocolHandler 处理消息,编译运行即可

安装指引
  1. 确保安装了 Rust 工具链(rustup),然后运行 cargo add iroh 添加依赖
  2. 在代码中使用 Endpoint::bind() 创建端点,调用 connect(公钥, ALPN) 建立连接
  3. 通过 QUIC 流发送数据,接收端实现 ProtocolHandler 处理消息,编译运行即可
文件完整性

已提供 SHA-256 校验码,下载后可自行核对文件完整性

该校验码提取自 GitHub 官方 Release 页面

SHA256 校验码

9a3113360f882b510b55e18dfaed57899d8c350d0108ea8827daf42ce3353a3c

该校验码提取自 GitHub Release 页面,下载后请自行核对文件完整性

本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。

运维指引

卸载说明

删除 Cargo.toml 中的 iroh 依赖行,然后运行 cargo update 清理缓存。若从源码克隆,直接删除项目目录。

无额外依赖

下载后即可直接使用,无需安装其他运行环境

项目信息
开源协议Apache-2.0
最后更新2026-06-17T07:28:56Z
GitHub 仓库官方网站

相似推荐