15个不稳定版本
0.7.1 | 2022年9月20日 |
---|---|
0.7.0 | 2022年1月20日 |
0.6.2 | 2021年10月10日 |
0.6.1 | 2021年7月10日 |
0.0.3 | 2018年3月7日 |
在 HTTP服务器 中排名 769
每月下载量 55
140KB
2K SLoC
sfz,或称为 Static File Zerver,是一个简单的命令行工具,用于为您服务静态文件。
名称 sfz 源自音乐中带有重音的音符 Sforzando,意为“突然有力。”
特性
- 目录列表
- 部分响应(范围请求)
- 带有缓存验证的条件请求
- 跨源资源共享
- 自动HTTP压缩(Brotli、Gzip、Deflate)
- 自动渲染
index.html
- 尊重
.gitignore
文件 - 自定义路径前缀
安装
自动
macOS
如果您是 macOS Homebrew 用户,您可以从自定义tap安装sfz
brew tap weihanglo/sfz https://github.com/weihanglo/sfz.git
brew install sfz
免责声明:Linuxbrew上的公式尚未完全测试。
Cargo
如果您是 Rust程序员,sfz在crates.io上通过Cargo提供。
cargo install sfz
您还可以直接从GitHub安装sfz的最新版本(或特定提交)。
cargo install --git https://github.com/weihanglo/sfz.git
手册
预构建的二进制文件
预构建二进制文件的存档可在GitHub发行版中找到,适用于Linux、macOS和Windows。下载适用于您系统的兼容二进制文件。为了方便起见,请确保将sfz放置在$PATH下,以便从命令行访问它。
从源码构建
sfz是用Rust编写的。您需要安装Rust才能编译它。
$ git clone https://github.com/weihanglo/sfz.git
$ cd sfz
$ cargo build --release
$ ./target/release/sfz --version
0.7.1
用法
启动文件服务的最简单方法是运行以下命令
sfz [FLAGS] [OPTIONS] [path]
上面的命令默认将在 127.0.01:5000
上为您当前的工作目录提供服务。
如果您想服务另一个目录,请使用绝对路径或相对路径传递带有 [path]
位置参数的命令。
sfz /usr/local
# Serve files under `/usr/local` directory.
#
# You can press ctrl-c to exit immediately.
标志和选项
sfz旨在简单但可配置。以下是可用选项列表
USAGE:
sfz [OPTIONS] [path]
ARGS:
<path> Path to a directory for serving files [default: .]
OPTIONS:
-a, --all Serve hidden and dot (.) files
-b, --bind <address> Specify bind address [default: 127.0.0.1]
-c, --cache <seconds> Specify max-age of HTTP caching in seconds [default: 0]
-C, --cors Enable Cross-Origin Resource Sharing from any origin (*)
--coi Enable Cross-Origin isolation
-h, --help Print help information
-I, --no-ignore Don't respect gitignore file
-L, --follow-links Follow symlinks outside current serving base path
--no-log Don't log any request/response information.
-p, --port <port> Specify port to listen on [default: 5000]
--path-prefix <path> Specify an url path prefix, helpful when running behing a reverse
proxy
-r, --render-index Render existing index.html when requesting a directory.
-V, --version Print version information
-Z, --unzipped Disable HTTP compression
贡献
非常欢迎贡献!请随意打开问题或直接发送拉取请求。
鸣谢
sfz最初受到另一个静态服务工具serve的启发,sfz的目录列表UI主要借鉴自GitHub。
sfz建立在令人惊叹的Rust社区之上。感谢所有Rust和crates贡献者。
许可证
本项目采用以下其中之一进行许可
- Apache License,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的您有意提交给sfz的任何贡献,将按照上述方式双许可,不附加任何额外条款或条件。
依赖项
~24–37MB
~734K SLoC