shape

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

概要

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

技術スタック

  • 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

チーム

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

期間

2025.11 ~ 2026.04

関連リンク

Webサービス

詳細

  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 にデプロイしました。