shape

ShareAnything - Building a P2P File Sharing Service with WebRTC

Overview

Supporting reliable cross-platform file sharing even in NAT environments

Tech Stack

  • Rust

    Rust

  • MySQL

    MySQL

  • Flyway

    Flyway

  • Docker Compose

    Docker Compose

  • AWS

    AWS

  • Nginx

    Nginx

  • Cloudflare

    Cloudflare

  • Vercel

    Vercel

  • TypeScript

    TypeScript

  • React

    React

  • Axios

    Axios

  • WebRTC

    WebRTC

Team

1 member (personal project)

Period

2025.11 ~ 2026.04

Links

Web Service

Details

  1. Overview
    • I found file sharing inconvenient on shared computers and on CLI-based Linux server environments. To solve this, I developed a web- and CLI-based file sharing platform.
    • Built TURN/STUN server infrastructure to support reliable WebRTC-based P2P file transfer even in NAT environments.
    Overview 1
  2. Key Features
    • Standard transfer lets users upload a file to share it quickly.
    • Secure transfer connects directly to the recipient for safe delivery, and files are never stored on the server.
    • The CLI client can be installed with npm i -g share-anything-cli.
    Key Features 1
    Key Features 2
    Key Features 3
  3. Tech Stack
    • Developed the backend server with Rust and Axum, and managed data with MySQL and Flyway.
    • Leveraged Cloudflare TURN/Workers and R2, and configured the infrastructure with Nginx and Docker Compose.
    • Implemented the frontend with TypeScript and React and deployed it on Vercel.