ShareAnything - WebRTC で P2P ファイル共有サービスを構築する
概要
NAT 環境でも安定したクロスプラットフォームのファイル共有を実現する
技術スタック

Rust

MySQL

Flyway

Docker Compose

AWS
Nginx

Cloudflare
Vercel
TypeScript

React

Axios

WebRTC
チーム
1名(個人プロジェクト)
期間
2025.11 ~ 2026.04
関連リンク
詳細
概要
- 共用コンピューターや CLI ベースの Linux サーバー環境でのファイル共有に不便を感じました。これを解決するため、Web および 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 にデプロイしました。