Repolode
matze

matze/wastebin

axumとSQLiteを使ったRust製の軽量なセルフホスト型pastebin。暗号化、期限設定、閲覧後の自動削除に対応します。

代替できる製品:Pastebin

スター
885
フォーク
68
未解決の Issue
28
最終コミット
17 日前

これは何?

wastebinは、ブラウザーまたはHTTP API経由でテキストスニペット、ログ、コードを共有できるセルフホスト型pastebinです。axumとSQLiteデータベースを基盤とし、メモリ使用量を抑えた単一バイナリとして提供されます。ペーストはzstdで圧縮され、syntectにより170以上の言語のシンタックスハイライトに対応します。

ペーストはChaCha20Poly1305で暗号化でき、パスワードにはargon2によるハッシュ化を適用できます。また、期限を設定したり、初回閲覧後に削除したり、作成した匿名ユーザー自身が削除したりできます。Markdownのペーストは、GitHub風のテーブル、タスクリスト、補足ブロックを含むHTMLとしてレンダリングでき、raw HTMLはammoniaでサニタイズされます。インターフェースにはライト/ダークモードそれぞれ9種類のカラーテーマがあり、スマートフォンでペーストを開くためのQRコードも表示できます。

このプロジェクトにはユーザーアカウント、管理機能、任意のファイルアップロード機能はありません。インターネットに公開する場合は、レート制限が可能なリバースプロキシの背後に配置するようREADMEで推奨されています。設定は環境変数で行い、付属のwastebin-ctlツールを使えばデータベース内のエントリーを直接一覧表示、削除、または一括削除できます。

主な機能

  • 01axumとSQLiteを使ったバックエンドを単一バイナリで提供
  • 02zstd圧縮と170以上の言語のシンタックスハイライト
  • 03テーブル、タスクリスト、補足ブロックに対応したMarkdownレンダリング
  • 04argon2でハッシュ化したパスワードを使うChaCha20Poly1305暗号化
  • 05期限切れ、閲覧後の自動削除、作成者による削除に対応
  • 06ライト/ダークモードそれぞれ9種類のカラーテーマとQRコード表示

ユースケース

  • プライベートサーバーでチームメンバーとコードスニペットやログを共有する
  • curlやシェル関数を使って、ターミナルのコマンド出力を貼り付ける
  • 期限切れや1回の閲覧後に消える、暗号化された一時メモを送る
  • Dockerまたはdocker-composeで小規模な社内向けpastebinをホストする

クイックスタート

  1. 1

    rustup で Rust 2024 ツールチェーン(Rust 1.85 以降)をインストールする

  2. 2

    cargo でサーバーをリリースモードでビルドして実行する

    cargo run --release

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

  • ユーザー認証や管理者向け機能はありません。また、レート制限やリバースプロキシなしでインターネットに公開しないよう README で注意喚起されています。
  • デフォルトのデータベースパスはメモリ上にあるため、WASTEBIN_DATABASE_PATH を設定しない限り、再起動すると投稿内容は失われます。

収録されている特集

トピック

よくある質問

wastebin とは?
axumとSQLiteを使ったRust製の軽量なセルフホスト型pastebin。暗号化、期限設定、閲覧後の自動削除に対応します。 wastebinは、ブラウザーまたはHTTP API経由でテキストスニペット、ログ、コードを共有できるセルフホスト型pastebinです。axumとSQLiteデータベースを基盤とし、メモリ使用量を抑えた単一バイナリとして提供されます。ペーストはzstdで圧縮され、syntectにより170以上の言語のシンタックスハイライトに対応します。
wastebin は無料で使えますか?ライセンスは?
wastebin は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
wastebin は今もメンテナンスされていますか?
活発にメンテナンス中。wastebin の最終コミットは 2026年10月20日 です。
wastebin は何に使えますか?
プライベートサーバーでチームメンバーとコードスニペットやログを共有する curlやシェル関数を使って、ターミナルのコマンド出力を貼り付ける 期限切れや1回の閲覧後に消える、暗号化された一時メモを送る Dockerまたはdocker-composeで小規模な社内向けpastebinをホストする
wastebin のインストール方法は?
rustup で Rust 2024 ツールチェーン(Rust 1.85 以降)をインストールする cargo でサーバーをリリースモードでビルドして実行する: cargo run --release
wastebin はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/matze/wastebin

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

関連プロジェクト