petit_httpd

pub package
Null Safety
Codecov
CI
GitHub Tag
New Commits
Last Commits
Pull Requests
Code size
License

这是一个简单的 HTTP 文件服务器,集成了 Let’s Encryptgzip 和 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_httpdPetitHTTPD 类的 **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

许可证

Apache License – Version 2.0

GitHub

查看 Github