shape

ShareAnything - WebRTC로 P2P 파일 공유 서비스 만들기

프로젝트 설명

NAT 환경에서도 안정적인 크로스 플랫폼 파일 공유 지원하기

기술 스택

  • Rust
  • TypeScript
  • React
  • MySQL
  • Flyway
  • Docker Compose
  • AWS
  • Nginx
  • Vercel
  • Cloudflare
  • Axios
  • WebRTC

참여인원

1명 (개인 프로젝트)

기간

2025.11 ~ 2026.04

관련 링크

상세 내용

  1. 개요
    • 공용 컴퓨터나 CLI 환경의 리눅스 서버 환경에서 파일 공유에 불편함을 느꼈습니다. 이를 해결하기 위해 웹 및 CLI 기반 파일 공유 플랫폼을 개발했습니다.
    • TURN/STUN 서버 인프라를 구축하여 NAT 환경에서도 안정적인 WebRTC 기반 P2P 파일 전송을 지원합니다.
    개요 1
  2. 주요 기능
    • 일반 전송은 파일을 업로드하여 빠르게 공유할 수 있습니다.
    • 보안 전송은 수신자와 직접 연결하여 안전하게 보낼 수 있으며, 파일이 서버에 저장되지 않습니다.
    • npm i -g share-anything-cli 로 CLI 클라이언트를 설치할 수 있습니다.
    주요 기능 1
    주요 기능 2
    주요 기능 3
  3. 사용 기술
    • Rust와 Axum으로 백엔드 서버를 개발하고, MySQL과 Flyway로 데이터를 관리하였습니다.
    • Cloudflare TURN / Workers와 R2를 활용하고, Nginx와 Docker Compose로 인프라를 구성하였습니다.
    • 프론트엔드는 TypeScript와 React로 구현하고 Vercel에 배포하였습니다.