Repolode
dmotz

dmotz/trystero

자체 서버 없이 브라우저끼리 WebRTC로 P2P 연결하는 멀티플레이어 웹 앱용 JavaScript 라이브러리입니다.

스타
2,796
포크
161
열린 이슈
7
마지막 커밋
어제

어떤 프로젝트인가요?

Trystero는 WebRTC에 필요한 매칭 과정을 처리합니다. 브라우저는 ID로 방에 참여한 뒤 Nostr(기본값), BitTorrent, MQTT, IPFS, Supabase, Firebase 같은 시그널링 채널이나 직접 호스팅하는 WebSocket 릴레이를 통해 서로를 찾습니다. 연결이 설정되면 앱 데이터는 피어 간에 직접 전송되고 종단 간 암호화되므로, 시그널링 채널에는 연결 정보만 오갑니다.

WebRTC를 기반으로 방과 브로드캐스팅, 메시지 전송용 타입 지정 액션, 대용량 페이로드의 자동 직렬화와 청크 분할, 진행률 이벤트, 요청/응답 호출, 오디오 및 비디오 스트림 지원 기능을 제공합니다. 브라우저와 Node, Bun, Deno에서 동일한 API를 사용할 수 있으며 React hooks도 포함되어 있습니다. 전략을 바꾸려면 가져오는 패키지만 변경하면 됩니다.

Trystero는 TypeScript로 작성되었으며, npm에서는 trystero 패키지 이름으로 배포되고 전략별 패키지는 @trystero-p2p 스코프에 제공됩니다.

핵심 기능

  • 01Nostr, BitTorrent, MQTT, IPFS, Supabase, Firebase 또는 WebSocket 릴레이를 통한 서버리스 피어 검색
  • 02브로드캐스팅과 피어 메시지용 타입 지정 사용자 정의 액션을 지원하는 방
  • 03진행률 이벤트를 제공하는 대용량 데이터의 자동 직렬화 및 청크 분할
  • 04피어 간 오디오 및 비디오 스트림 공유
  • 05선택 사항인 비밀번호 기반 세션 암호화 및 TURN 서버 지원
  • 06브라우저와 서버 환경의 Node, Bun, Deno에서 실행

활용 사례

  • 백엔드를 유지 관리하지 않고 브라우저 기반 멀티플레이어 게임 만들기
  • 사용자 간 비공개 오디오 또는 비디오 채팅방 만들기
  • 웹 앱에서 브라우저 간 직접 파일 전송
  • 협업자 간 커서나 양식 데이터 같은 공유 상태 동기화

토픽

자주 묻는 질문

trystero은(는) 무엇인가요?
자체 서버 없이 브라우저끼리 WebRTC로 P2P 연결하는 멀티플레이어 웹 앱용 JavaScript 라이브러리입니다. Trystero는 WebRTC에 필요한 매칭 과정을 처리합니다. 브라우저는 ID로 방에 참여한 뒤 Nostr(기본값), BitTorrent, MQTT, IPFS, Supabase, Firebase 같은 시그널링 채널이나 직접 호스팅하는 WebSocket 릴레이를 통해 서로를 찾습니다. 연결이 설정되면 앱 데이터는 피어 간에 직접 전송되고 종단 간 암호화되므로, 시그널링 채널에는 연결 정보만 오갑니다.
trystero은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
trystero은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
trystero은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. trystero의 마지막 커밋은 2026년 10월 18일입니다.
trystero은(는) 어디에 사용할 수 있나요?
백엔드를 유지 관리하지 않고 브라우저 기반 멀티플레이어 게임 만들기 사용자 간 비공개 오디오 또는 비디오 채팅방 만들기 웹 앱에서 브라우저 간 직접 파일 전송 협업자 간 커서나 양식 데이터 같은 공유 상태 동기화
trystero은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/dmotz/trystero

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

관련 프로젝트