#服务器 #https服务器 #https #http #文件服务器 #tls #网络

app ssfs

简单的HTTPS静态文件服务器,包含嵌入式自签名的证书

1个不稳定版本

0.1.0 2023年4月9日

#17 in #https服务器

MIT/Apache

23KB
67

安全静态文件服务器

带有嵌入式自签名证书的静态文件HTTPS服务器

安装

使用cargo安装

cargo install ssfs

或从源代码构建

git clone https://github.com/0xor0ne/ssfs
cd ssfs
cargo build --release
# executable in target/release/ssfs

使用方法

通用用法

ssfs [--port <listening_port>] [--ip <binding_ip_address>]

--port--ip 是可选的,它们的默认值是

  • --port: 8443
  • --ip: 0.0.0.0

ssfs 将为其当前工作目录及其子目录中存在的文件提供服务。

示例

以下示例假设 ssfs 在当前 $PATH 中。如果不是这种情况,请通过指定可执行文件的完整路径来运行 ssfs,或者将 ssfs 复制到包含要服务的文件的目录中,并使用 ./ssfs 运行它。

在端口9000上运行 ssfs

ssfs --port 9000

您可以使用 curl 并使用 --insecure 选项连接到服务器

curl --insecure https://<server_ip>:9000/

您可以通过文件的路径来下载特定的文件(例如 path/to/file.txt

curl --insecure https://<server_ip>:9000/path/to/file.txt

以下是服务器打印的日志示例

Starting server at: https://0.0.0.0:9000
[2023-04-09T15:59:47Z INFO  actix_server::builder] starting 10 workers
[2023-04-09T15:59:47Z INFO  actix_server::server] Actix runtime found; starting in Actix runtime
[2023-04-09T15:59:54Z INFO  ssfs] 127.0.0.1 curl/7.79.1 GET /path/to/file.txt HTTP/2.0 /path/to/file.txt

您也可以使用标准网络浏览器连接到服务器,并将浏览器设置为信任自签名证书。

证书和密钥

ssfs 随带预生成的服务器证书和密钥。它们位于

  • assets/cert.pem
  • assets/key.pem

这两个文件在构建 ssfs 可执行文件时嵌入。

如果您想使用不同的证书和密钥,可以使用以下脚本来生成一对新的证书和密钥

./scripts/generate_cert_and_key.sh

许可

许可方式任选其一

贡献

除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交的任何旨在包含在作品中的贡献,将双重授权如上所述,不附加任何额外条款或条件。

依赖项

~25–38MB
~771K SLoC