#http #server #cli #authentication

bin+lib scratch-server

简单 HTTP 服务器

5 个版本 (重大更改)

0.6.0 2024年7月13日
0.5.0 2024年7月7日
0.4.0 2024年6月29日
0.3.0 2024年6月16日
0.1.0 2024年5月25日

#1162 in 命令行工具

每月下载量 37

MIT 许可证

60KB
1.5K SLoC

简单 Http 服务器

使用 Rust 从头开始编写的简单 HTTP 服务器。实现了 API 端点,可以用于浏览文件系统目录、上传和下载文件。

特性

  • 多线程
  • 动态路由
  • 文件上传/下载
  • 静态文件服务
  • TLS/SSL 支持
  • 彩色终端日志
  • CORS 配置
  • 基本 HTTP 身份验证

使用方法

Simlpe HTTP Server with TLS/SSL support. Implemented api endpoints allow for navigating file system directories, uploading and downloading files.

Usage: http-server [OPTIONS]

Options:
Options:
  -p, --port <port>          Sets the port number [default: 7878]
  -t, --threads <threads>    Sets the number of threads [default: 12]
  -c, --cert <cert>          TLS/SSL certificate
      --certpass <certpass>  TLS/SSL certificate password [default: ]
  -s, --silent               Disable logging
      --cors                 Enable CORS with Access-Control-Allow-Origin header set to *
      --ip <ip>              Ip address to bind to [default: 0.0.0.0] [default: 0.0.0.0]
  -a, --auth <auth>          Enable HTTP Basic Auth. Pass username:password as argument
  -h, --help                 Print help
  -V, --version              Print version

使用 cert 选项

要使用 cert 选项,您必须

  1. 使用以下命令生成证书: openssl req -x509 -newkey rsa:4096 -keyout myKey.pem -out cert.pem -days 365
  2. 使用以下命令生成 pkcs12 文件: openssl pkcs12 -export -out keyStore.p12 -inkey myKey.pem -in cert.pem
  3. 像这样传递 cert 和 certpass 参数:http-server -c ./keyStore.p12 --certpass yourPassword。如果没有设置密码,则可以留 certpass 选项为空。

依赖项

~5–17MB
~233K SLoC