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 프로토콜 기반, 내장 암호화, 멀티 스트림 및 데이터그램 지원
  • 즉시 사용 가능한 세 가지 프로토콜 제공: blobs(콘텐츠 주소 전송), gossip(게시-구독), docs(키-값 저장)
  • 지속적인 성능 테스트로 연결 속도 보장

할 수 없는 것

  • 현재 버전은 주로 Rust 개발자를 대상으로 하며, 다른 언어는 FFI 바인딩(iroh-ffi, 아직 개발 중)을 통해야 합니다. 공용 중계 서버는 추가 지연을 초래할 수 있으므로, 프로덕션 환경에서는 자체 중계 구축이나 개인정보 요구 사항 평가를 권장합니다. 홀펀칭 성공률은 네트워크 환경에 의존하며, 일부 엄격한 NAT에서는 항상 중계를 사용할 수 있습니다.

사용 사례

  • 点대점 파일 동기화 및 콘텐츠 배포
  • 분산형 소셜 네트워크 또는 메시지 시스템
  • 사물 인터넷 기기 간 직접 안전 통신

상세 설명

Iroh는 Rust로 작성된 모듈식 네트워크 스택으로, 핵심 개념은 취약한 IP 주소를 대체하는 공개 키 다이얼링입니다. QUIC 프로토콜 기반으로 자동 NAT 홀 펀칭 및 릴레이 폴백을 수행하며, 암호화, 멀티스트림 및 저지연 전송을 제공합니다. libp2p와 같은 기존 프레임워크와 비교하여 iroh는 더 가볍고 사용하기 쉽습니다. 전화 걸듯 상대방의 공개 키만 입력하면 나머지 라우팅 최적화는 라이브러리가 처리합니다. 프로젝트에는 세 가지 조합 가능한 고급 프로토콜(Blobs: BLAKE3 기반 콘텐츠 주소 지정 전송, Gossip: 확장 가능한 발행-구독 오버레이 네트워크, Docs: 최종 일관성 키-값 저장소)이 내장되어 즉시 사용 가능합니다. 현재 GitHub 스타 9.4K, 이중 라이선스를 채택하며, 분산 애플리케이션, IoT 직접 연결, 파일 동기화 등의 시나리오에 적합합니다. 참고: 현재 주로 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 페이지에서 직접 검증할 수 있습니다.

오픈소스 투명성

GitHub 소스 보기
환경 가이드

제거 정보

Cargo.toml에서 iroh 의존성 줄을 삭제한 후, `cargo update`를 실행하여 캐시를 정리하세요. 소스에서 클론한 경우에는 프로젝트 디렉터리를 직접 삭제하세요.

추가 의존성 없음

다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.

프로젝트 정보
라이선스Apache-2.0
마지막 업데이트2026-06-17T07:28:56Z
GitHub 저장소공식 웹사이트

유사한 프로젝트