Repolode
AndrewPaglusch

AndrewPaglusch/FlashPaper

データベースサーバー不要で、パスワードや秘密情報を一度だけ共有できるセルフホスト型の暗号化Webアプリです。

スター
525
フォーク
73
未解決の Issue
11
最終コミット
17 日前

これは何?

FlashPaperでは、パスワードや秘密情報を貼り付けると、サーバー側のリクエスト処理で暗号化され、一度だけ使えるリンクが発行されます。受信者が秘密情報を取得するとストレージから削除されるため、読み取れるのは一度だけです。

暗号化にはAES-256-CBCを使用し、秘密情報ごとに異なるキーとIVを割り当てるほか、サーバー共通の静的キーも使用します。取得キーはbcryptで検証されるため、URLの改ざんを防げます。データはローカルのSQLiteファイルに保存され、別途データベースサーバーを用意する必要はありません。

Docker、または従来型のPHP 7.0以降のWebサーバーで動作します。シンプルなcurl APIから送信することもでき、リンクはJSONで返されます。未取得の秘密情報を自動削除する設定や、リバースプロキシ用のカスタムベースURL、ロゴやタイトルによるブランディングにも対応しています。

主な機能

  • 01秘密情報ごとに固有のキーとIVを使い、AES-256-CBCで暗号化します。
  • 02秘密情報は一度取得されるとデータベースから削除されます。
  • 03取得キーをbcryptで検証し、URLの改ざんを検知します。
  • 04データはSQLiteに保存されるため、別途データベースサーバーは不要です。
  • 05curlから利用できるAPIを備え、一度だけ使えるURLをJSONで返します。
  • 06設定した日数の範囲内で、未読の秘密情報を自動削除します。

ユースケース

  • パスワードをチャットやメールの履歴に残さず、同僚に送る。
  • チームや組織向けに、プライベートなセルフホスト型の秘密情報共有サービスを運用する。
  • curl APIを使い、スクリプトやCIジョブから認証情報を共有する。

クイックスタート

  1. 1

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

  2. 2

    docker-compose.ymlを編集して、必要に応じてカスタマイズします

  3. 3

    FlashPaperを起動します

    docker-compose up -d

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

  • SSL/TLSを終端するには、ご自身でリバースプロキシを設定する必要があります。
  • セルフホスティングが必要なため、サーバーまたはDockerと、いくつかのセットアップ作業が必要です。

収録されている特集

トピック

#secret-sharing#encryption#one-time-secret#zero-knowledge#php#self-hosted#aes-256#aes#bcrypt#ciphertext

よくある質問

FlashPaper とは?
データベースサーバー不要で、パスワードや秘密情報を一度だけ共有できるセルフホスト型の暗号化Webアプリです。 FlashPaperでは、パスワードや秘密情報を貼り付けると、サーバー側のリクエスト処理で暗号化され、一度だけ使えるリンクが発行されます。受信者が秘密情報を取得するとストレージから削除されるため、読み取れるのは一度だけです。
FlashPaper は無料で使えますか?ライセンスは?
FlashPaper は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
FlashPaper は今もメンテナンスされていますか?
活発にメンテナンス中。FlashPaper の最終コミットは 2026年10月22日 です。
FlashPaper は何に使えますか?
パスワードをチャットやメールの履歴に残さず、同僚に送る。 チームや組織向けに、プライベートなセルフホスト型の秘密情報共有サービスを運用する。 curl APIを使い、スクリプトやCIジョブから認証情報を共有する。
FlashPaper のインストール方法は?
リポジトリからdocker-compose.ymlをダウンロードします docker-compose.ymlを編集して、必要に応じてカスタマイズします FlashPaperを起動します: docker-compose up -d
FlashPaper はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/AndrewPaglusch/FlashPaper

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

関連プロジェクト