트렌드깃허브 · 쇼핑에서 뜬 것, 매일 07:30 · English

깃허브 · 2026년 11월 8일 기준 · 깃허브에서 보기 →

n0-computer/iroh

공개 키로 연결하는 네트워크 라이브러리

IP 주소가 바뀌어도 공개 키로 상대를 찾아내는 연결 방법

네트워크 환경이 바뀌어도 상대 기기를 계속 찾아내 데이터를 주고받는 장면을 상상해 보세요. iroh는 IP 주소 대신 공개 키를 식별자로 사용해 두 기기 사이의 가장 빠른 경로를 찾아 유지하는 라이브러리입니다. 직접 연결이 불가능하면 공개된 중계 서버로 넘어가 연결을 이어줍니다.

공개 키로 상대를 찾아내는 원리

기존 인터넷은 IP 주소가 자주 바뀌어 연결이 끊기기 쉽습니다. iroh는 IP 주소 대신 공개 키를 사용해 연결을 시도합니다. 가장 빠른 경로인 직접 연결을 위해 NAT 관통(hole-punching)을 시도하며, 실패하면 공개된 중계 서버로 넘어갑니다. 이 과정에서 연결 속도를 지속적으로 측정해 최적의 상태를 유지합니다.

QUIC 기반의 전송 구조

iroh는 noq를 사용해 QUIC 연결을 설정합니다. 이를 통해 인증된 암호화와 동시 스트림 처리, 데이터그램 전송을 지원합니다. 헤드 오브 라인 블로킹(head-of-line blocking) 문제를 피할 수 있어 여러 데이터를 동시에 주고받을 때 한 부분의 지연이 전체 전송을 막지 않습니다.

준비된 프로토콜 활용

직접 프로토콜을 만들지 않고도 기존 모듈을 활용할 수 있습니다. iroh-blobs는 BLAKE3 기반 콘텐츠 주소 방식으로 기가바이트에서 테라바이트 규모까지 파일 전송을 지원합니다. iroh-gossip은 일반 스마트폰 수준의 자원으로도 작동하는 발행-구독 오버레이 네트워크를 구축합니다. iroh-docs는 iroh-blobs 데이터를 관리하는 최종 일관성(final consistency) 키-값 저장소입니다.

Rust 중심의 사용법과 저장소 구성

Rust에서 cargo add iroh로 설치한 후, 연결하는 쪽과 받는 쪽에서 엔드포인트를 바인딩하고 스트림을 열면 됩니다. 저장소는 코어 라이브러리, 중계 서버 구현, 공통 타입, DNS 서버 구현으로 나뉩니다. 중계 서버 코드는 공개 중계 서버 운영에 사용되며, 사용자도 직접 실행할 수 있습니다.

사용 전 확인 사항

네트워크 환경에 따라 직접 연결이 실패하고 중계 서버를 거칠 수 있으므로, 지연 시간과 대역폭 요구 사항을 고려해야 합니다. 라이선스는 Apache 2.0과 MIT 중 선택하여 사용할 수 있습니다. 프로젝트는 N0, INC.에 의해 유지 관리되며, 기여 시 이중 라이선스가 적용됩니다.

AI가 이 저장소의 README를 읽고 2026년 10월 6일에 쓴 글입니다. 사실관계는 깃허브 원문이 기준입니다.

숫자로 본 저장소

깃허브 트렌딩 기록
트렌드가 기록을 시작한 2026년 6월 19일 ~ 11월 8일 가운데 22일 · 일간 최고 2위(6월 19일)

2026년 11월 3일 기준으로 깃허브에서 읽은 숫자입니다. 2026년 11월 8일에는 새로 읽은 숫자가 없습니다.

언어
Rust
주제 태그
does-anyone-read-these · holepunching · memes · multipath · p2p · quic · realtime · rust
별
12,919
기여자
74
포크
758
최근 릴리스
v1.4.1 · 2026년 10월 22일
커밋
2,656
마지막 커밋
2026년 11월 2일
열린 이슈
162
열린 PR
28
이 저장소를 쓰는 저장소
1,077

깃허브에서 보기 → · 홈페이지

README에 달기

trend.ondo.sh · 깃허브 일간 트렌딩 2위 · 2026년 6월 19일 trend.ondo.sh · GitHub daily trending #2 · June 19, 2026

위 배지는 이 저장소가 2026년 6월 19일 이후 깃허브 일간 트렌딩에서 가장 높이 오른 순위와 그날을 보여 줍니다. README의 언어에 맞는 줄을 붙여 넣으세요. 배지를 누르면 이 페이지가 열리고, 저장소가 더 높이 오르면 배지도 저절로 바뀝니다.

한국어 README

[![trend.ondo.sh](https://trend.ondo.sh/github/r/n0-computer--iroh/badge.svg)](https://trend.ondo.sh/github/r/n0-computer--iroh/)

영어 README

[![trend.ondo.sh](https://trend.ondo.sh/github/r/n0-computer--iroh/badge.en.svg)](https://trend.ondo.sh/github/r/n0-computer--iroh/en.html)