- WebRTCを使用し、他のWebベースのファイル共有サービスで必要となる初期アップロード段階を削除
- データは中間サーバーに保存されないため、転送が高速で、プライベートかつ安全
- FilePizzaのホスティング版は file.pizza で利用可能
FilePizza v2の新機能
- 新しいUIとダークモード対応、モダンなブラウザ技術を基盤に構築
- モバイルSafariを含む、ほとんどのモバイルブラウザで動作
- アップローダーからダウンロードするブラウザへ直接転送(WebRTC、WebTorrentなし)により、より高速なハンドシェイクを実現
- アップローダーが転送の進行状況を監視し、停止できる
- パスワード保護と通報機能によるセキュリティおよび安全対策の強化
- 複数ファイルを一度にアップロードでき、ダウンロード側はzipファイルとして受け取る
- Service Workerによるストリーミングダウンロード
- Redisを使用したサーバー状態の外部プロセス保存
技術スタックと開発
- Next.js、Tailwind、TypeScript、React、PeerJS(WebRTC用)、View Transitions、Redis(任意)
- GitHubからソースコードをクローンし、pnpmを使ってインストールおよび実行可能
- Dockerを使ってFilePizzaをビルドおよび実行可能
FAQ
- ファイル転送の仕組み: ファイルはアップローダーのブラウザからダウンロードする人のブラウザへ直接転送される。サーバーは経由しない。WebRTCを使用してファイル転送を行い、アップローダーは転送完了までブラウザウィンドウを開いたままにしておく必要がある。
- 同時ダウンロードの可否: 可能。短いURLまたは長いURLを送ればよい。
- ファイルサイズ制限: ブラウザが処理できる範囲のサイズ
- ブラウザを閉じると: ファイルURLはそれ以降機能しなくなる。ダウンロードが完了している場合、そのダウンロードした人が未完了のダウンロード利用者に引き続きシードを提供するが、新しいダウンロードは開始できない。
- ファイルの暗号化: すべてのWebRTC通信はDTLSにより自動的に暗号化される。追加のセキュリティのために、アップロードにパスワードを追加できる。
1件のコメント
Hacker Newsのコメント
私はブラウザベースとCLIのP2Pファイル転送ツールの長いリストを維持している
Operaブラウザは2010年ごろ、UniteというP2Pファイル転送機能を一時的に提供していた
この種のサービスでたいてい私をいら立たせるのは、複雑なURLを提示してくることだ
WebRTCでローカルピア発見ができる方法があればいいのにと思う
ShareDropとSnapdropがLimeWireに買収されたような形になるのではないかと心配している
この問題は何十年も前に解決されているべきだったが、強力で安全な非商用ソリューションはいまだに不在だ
WebRTCは中間サーバーにデータが保存されないため、転送が速く安全だ
Transmissionやほかのトレントクライアントをインストールすることが問題でないなら、privtrackerのアプローチを好む
PairDropが本当に好きだ
Magic Wormholeもあるが、ブラウザベースではない