ShareAnything - WebRTC로 P2P 파일 공유 서비스 만들기
프로젝트 설명
NAT 환경에서도 안정적인 크로스 플랫폼 파일 공유 지원하기
기술 스택

Rust

MySQL

Flyway

Docker Compose

AWS
Nginx

Cloudflare
Vercel
TypeScript

React

Axios

WebRTC
참여인원
1명 (개인 프로젝트)
기간
2025.11 ~ 2026.04
관련 링크
상세 내용
개요
- 공용 컴퓨터나 CLI 환경의 리눅스 서버 환경에서 파일 공유에 불편함을 느꼈습니다. 이를 해결하기 위해 웹 및 CLI 기반 파일 공유 플랫폼을 개발했습니다.
- TURN/STUN 서버 인프라를 구축하여 NAT 환경에서도 안정적인 WebRTC 기반 P2P 파일 전송을 지원합니다.

주요 기능
- 일반 전송은 파일을 업로드하여 빠르게 공유할 수 있습니다.
- 보안 전송은 수신자와 직접 연결하여 안전하게 보낼 수 있으며, 파일이 서버에 저장되지 않습니다.
- npm i -g share-anything-cli 로 CLI 클라이언트를 설치할 수 있습니다.



사용 기술
- Rust와 Axum으로 백엔드 서버를 개발하고, MySQL과 Flyway로 데이터를 관리하였습니다.
- Cloudflare TURN / Workers와 R2를 활용하고, Nginx와 Docker Compose로 인프라를 구성하였습니다.
- 프론트엔드는 TypeScript와 React로 구현하고 Vercel에 배포하였습니다.