Repolode
orhun

orhun/rustypaste

Rust製の軽量なセルフホスト型ファイルアップロード/Pastebinサービス。ファイルはローカルのファイルシステムに保存し、データベースは不要です。

スター
1,213
フォーク
94
未解決の Issue
19
最終コミット
3 日前

これは何?

Rustypasteでは、curlなどのHTTPクライアントでファイルをアップロードすると、共有用の短いURLが返されます。URL短縮や、URLを指定してサーバーにリモートファイルを取得させる機能にも対応しています。アップロードしたファイルはファイルシステムに保存されるため、データベースは不要です。単一バイナリとDockerイメージで配布されています。

ファイル名や保存期間は、必要に応じて設定できます。ファイル名には、ペットの名前、英数字の文字列、ランダムなサフィックスを使ったランダム名を指定できます。リンクの自動失効や、期限切れファイルの定期削除にも対応しています。ワンショットリンクは一度だけ閲覧でき、ファイルはArgon2idでハッシュ化したパスワードで保護できます。認証トークン、削除トークンで保護されたDELETEエンドポイント、任意で有効にできるファイル一覧エンドポイントも利用できます。

設定はホットリロードに対応したTOMLファイルで行います。拡張子からMIMEタイプを推測し、上書きやブラックリストへの登録ができます。また、スクリプトの実行を防ぐため、テキスト系のMIMEタイプはプレーンテキストとして配信されます。HTMLのアップロードフォームなど、カスタムのランディングページも設定できます。

主な機能

  • 01curlやHTTP経由でファイルをアップロードし、共有用の短いURLを取得
  • 02データベース不要のファイルシステムストレージ
  • 03任意のランダムなファイル名、自動失効、ワンショットリンク
  • 04Argon2idハッシュを使ったパスワード保護ファイル
  • 05認証トークンと、トークンで保護されたDELETEエンドポイント
  • 06MIMEタイプの判定、上書き、ブラックリスト登録
  • 07ホットリロード対応のTOML設定とDockerイメージ

ユースケース

  • 自分のマシンやVPSで、プライベートなPastebinやファイル共有サーバーを運用する
  • 自動で失効させたいスクリーンショットや一時ファイルを共有する
  • 一度しか開けないワンタイムのダウンロードリンクを送る
  • サードパーティのサービスを使わずに、パスワード保護したファイルを共有する

クイックスタート

  1. 1

    Cargoでcrates.ioからインストールする

    cargo install rustypaste
  2. 2

    作業ディレクトリにconfig.tomlを作成し(リポジトリのconfig.tomlを参照)、サーバーを起動する

    rustypaste
  3. 3

    起動中のサーバーにファイルをアップロードする

    curl -F "file=@x.txt" "<server_address>"

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

  • ファイルはデータベースを使わずローカルファイルシステムに保存されるため、単一サーバーでのセルフホスティングに適しています。

収録されている特集

トピック

#file-sharing#pastebin#file-upload#self-hosted#rust#url-shortener#file-upload-server#file-upload-service#file-uploading#hacktoberfest

よくある質問

rustypaste とは?
Rust製の軽量なセルフホスト型ファイルアップロード/Pastebinサービス。ファイルはローカルのファイルシステムに保存し、データベースは不要です。 Rustypasteでは、curlなどのHTTPクライアントでファイルをアップロードすると、共有用の短いURLが返されます。URL短縮や、URLを指定してサーバーにリモートファイルを取得させる機能にも対応しています。アップロードしたファイルはファイルシステムに保存されるため、データベースは不要です。単一バイナリとDockerイメージで配布されています。
rustypaste は無料で使えますか?ライセンスは?
rustypaste は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
rustypaste は今もメンテナンスされていますか?
活発にメンテナンス中。rustypaste の最終コミットは 2026年11月4日 です。
rustypaste は何に使えますか?
自分のマシンやVPSで、プライベートなPastebinやファイル共有サーバーを運用する 自動で失効させたいスクリーンショットや一時ファイルを共有する 一度しか開けないワンタイムのダウンロードリンクを送る サードパーティのサービスを使わずに、パスワード保護したファイルを共有する
rustypaste のインストール方法は?
Cargoでcrates.ioからインストールする: cargo install rustypaste 作業ディレクトリにconfig.tomlを作成し(リポジトリのconfig.tomlを参照)、サーバーを起動する: rustypaste 起動中のサーバーにファイルをアップロードする: curl -F "file=@x.txt" "<server_address>"
rustypaste はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/orhun/rustypaste

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

関連プロジェクト