# Peerfetch – WebRTC를 이용한 P2P HTTP

> Clean Markdown view of GeekNews topic #16148. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16148](https://news.hada.io/topic?id=16148)
- GeekNews Markdown: [https://news.hada.io/topic/16148.md](https://news.hada.io/topic/16148.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-08-03T09:44:26+09:00
- Updated: 2024-08-03T09:44:26+09:00
- Original source: [github.com/ambianic](https://github.com/ambianic/peerfetch)
- Points: 2
- Comments: 1

## Topic Body

- HTTP over WebRTC  
- WebRTC DataChannel을 통해 http 클라이언트 Wrapper(HTML Fetch와 비슷)와 서버 측 HTTP 프록시를 구현  
- 웹 브라우저에서 방화벽 뒤에 숨겨진 엣지 디바이스(IoT 또는 서버)로 안전하게 직접 액세스 가능  
- 주요 특징:  
  - 안전한 애플리케이션 공간에서 실행 (sudo 필요 없음)  
  - 종단 간 암호화  
  - 맞춤형 VPN 설정 불필요  
  - 데이터 터널링을 위한 클라우드 중개자 불필요  
  - 동적 DNS 서비스 불필요  
  - 맞춤형 방화벽 규칙 불필요  
  - 프로그래밍 언어에 구애받지 않음 (현재 JavaScript와 Python에서 사용 가능)  
  
### 사용 사례:  
- 클라우드 제공자와 영상을 공유하지 않고 웹 앱에서 개인 홈 보안 카메라에 직접 사용자 접근  
- 직접 p2p 통신이 가능한 IoT 장치 메쉬  
- 개인 웹 앱이 데이터를 공개 IP 주소를 노출하지 않고 최종 사용자와만 직접 공유 (파일, 노트, 사진 등)  
- 연합 학습 - ML 모델이 로컬 사용자 데이터에서 학습하고 중앙 집중식 모델 집계 서버 없이 서로 학습된 상태를 직접 공유  
  
### GN⁺의 정리  
- `peerfetch`는 WebRTC를 통해 직접적이고 안전한 P2P HTTP 통신을 가능하게 하는 프로젝트임  
- 클라우드 중개자나 맞춤형 VPN 설정 없이도 종단 간 암호화를 제공하여 보안성을 높임  
- IoT 장치나 개인 웹 앱에서 프라이버시를 유지하면서 데이터를 직접 공유할 수 있는 유용한 도구임  
- 유사한 기능을 제공하는 프로젝트로는 WebRTC 기반의 다른 P2P 통신 라이브러리들이 있음

## Comments



### Comment 27768

- Author: neo
- Created: 2024-08-03T09:44:26+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=41135671) 
- Camect는 WebRTC를 통해 개인 서버의 카메라에 접근할 수 있게 하는 시스템임
  - 중앙 인증 시스템을 사용하고 WebRTC와 물리적 NVR을 통해 비디오를 효율적으로 제공함
  - Google Nest Cams처럼 클라우드 서비스가 재정적 부담이 되어 취소될 위험이 낮음
  - 매우 훌륭한 아키텍처임

- Webtorrent는 흥미로운 아이디어임
  - 이미 양방향 WebRTC 연결이 있다면 왜 HTTP를 사용하는지 궁금함
  - 애플리케이션에 따라 다를 수 있음

- 신호 서버 없이 이 작업을 수행할 수 있는 방법이 있는지 궁금함

- WebRTC로 비디오를 녹화할 수 있는 솔루션이 있는지 궁금함
  - HLS와 Dash를 녹화할 수 있는 도구는 충분히 많음
  - WebRTC를 통해 전송되는 비디오 스트림을 녹화할 수 있는 PoC조차 찾지 못함 (예: agora.io)

- 신호 서버가 어디에 있고 어떻게 작동하는지 이해하지 못함

- Tailscale 같은 대안도 있음

- 서비스 워커를 결합해 분산 웹사이트를 구현하는 아이디어를 시도해본 적이 있음

- 흥미로운 프로젝트가 게시되고 HN에서 큰 토론이 벌어지지만, 라이브러리를 시도해보면 유지보수가 되지 않고 마지막 업데이트가 3년 전인 경우가 많음
  - 이 스레드에서 좋은 추천을 많이 받았음, 고마움
  - 이 프로젝트는 좋아 보임: https://github.com/subins2000/p2pt

- 기대했지만 해당 저장소는 3년 넘게 업데이트되지 않았음
