피드로 돌아가기
Dev.toFrontend
원문 읽기
WebRTC 기반 P2P 전송으로 서버 부하 및 보안 리스크를 제거한 브라우저 파일 공유 시스템
I built an open-source AirDrop alternative that works in any browser — no app, no account, no cloud
AI 요약
Context
특정 OS 종속적인 AirDrop의 제약과 기존 클라우드 기반 전송 방식의 서버 경유로 인한 프라이버시 및 속도 저하 문제 발생. 앱 설치 없는 범용적 접근성과 데이터 보안을 동시에 확보한 Local Network 전송 구조 필요성 대두.
Technical Solution
- Signaling Server를 통한 초기 디바이스 탐색 후 WebRTC P2P 연결로 직접 데이터 전송 경로 구축
- Chromium 기반 WebRTC DataChannel의 16MB 버퍼 제한 해결을 위해 bufferedAmountLowThreshold 기반 Flow Control 적용
- 메모리 낭비 방지를 위해 Chrome의 showSaveFilePicker()를 활용한 스트리밍 방식의 파일 저장 처리
- OS별 File System Access API 지원 여부에 따른 플랫폼별 맞춤형 파일 수신 플로우 설계
- DTLS 암호화를 적용하여 Signaling Server를 거치지 않는 엔드 투 엔드 데이터 보안성 확보
실천 포인트
1. WebRTC DataChannel 사용 시 버퍼 오버플로우 방지를 위한 Drain Event 기반 흐름 제어 구현 여부 확인
2. 대용량 파일 처리 시 메모리 점유율 최소화를 위해 File System Access API 활용 검토
3. Signaling Server의 역할을 연결 중개로만 한정하여 데이터 보안 및 서버 확장성 확보