パク・ミンギュ | バックエンド開発者

ShareAnything - WebRTC で P2P ファイル共有サービスを構築する

概要

NAT 環境でも安定したクロスプラットフォームのファイル共有を実現する

技術スタック

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

チーム

1名(個人プロジェクト)

期間

2025.11 ~ 2026.04

関連リンク

詳細

  1. 概要
    • 共用コンピューターや CLI ベースの Linux サーバー環境でのファイル共有に不便を感じました。これを解決するため、Web および 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 にデプロイしました。