petit_httpd
这是一个简单的 HTTP 文件服务器,集成了 Let’s Encrypt、gzip 和 CORS。
动机
由于 Dart 可以在许多原生平台(Linux/x64、macOS/x64/arm64、Windows/x86)上运行,
它可以成为在任何地方运行 HTTP 服务器的绝佳方式,
包含如今所需的所有基本功能。
API文档
有关功能、类和扩展的完整列表,请参阅 API 文档。
用法
import 'dart:io';
import 'package:petit_httpd/petit_httpd.dart';
void main() async {
var petitHTTPD = PetitHTTPD(Directory('/var/www'),
port: 8080,
securePort: 443,
bindingAddress: '0.0.0.0',
letsEncryptDirectory: Directory('/etc/letsencrypt/live'),
domains: {'mydomain.com': '[email protected]'});
var ok = await petitHTTPD.start();
if (!ok) {
print('** ERROR Starting: $petitHTTPD');
exit(1);
}
print('-- STARTED: $petitHTTPD');
}
CLI 工具
petit_httpd
petit_httpd 是 PetitHTTPD 类的 **CLI**。
首先激活 petit_httpd 命令
$> dart pub global activate petit_httpd
运行 HTTP 守护进程
$> petit_httpd ./www --port 8080 --securePort 443 --address 0.0.0.0 --letsencrypt-path /etc/letsencrypt/live --domain mydomain.com
一个 BASH 脚本将全部一起运行
#!/bin/bash
dart pub global activate petit_httpd
export PATH="$PATH":"$HOME/.pub-cache/bin"
mkdir -p /var/log/petit_httpd
petit_httpd /var/www --address 0.0.0.0 --letsencrypt-path /etc/letsencrypt/live --domain mydomain.com -verbose >> /var/log/petit_httpd/requests.log
来源
官方源代码 托管在 GitHub
功能和 Bug
请在 问题跟踪器 上提交功能请求和错误报告。
贡献
来自开源社区的任何帮助总是受欢迎且需要的
- 发现问题?
- 请提供详细信息提交bug报告。
- 想要一个新功能?
- 提出功能请求并附带使用场景。
- 你正在使用并且喜欢这个项目吗?
- 推广项目:写一篇文章、发帖或捐款。
- 你是开发者吗?
- 修复一个bug并提交一个pull request。
- 实现新功能,例如其他训练算法和激活函数。
- 改进单元测试。
- 你是否已经提供过帮助?
- 非常感谢我、贡献者以及所有使用这个项目的人!
如果您捐赠 1 小时的您的时间,您将贡献很多,
因为其他人也会这样做,只需参与并从您的一小时开始。
作者
Graciliano M. Passos: gmpassos@GitHub。