피드로 돌아가기
I built an open-source AirDrop alternative that works in any browser — no app, no account, no cloud
Dev.toDev.to
Frontend

WebRTC 기반 P2P 전송으로 서버 부하 및 보안 리스크를 제거한 브라우저 파일 공유 시스템

I built an open-source AirDrop alternative that works in any browser — no app, no account, no cloud

Akshay Kumar Dadheech2026년 6월 2일2intermediate

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의 역할을 연결 중개로만 한정하여 데이터 보안 및 서버 확장성 확보

원문 읽기