6 个版本
0.2.0 | 2022年11月6日 |
---|---|
0.1.4 | 2022年10月30日 |
#1323 in HTTP服务器
28KB
553 行
Zy
最小化且速度极快的文件服务器。真的,这次。
功能
- 单页应用程序支持
- 部分响应 (范围 支持)
- 跨源资源共享 (CORS)
- 自动HTTP压缩 (Zstd, Gzip, Brotli, Deflate)
- 动态 缓存控制 (ETag, Last-Modified, Cache-Control)
- 自动提供
index.html
文件 - 合理的默认设置
- 无访问隐藏文件权限
- 无访问基础目录外内容权限
- 无访问基础目录外符号链接权限
安装
您可以从 发布页面 下载任何预编译的二进制文件。
或者如果您已经安装了Rust,您可以使用 cargo
安装它
- 请注意,
zy
支持的Rust最低版本是1.59.0
。- 此外,由于包含调试符号,二进制文件可能比预期的大。这是故意的。要删除调试符号并因此减小文件大小,您可以用
--profile slim
运行它,或者简单地运行strip
。
cargo install zy
或者,您也可以直接从GitHub构建 zy
的最新版本。
cargo install --git https://github.com/miraclx/zy.git
用法
zy
这将默认在 https://127.0.0.1:3000 上提供服务您的当前目录。
...您也可以指定不同的端口或基础目录
zy /path/to/serve
...或者可能不同的地址
zy -l 5000 -l 127.0.0.1:8080 -l 192.168.1.25
配置
您可以通过运行 zy --help
来查看所有可用选项。
$ zy --help
Zy 0.2.0
Minimal and blazing-fast file server.
USAGE:
zy [OPTIONS] [DIR]
ARGS:
<DIR> Directory to serve [default: .]
OPTIONS:
-l, --listen <URI> Sets the address to listen on (repeatable) [default: 127.0.0.1:3000]
Valid: `3000`, `127.0.0.1`, `127.0.0.1:3000` [env: PORT]
-s, --spa Run as a Single Page Application
-i, --index <FILE> Index file to serve from the base directory [default: index.html]
--404 <FILE> 404 file to serve from the base directory [default: 404.html]
-c, --cache <TIME> Cache time (max-age) [default: 1h]
Valid: `10` for 10 seconds, `1h`, `1year 6months`
--no-cors Disable Cross-Origin Resource Sharing (CORS)
-a, --all Serve hidden files
-f, --follow-links Follow symlinks outside of the base directory (unsafe)
-v, --verbose Be verbose
-x, --confirm-exit Require confirmation before exiting on Ctrl+C
-Z, --anonymize Hide the `Server` and `X-Powered-By` headers [alias: `--anon`]
-h, --help Print help information
-V, --version Print version information
致谢
Zy最初受到sfz、serve和http-server的启发。它使用Rust编写,并使用actix作为Web框架。
贡献
除非你明确声明,否则你提交给作品并有意包含在内的任何贡献,根据Apache-2.0许可证的定义,将以下双许可,不附加任何额外的条款或条件。
许可证
许可以下之一
- Apache许可证2.0版本(LICENSE-APACHE或http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
由你选择。
依赖项
~23–35MB
~621K SLoC