Repolode
david-bai00

david-bai00/PrivyDrop

WebRTCでブラウザ間のファイル・フォルダ・テキストを直接送れる、AirDrop風のプライバシー重視Webアプリ。

代替できる製品:AirDropSend Anywhere

スター
147
フォーク
14
未解決の Issue
0
最終コミット
28 日前

これは何?

PrivyDropは、WebRTCを使ったP2Pのファイル・テキスト共有Webアプリです。データはサーバーを介さずブラウザ間を直接転送されるため、転送中にファイルやテキストが中央のサービスに保存されることはありません。

ユーザーはルームを作成し、リンクまたはQRコードで共有できます。複数の受信者が同じルームに参加でき、新しい参加者が接続しても進行中の転送は中断されません。保存先ディレクトリを設定すると、Chromeでは大容量ファイルをディスクに直接ストリーミングでき、転送が中断された場合の再開にも対応します。

フロントエンドにはNext.jsとReact、バックエンドにはNode.jsとExpressを採用しています。バックエンドはSocket.IOでシグナリングを処理し、ストレージにはRedisを使用します。LAN、パブリックIP、ドメイン向けのデプロイモードを備えたDocker Compose設定が用意されており、HTTPSとTURNもオプションで利用できます。

主な機能

  • 01WebRTCでブラウザ間を直接転送し、中央サーバーを経由したデータ中継は不要
  • 02複数のファイルやフォルダ全体を送信
  • 03複数の受信者が同時に1つのルームへ参加可能
  • 04保存先ディレクトリを設定すると、Chromeで大容量ファイルをディスクにストリーミングでき、中断後の再開にも対応
  • 05書式付きテキストを送るためのリッチテキスト編集機能
  • 06リンクまたはQRコードでルームを共有でき、UIは英語と中国語に対応

ユースケース

  • クラウドサービスにアップロードせず、自分のスマートフォンとパソコン間で大容量ファイルやフォルダを送る
  • 同じオフィスの同僚に、書式付きテキストやリンクを共有する
  • 共有ルームのリンクを使い、1回のセッションで複数人にファイルを配布する
  • Dockerを使ってLAN内にプライベートなファイル転送サービスをセルフホストする

クイックスタート

  1. 1

    プロジェクトをクローンし、Redisをインストールします

    git clone https://github.com/david-bai00/PrivyDrop.git
  2. 2

    バックエンドの依存関係をインストールし、バックエンドサービスを起動します

    cd backend && npm install && npm run dev
  3. 3

    フロントエンドの依存関係をインストールし、新しいターミナルでフロントエンドアプリを起動します

    cd frontend && pnpm install && pnpm dev
  4. 4

    ブラウザーで http://localhost:3002 を開いて共有を開始します

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

  • ローカル環境を完全にセットアップするには、バックエンドとフロントエンドと併せてRedisのインスタンスを実行する必要があります。
  • 中断した転送を再開するには、保存先ディレクトリを設定する必要があります。転送が中断された場合は、両方のページを再読み込みしてください。

収録されている特集

トピック

よくある質問

PrivyDrop とは?
WebRTCでブラウザ間のファイル・フォルダ・テキストを直接送れる、AirDrop風のプライバシー重視Webアプリ。 PrivyDropは、WebRTCを使ったP2Pのファイル・テキスト共有Webアプリです。データはサーバーを介さずブラウザ間を直接転送されるため、転送中にファイルやテキストが中央のサービスに保存されることはありません。
PrivyDrop は無料で使えますか?ライセンスは?
PrivyDrop は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
PrivyDrop は今もメンテナンスされていますか?
活発にメンテナンス中。PrivyDrop の最終コミットは 2026年10月10日 です。
PrivyDrop は何に使えますか?
クラウドサービスにアップロードせず、自分のスマートフォンとパソコン間で大容量ファイルやフォルダを送る 同じオフィスの同僚に、書式付きテキストやリンクを共有する 共有ルームのリンクを使い、1回のセッションで複数人にファイルを配布する Dockerを使ってLAN内にプライベートなファイル転送サービスをセルフホストする
PrivyDrop のインストール方法は?
プロジェクトをクローンし、Redisをインストールします: git clone https://github.com/david-bai00/PrivyDrop.git バックエンドの依存関係をインストールし、バックエンドサービスを起動します: cd backend && npm install && npm run dev フロントエンドの依存関係をインストールし、新しいターミナルでフロントエンドアプリを起動します: cd frontend && pnpm install && pnpm dev ブラウザーで http://localhost:3002 を開いて共有を開始します
PrivyDrop はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/david-bai00/PrivyDrop

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

関連プロジェクト