miniserve - 一种通过 HTTP 提供文件和目录的 CLI 工具
GitHub - svenstaro/miniserve:🌟当您真的只想现在通过 HTTP 提供一些文件时!
miniserve - 一种通过 HTTP 提供文件和目录的 CLI 工具

当您真的只想现在通过 HTTP 提供一些文件时!
miniserve 是一个小型的、独立的跨平台 CLI 工具,它允许你只获取二进制文件并通过 HTTP 提供一些文件。 有时,这只是一种比正确做事更实用、更快捷的方法。
- 易于使用
- 正常工作:开箱即用地正确处理 MIME 类型
- 单个二进制插入式,无需额外的依赖项
- 使用用户名和密码(以及哈希密码)的身份验证支持
- 超快且高度并行(感谢 Rust 和 Actix)
- 文件夹下载(动态压缩为 或
.tar.gz.zip) - 文件上传
- 目录创建
- 漂亮的主题(支持浅色和深色主题)
- 扫描二维码快速访问
- Shell 完成
- 合理且安全的违约
- TLS(适用于支持的体系结构)
- 支持 README.md 渲染,如 GitHub 上
- 范围请求
- WebDAV 支持
- Healthcheck 路由(在
/__miniserve_internal/healthcheck)
用法:miniserve [选项] [路径]
参数: [路径] 要提供的路径
[环境变量:MINISERVE_PATH=]
选项: -v, --verbose 显示详细信息,包括输出访问日志
[环境变量:MINISERVE_VERBOSE=]
--index <INDEX>
要提供的目录索引文件名,如 "index.html"
通常,当 miniserve 提供目录时,它会创建该目录的文件列表。然而,如果目录中包含此文件,miniserve 将提供该文件。
[环境变量:MINISERVE_INDEX=]
--spa
启用 SPA(单页面应用)模式
这将导致通过 --index 提供的文件处理所有不存在的文件路径。实际上,这将在发生 404 错误时提供索引文件,以便 SPA 路由器来处理请求。
[环境变量:MINISERVE_SPA=]
--pretty-urls
启用美化 URL 模式
这将导致服务器提供与路径指示的等效 `.html` 文件。
`/about` 将尝试查找 `about.html` 并提供它。
[环境变量:MINISERVE_PRETTY_URLS=]
-p, --port <PORT> 使用的端口
[环境变量:MINISERVE_PORT=]
[默认值:8080]
-i, --interfaces <INTERFACES> 监听的接口
[环境变量:MINISERVE_INTERFACE=]
-a, --auth <AUTH> 设置身份验证
当前支持的格式:
username:password, username:sha256:hash, username:sha512:hash
(例如:joe:123, joe:sha256:a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3)
[环境变量:MINISERVE_AUTH=]
--auth-file <AUTH_FILE>
从文件中读取身份验证值
示例文件内容:
joe:123
bob:sha256:a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3
bill:
[环境变量:MINISERVE_AUTH_FILE=]
--route-prefix <ROUTE_PREFIX>
使用特定的路由前缀
[环境变量:MINISERVE_ROUTE_PREFIX=]
--random-route
生成一个随机的 6 位十六进制路由
[环境变量:MINISERVE_RANDOM_ROUTE=]
-P, --no-symlinks 隐藏符号链接并防止它们被跟随
[环境变量:MINISERVE_NO_SYMLINKS=]
-H, --hidden 显示隐藏文件
[环境变量:MINISERVE_HIDDEN=]
-S, --default-sorting-method <DEFAULT_SORTING_METHOD> 文件列表的默认排序方法
[环境变量:MINISERVE_DEFAULT_SORTING_METHOD=]
[默认值:name]
可选值:
- name: 按名称排序
- size: 按大小排序
- date: 按最后修改日期排序(自然排序:按字母数字顺序)
-O, --default-sorting-order <DEFAULT_SORTING_ORDER> 文件列表的默认排序顺序
[环境变量:MINISERVE_DEFAULT_SORTING_ORDER=]
[默认值:desc]
可选值:
- asc: 升序
- desc: 降序
-c, --color-scheme <COLOR_SCHEME> 默认配色方案
[环境变量:MINISERVE_COLOR_SCHEME=]
[默认值:squirrel]
[可选值:squirrel, archlinux, zenburn, monokai]
-d, --color-scheme-dark <COLOR_SCHEME_DARK> 默认深色配色方案
[环境变量:MINISERVE_COLOR_SCHEME_DARK=]
[默认值:archlinux]
[可选值:squirrel, archlinux, zenburn, monokai]
-q, --qrcode 启用二维码显示
[环境变量:MINISERVE_QRCODE=]
-u, --upload-files [<ALLOWED_UPLOAD_DIR>] 启用文件上传(并可选择为哪个目录指定)
提供的路径不是物理文件系统路径,而是相对于提供目录的路径。例如,如果提供的目录是 '/home/hello',则设置为 '/upload' 以允许上传到 '/home/hello/upload'。当通过环境变量指定时,始终需要指定路径。
[环境变量:MINISERVE_ALLOWED_UPLOAD_DIR=]
--web-upload-files-concurrency <WEB_UPLOAD_CONCURRENCY>
配置网站访问时并发上传的数量。必须启用 upload-files 选项才能使此设置生效。
[环境变量:MINISERVE_WEB_UPLOAD_CONCURRENCY=]
[默认值:0]
-U, --mkdir 启用创建目录
[环境变量:MINISERVE_MKDIR_ENABLED=]
-m, --media-type <MEDIA_TYPE> 指定可上传的媒体类型
[环境变量:MINISERVE_MEDIA_TYPE=]
[可选值:image, audio, video]
-M, --raw-media-type <MEDIA_TYPE_RAW> 直接指定可上传的媒体类型表达式
[环境变量:MINISERVE_RAW_MEDIA_TYPE=]
-o, --overwrite-files 启用在文件上传时覆盖现有文件
[环境变量:MINISERVE_OVERWRITE_FILES=]
-r, --enable-tar 启用未压缩的 tar 存档生成
[环境变量:MINISERVE_ENABLE_TAR=]
-g, --enable-tar-gz 启用 gz 压缩的 tar 存档生成
[环境变量:MINISERVE_ENABLE_TAR_GZ=]
-z, --enable-zip 启用 zip 存档生成
警告:压缩大目录时可能会导致内存溢出异常,因为 zip 生成是在内存中完成的,无法实时发送
[环境变量:MINISERVE_ENABLE_ZIP=]
-C, --compress-response 压缩响应
警告:启用此选项可能会因 CPU 开销而减慢传输,因此默认禁用。
仅在用户的连接较慢或希望减少服务器带宽使用时启用此选项。
[环境变量:MINISERVE_COMPRESS_RESPONSE=]
-D, --dirs-first 首先列出目录
[环境变量:MINISERVE_DIRS_FIRST=]
-t, --title <TITLE> 在页面标题和标题中显示的内容
[环境变量:MINISERVE_TITLE=]
--header <HEADER>
在响应中插入自定义头部。每个头部以 'Header:Value' 对指定。此参数可以多次使用,以添加多个头部。
示例:--header "Header1:Value1" --header "Header2:Value2"(如果头部已经设置或先前插入,则不会被覆盖)
[环境变量:MINISERVE_HEADER=]
-l, --show-symlink-info 在目录列表中可视化符号链接
[环境变量:MINISERVE_SHOW_SYMLINK_INFO=]
-F, --hide-version-footer 隐藏版本页脚
[环境变量:MINISERVE_HIDE_VERSION_FOOTER=]
--hide-theme-selector
隐藏主题选择器
[环境变量:MINISERVE_HIDE_THEME_SELECTOR=]
-W, --show-wget-footer 如果启用,显示 wget 命令以递归下载当前目录
[环境变量:MINISERVE_SHOW_WGET_FOOTER=]
--print-completions <shell>
为 shell 生成完成文件
[可选值:bash, elvish, fish, powershell, zsh]
--print-manpage
生成 man 页面
--tls-cert <TLS_CERT>
使用的 TLS 证书
[环境变量:MINISERVE_TLS_CERT=]
--tls-key <TLS_KEY>
使用的 TLS 私钥
[环境变量:MINISERVE_TLS_KEY=]
--readme
启用目录中 README.md 的渲染
[环境变量:MINISERVE_README=]
-I, --disable-indexing 禁用索引
这将防止生成目录列表并返回错误。
[环境变量:MINISERVE_DISABLE_INDEXING=]
--enable-webdav
启用只读 WebDAV 支持(PROPFIND 请求)
当前与 -P|--no-symlinks 不兼容(参见 https://github.com/messense/dav-server-rs/issues/37)
[环境变量:MINISERVE_ENABLE_WEBDAV=]
-h, --help 打印帮助(使用 '-h' 查看摘要)
-V, --version 打印版本

浙公网安备 33010602011771号