Repolode
svenstaro

svenstaro/miniserve

一个单文件 Rust 命令行工具,可立即通过 HTTP 共享文件和目录,支持认证、上传和 TLS。

Star
7,922
Fork
401
未关闭 Issue
93
最近提交
24天前

这是什么?

miniserve 是一个小巧的命令行工具,无需搭建完整的 Web 服务器,就能通过 HTTP 共享文件。指定一个目录或单个文件后,它会提供可浏览的文件列表,也可以改为返回指定的首页文件。它以单个自包含的可执行文件分发,支持 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提供目录或单文件服务,可浏览文件列表,也可指定自定义首页文件。
  • 02支持用户名密码认证,包括 SHA-256 和 SHA-512 哈希密码。
  • 03支持文件上传、新建目录,以及可选的删除功能,并可限制到指定路径。
  • 04可将文件夹即时打包为 tar、tar.gz 或 zip 下载。
  • 05支持 TLS、自定义响应头、SPA 回退路由和只读 WebDAV。
  • 06内置名称搜索、二维码显示、明暗主题和 Shell 自动补全。

适用场景

  • 在同一局域网内快速把大体积 ISO 或文件夹分享给他人。
  • 在本地提供静态网站或单页应用构建产物进行测试。
  • 让手机通过浏览器把照片上传到电脑。
  • 在家庭服务器上通过 systemd 运行带密码保护的文件共享服务。

快速上手

  1. 1

    获取 miniserve 二进制文件(README 中提供了 Crates.io 和 Docker Hub 链接)

  2. 2

    提供一个目录的访问

    miniserve linux-distro-collection/

使用前须知

  • ZIP 压缩在内存中完成,因此压缩大目录可能导致内存不足。
  • TLS 仅支持部分架构。

收录于专题

标签

常见问题

miniserve 是什么?
一个单文件 Rust 命令行工具,可立即通过 HTTP 共享文件和目录,支持认证、上传和 TLS。 miniserve 是一个小巧的命令行工具,无需搭建完整的 Web 服务器,就能通过 HTTP 共享文件。指定一个目录或单个文件后,它会提供可浏览的文件列表,也可以改为返回指定的首页文件。它以单个自包含的可执行文件分发,支持 Linux、macOS、Windows,并可通过 Cargo、Homebrew、Docker 和 Podman 安装。
miniserve 可以免费使用吗?用的什么许可证?
miniserve 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
miniserve 还在维护吗?
活跃维护中。miniserve 最近一次提交是在 2026年10月1日。
miniserve 适合用来做什么?
在同一局域网内快速把大体积 ISO 或文件夹分享给他人。 在本地提供静态网站或单页应用构建产物进行测试。 让手机通过浏览器把照片上传到电脑。 在家庭服务器上通过 systemd 运行带密码保护的文件共享服务。
miniserve 怎么安装和运行?
获取 miniserve 二进制文件(README 中提供了 Crates.io 和 Docker Hub 链接) 提供一个目录的访问: miniserve linux-distro-collection/
在哪里获取 miniserve?
源代码和安装说明在 GitHub 上:https://github.com/svenstaro/miniserve

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目