18 ポイント 投稿者 GN⁺ 2025-03-13 | 1件のコメント | WhatsAppで共有
  • 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件のコメント

 
GN⁺ 2025-03-13
Hacker Newsのコメント
  • 私はブラウザベースとCLIのP2Pファイル転送ツールの長いリストを維持している

    • LimeWireは最近、ShareDropやSnapDropのような優れたツールを買収している
    • 現在は https://pairdrop.net/ が残っている
  • Operaブラウザは2010年ごろ、UniteというP2Pファイル転送機能を一時的に提供していた

    • 「冷蔵庫」風のGUIで、ユーザーはポストイット風のメモを残せた
    • Opera Prestoはさまざまな機能を提供しており、Bittorrentクライアント、デスクトップウィジェット、IRCクライアント、メールクライアント、ホットキーのカスタマイズ機能が含まれていた
    • それにもかかわらず、ブラウザは依然として軽量なバイナリだった
  • この種のサービスでたいてい私をいら立たせるのは、複雑なURLを提示してくることだ

    • https://file.pizza はURLが実際の単語で構成されているのでより良い
    • https://pairdrop.net は、電話で簡単に共有できる5文字の一時的な「ルーム」を生成できるので好ましい
    • CLI経由で接続を開始し、簡単なURLを提供するP2Pサービスを待っている
  • WebRTCでローカルピア発見ができる方法があればいいのにと思う

    • 現在は2つのエンドポイントがアクティブなインターネット接続と共有識別子を必要とする
    • オフラインのローカル共有は不可能だ
  • ShareDropとSnapdropがLimeWireに買収されたような形になるのではないかと心配している

  • この問題は何十年も前に解決されているべきだったが、強力で安全な非商用ソリューションはいまだに不在だ

    • IPFSプロジェクトは最近どうなっているのか気になる
  • WebRTCは中間サーバーにデータが保存されないため、転送が速く安全だ

    • しかし、NATの背後にあるクライアント間の転送にはTURNサーバーが必要だ
    • データは中間サーバーに保存されないが、通過することはありうる
    • TURNサーバーがデータを読まない保証があるのか気になる
    • E2EEが使われているかどうかも気になる
  • Transmissionやほかのトレントクライアントをインストールすることが問題でないなら、privtrackerのアプローチを好む

    • ほとんどのトレントクライアントはデフォルトでバックグラウンド実行できる
    • 最近注目を集めたが見逃していたなら残念だろう
  • PairDropが本当に好きだ

  • Magic Wormholeもあるが、ブラウザベースではない