Repolode
polius

polius/FileSync

WebRTCでブラウザ間をリアルタイムにP2P転送する、サイズ無制限のセルフホスト型ファイル共有Webアプリ。

スター
1,892
フォーク
188
未解決の Issue
1
最終コミット
一昨日

これは何?

FileSyncを使うと、1台のデバイスから複数の相手に同時にファイルを共有できます。送信側がルームを作成してリンクまたはQRコードを共有すれば、受信側はアプリのインストールやアカウントの作成なしでブラウザからアクセスできます。ルームにはパスワードを設定することもできます。

ファイルは暗号化されたWebRTCを介してブラウザ間で直接転送されます。シグナリングサーバーはピア同士の接続を仲介するだけで、直接接続できない場合はTURNリレーを使用します。受信したファイルは到着と同時にディスクへストリーミング保存されるため、ファイルサイズにかかわらずメモリ使用量は一定に保たれます。転送が中断された場合も、再接続して続きから再開できます。

プロジェクトは単一のDockerイメージとして提供されています。HTTPSで利用するにはドメインを設定したCaddyが必要で、これによりブラウザのストリーミング保存方式が有効になります。ローカルテストではHTTPも使えますが、その場合はファイル全体をメモリにバッファリングする方式に切り替わります。

主な機能

  • 01暗号化されたWebRTCを介して、ブラウザ間でファイルを直接転送します。
  • 02受信したファイルをディスクにストリーミング保存するため、大容量ファイルでもメモリを使い切りません。
  • 03中断した転送を自動的に再開します。
  • 04共有ルームのリンクまたはQRコードを使って、1つのファイルを複数のデバイスに送信できます。
  • 05直接接続できない場合はTURNリレーに切り替わります。
  • 06受信側はインストールもアカウント作成も不要で、ルームには任意でパスワードを設定できます。

ユースケース

  • ファイルをサードパーティのクラウドにアップロードせず、同僚や顧客のグループに大容量ファイルを送る。
  • セルフホストしたインスタンスを通じて、自宅やオフィスのネットワーク内、またはネットワークをまたいでファイルを共有する。
  • ブラウザを使って、自分のスマートフォンとパソコン間でファイルを転送する。

クイックスタート

  1. 1

    リポジトリから deploy/docker-compose.yml をダウンロードします

  2. 2

    Docker Compose で FileSync を起動します

    docker compose up -d
  3. 3

    Docker を実行しているマシンのブラウザーで http://localhost を開きます

使う前に知っておきたいこと

  • HTTP オプションはローカルでの簡易テスト専用で、本番環境向けではありません。
  • 平文 HTTP では受信したファイル全体がメモリにバッファリングされるため、大容量の転送ではメモリ不足のリスクがあります。
  • 本番環境で使用するには、独自ドメインを使った HTTPS と Caddy の設定が必要です。
  • ファイアウォールでポート 80/443、3478、および UDP ポート範囲 50000~50100 を開放する必要があります。

収録されている特集

トピック

よくある質問

FileSync とは?
WebRTCでブラウザ間をリアルタイムにP2P転送する、サイズ無制限のセルフホスト型ファイル共有Webアプリ。 FileSyncを使うと、1台のデバイスから複数の相手に同時にファイルを共有できます。送信側がルームを作成してリンクまたはQRコードを共有すれば、受信側はアプリのインストールやアカウントの作成なしでブラウザからアクセスできます。ルームにはパスワードを設定することもできます。
FileSync は無料で使えますか?ライセンスは?
FileSync は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
FileSync は今もメンテナンスされていますか?
活発にメンテナンス中。FileSync の最終コミットは 2026年11月5日 です。
FileSync は何に使えますか?
ファイルをサードパーティのクラウドにアップロードせず、同僚や顧客のグループに大容量ファイルを送る。 セルフホストしたインスタンスを通じて、自宅やオフィスのネットワーク内、またはネットワークをまたいでファイルを共有する。 ブラウザを使って、自分のスマートフォンとパソコン間でファイルを転送する。
FileSync のインストール方法は?
リポジトリから deploy/docker-compose.yml をダウンロードします Docker Compose で FileSync を起動します: docker compose up -d Docker を実行しているマシンのブラウザーで http://localhost を開きます
FileSync はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/polius/FileSync

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト