Repolode
svenstaro

svenstaro/miniserve

HTTP経由でファイルやディレクトリをすぐに公開できる、認証・アップロード・TLSにも対応した単一バイナリのRust製CLI。

スター
7,922
フォーク
401
未解決の Issue
93
最終コミット
24 日前

これは何?

miniserveは、本格的なWebサーバーを用意せずにHTTP経由でファイルを共有できる、小さなコマンドラインツールです。ディレクトリまたは単一ファイルを指定すると、一覧表示を有効にして公開するか、指定したindexファイルを配信します。自己完結した単一バイナリとして提供されており、Linux、macOS、Windowsに対応するほか、Cargo、Homebrew、Docker、Podmanからも利用できます。

基本的な配信機能に加え、ユーザー名とパスワードによる認証(平文、またはSHA-256/SHA-512ハッシュ)、ファイルやフォルダのアップロード、ディレクトリの作成、有効化した場合のファイル削除、フォルダのtar、tar.gz、zip形式でのオンデマンドダウンロードなど、臨時のファイル共有でよく必要になる機能を備えています。また、TLSでの実行、カスタムレスポンスヘッダーの追加、フォールバックルーティングによるSPAの配信、読み取り専用WebDAVエンドポイントの公開にも対応しています。

RustとActix webフレームワークを使って開発されています。Python組み込みのHTTPサーバーやnetcatなどの手軽な代替手段と比較し、MIMEタイプの処理が優れていることや、Windowsでのセットアップが簡単なことを特徴として挙げています。

主な機能

  • 01ディレクトリまたは単一ファイルを、閲覧可能な一覧表示や任意のindexファイルを使って公開できます。
  • 02ユーザー名とパスワードによる認証に対応し、パスワードはSHA-256またはSHA-512でハッシュ化できます。
  • 03指定したパスに制限して、ファイルのアップロード、ディレクトリの作成、任意でファイルの削除ができます。
  • 04フォルダをオンデマンドでtar、tar.gz、zipアーカイブとしてダウンロードできます。
  • 05TLS、カスタムレスポンスヘッダー、SPAのフォールバックルーティング、読み取り専用WebDAVに対応しています。
  • 06検索フィルタリング、QRコード表示、ライト/ダークテーマ、シェル補完を備えています。

ユースケース

  • 同じネットワーク上の相手と、大容量のISOファイルやフォルダを手早く共有する。
  • テスト用に、静的サイトやシングルページアプリのビルドをローカルで配信する。
  • ブラウザ経由で、スマートフォンからノートPCに写真をアップロードできるようにする。
  • 自宅サーバー上で、パスワード保護されたファイル共有をsystemd経由でデーモンとして実行する。

クイックスタート

  1. 1

    miniserveのバイナリを入手します(READMEからCrates.ioとDocker Hubへのリンクがあります)

  2. 2

    ディレクトリを公開します

    miniserve linux-distro-collection/

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

  • ZIPアーカイブはメモリ上で生成されるため、大きなディレクトリではメモリ不足エラーが発生することがあります。
  • TLSは対応アーキテクチャでのみ利用できます。

収録されている特集

トピック

よくある質問

miniserve とは?
HTTP経由でファイルやディレクトリをすぐに公開できる、認証・アップロード・TLSにも対応した単一バイナリのRust製CLI。 miniserveは、本格的なWebサーバーを用意せずにHTTP経由でファイルを共有できる、小さなコマンドラインツールです。ディレクトリまたは単一ファイルを指定すると、一覧表示を有効にして公開するか、指定したindexファイルを配信します。自己完結した単一バイナリとして提供されており、Linux、macOS、Windowsに対応するほか、Cargo、Homebrew、Docker、Podmanからも利用できます。
miniserve は無料で使えますか?ライセンスは?
miniserve は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
miniserve は今もメンテナンスされていますか?
活発にメンテナンス中。miniserve の最終コミットは 2026年10月1日 です。
miniserve は何に使えますか?
同じネットワーク上の相手と、大容量のISOファイルやフォルダを手早く共有する。 テスト用に、静的サイトやシングルページアプリのビルドをローカルで配信する。 ブラウザ経由で、スマートフォンからノートPCに写真をアップロードできるようにする。 自宅サーバー上で、パスワード保護されたファイル共有をsystemd経由でデーモンとして実行する。
miniserve のインストール方法は?
miniserveのバイナリを入手します(READMEからCrates.ioとDocker Hubへのリンクがあります) ディレクトリを公開します: miniserve linux-distro-collection/
miniserve はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/svenstaro/miniserve

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

関連プロジェクト