AX 爱鲜报

miniserve

miniserve 是一个用 Rust 编写的单文件跨平台命令行 HTTP 文件服务器,下载即用,可快速把目录或单个文件通过 HTTP 分享出去,支持认证、上传、目录压缩下载、TLS、WebDAV 等实用功能。

爱鲜报评分

0.0

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。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。