miniserve
miniserve 是一个用 Rust 编写的单文件跨平台命令行 HTTP 文件服务器,下载即用,可快速把目录或单个文件通过 HTTP 分享出去,支持认证、上传、目录压缩下载、TLS、WebDAV 等实用功能。
爱鲜报评分
0 人评分
8.1k
星数
否
中文
Rust
主语言
是
活跃
88
贡献者
人工分析
EDITORIAL推荐理由
它把「临时分享文件」这件事做到了极致:单个二进制、零依赖、启动即用,比临时搭 Nginx 或 Python http.server 更省事。功能却一点不简陋,认证、上传、SPA 模式、TLS、WebDAV、二维码访问一应俱全,适合开发者日常传文件、局域网共享和临时演示。Rust + Actix 带来高性能与高并发,8k+ Star 也说明社区认可度不错。
适用场景
- 局域网内快速共享文件或目录
- 临时把构建产物、静态站点通过 HTTP 预览
- 给同事或设备分发安装包、镜像等大文件
- 手机拍照后直接上传到电脑
- 为 SPA 前端做本地静态服务与路由回退
优点
- 单二进制、零额外依赖,下载即用
- 内置正确 MIME 类型处理,开箱即用
- 支持用户名密码认证与哈希密码
- 支持文件上传、目录创建与目录打包下载
- 支持 TLS、WebDAV、SPA 模式、二维码访问等进阶能力
- Rust + Actix 实现,性能高、并发强
缺点
- 命令行参数较多,首次使用需要查阅帮助
- TLS 等部分能力受编译架构限制
- 默认无认证,公网暴露前需自行加 --auth 等保护
- 上传功能需显式开启,参数组合有细节(如 -u 与 -- 的用法)
miniserve 是什么
miniserve 是一个用 Rust 编写的单文件、跨平台命令行 HTTP 文件服务器。它的定位非常直接:当你只想「现在马上」把某些文件通过 HTTP 分享出去时,抓一个二进制文件跑起来就行,比临时配置 Nginx 或写脚本更省事。
项目基于 Rust 与 Actix 构建,性能好、并发强,目前在 GitHub 上已有 8k+ Star。
核心用法
最基本的用法就是指定要服务的路径:
# 服务一个目录
miniserve linux-distro-collection/
# 服务单个文件
miniserve linux-distro.iso
# 指定端口
miniserve -p 8080 /tmp/myshare
默认监听 8080 端口,启动后浏览器打开即可看到目录列表或文件内容。
常用能力
访问控制
--auth 用户名:密码:开启基础认证--auth 用户名:sha256:<哈希>:使用哈希密码,避免明文--auth-file auth.txt:从文件读取多组账号--random-route:生成随机路径,降低被扫到的概率
上传与目录管理
# 允许上传(注意 -- 用于区分参数)
miniserve -u -- .
# 允许上传并创建目录
miniserve --upload-files --mkdir .
上传接口也可通过 curl -F 调用,方便脚本化。
静态站点与 SPA
--index index.html:目录下存在该文件时直接返回,而不是列目录--spa --index index.html:非存在路径回退到 index,适配前端路由--pretty-urls:把/about映射到about.html
其他实用特性
- 目录可在线打包为
.tar.gz或.zip下载 - 支持 TLS(
--tls-cert/--tls-key) - 支持 WebDAV
- 支持 README.md 渲染
- 页面可显示二维码,手机扫码即可访问
- 支持
?search=关键词过滤文件 - 内置健康检查路由
/__miniserve_internal/healthcheck
适用人群
适合需要频繁在局域网或临时环境中分享文件的开发者、运维人员,以及想给前端静态站点做本地预览的同学。上手门槛低,但功能足够覆盖大多数临时服务场景。
注意事项
默认不开启认证,若在公网或不可信网络使用,建议配合 --auth、--random-route 或 TLS 使用;上传相关参数组合有细节,使用前建议先看 --help。
评论
- 暂无评论,来写第一条吧。