Repolode
n0-computer

n0-computer/iroh

공개 키로 앱을 연결하고 QUIC 전송, 홀 펀칭, 릴레이 대체 경로를 제공하는 Rust 라이브러리입니다.

스타
12,779
포크
778
열린 이슈
183
마지막 커밋
8시간 전

어떤 프로젝트인가요?

Iroh를 사용하면 IP 주소 대신 피어의 공개 키로 애플리케이션을 호출할 수 있습니다. 라이브러리는 피어에 연결할 수 있는 최적의 경로를 찾아 유지하며, 먼저 홀 펀칭으로 직접 연결을 시도하고 실패하면 공개 릴레이 서버를 사용합니다.

연결은 noq 라이브러리를 통한 QUIC 기반으로, 인증된 암호화, 우선순위가 적용된 동시 스트림, 데이터그램 전송을 지원하며 헤드 오브 라인 블로킹을 방지합니다. 개발자는 이 연결 위에서 직접 프로토콜을 구현할 수 있습니다.

저장소에는 미리 구현된 프로토콜도 포함되어 있습니다. BLAKE3 콘텐츠 주소 지정 전송을 위한 iroh-blobs, 퍼블리시-서브스크라이브 오버레이 네트워크를 위한 iroh-gossip, 최종적 일관성을 제공하는 키-값 저장소인 iroh-docs가 있습니다. 다른 언어용 바인딩은 별도의 iroh-ffi에서 관리합니다.

핵심 기능

  • 01IP 주소 대신 공개 키로 피어 호출
  • 02홀 펀칭을 통한 직접 연결 및 릴레이 대체 경로
  • 03암호화와 멀티플렉싱 스트림을 지원하는 QUIC 연결
  • 04블롭 전송, 가십, 키-값 문서용 사전 구현 프로토콜
  • 05워크스페이스에 공개 릴레이 서버 구현 포함

활용 사례

  • NAT 뒤에 있는 기기를 연결해야 하는 P2P 앱
  • 중앙 서버 없이 기기 간 파일 동기화
  • 노드 간 실시간 메시징 또는 pub-sub 오버레이 구축

빠른 시작

  1. 1

    cargo로 Rust 라이브러리를 설치하세요

    cargo add iroh
  2. 2

    전체 코드는 echo 예제를 살펴보세요

사용 전 알아둘 점

  • 주로 Rust 라이브러리이며, 다른 언어에서는 별도 프로젝트인 iroh-ffi 바인딩을 사용해야 합니다.

토픽

자주 묻는 질문

iroh은(는) 무엇인가요?
공개 키로 앱을 연결하고 QUIC 전송, 홀 펀칭, 릴레이 대체 경로를 제공하는 Rust 라이브러리입니다. Iroh를 사용하면 IP 주소 대신 피어의 공개 키로 애플리케이션을 호출할 수 있습니다. 라이브러리는 피어에 연결할 수 있는 최적의 경로를 찾아 유지하며, 먼저 홀 펀칭으로 직접 연결을 시도하고 실패하면 공개 릴레이 서버를 사용합니다.
iroh은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
iroh은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
iroh은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. iroh의 마지막 커밋은 2026년 10월 19일입니다.
iroh은(는) 어디에 사용할 수 있나요?
NAT 뒤에 있는 기기를 연결해야 하는 P2P 앱 중앙 서버 없이 기기 간 파일 동기화 노드 간 실시간 메시징 또는 pub-sub 오버레이 구축
iroh는 어떻게 설치하나요?
cargo로 Rust 라이브러리를 설치하세요: cargo add iroh 전체 코드는 echo 예제를 살펴보세요
iroh은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/n0-computer/iroh

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트