这个项目能做什么
Kore 是一个 Web 应用平台,用于以 C 或 Python 编写可扩展、并发的基于 Web 的进程。它采用“默认安全”的设计理念,并使用完全的权限分离,结合操作系统安全特性,如 seccomp、pledge 和 unveil。该项目报告其被用于高保障密码设备、机器学习技术栈和航空航天等领域,并将自身定位为适用于从嵌入式平台到高性能服务器的场景。
该项目列出的关键能力包括:SNI、HTTP/1.1 和 WebSocket 支持,默认权限分离,默认启用 TLS,可选后台任务,内置参数验证,可选异步 PostgreSQL 支持,可选 Python 页面处理器,私钥和证书的即时重载,通过 ACME 自动获取 X509 证书并实现权限分离,RSA 和 ECDSA 私钥隔离在单独进程中,默认 TLS 密码套件具备前向保密,即使正在提供内容时也可即时重载模块,工作进程在 OpenBSD 上通过 pledge、在 Linux 上通过 seccomp 进行沙箱化,采用事件驱动的 epoll/kqueue 架构并具有每 CPU 工作进程,以及将应用构建为预编译动态库或单一二进制文件的能力。
Kore 采用 ISC 许可证。文档可在 docs.kore.io 获取。支持的平台为 Linux、OpenBSD、FreeBSD 和 macOS,仅支持 x64、arm 和 aarch64 架构。
构建需要 OpenSSL 1.1.1、LibreSSL 3.x 或 OpenSSL 3。可选功能有各自的要求:异步 curl 需要 libcurl 7.64.0 或更高版本,后台任务需要 pthreads,PostgreSQL 需要 libpq,Python 支持需要 Python 3.6+,Lua 支持需要 Lua 5.4+。常规构建通过 make 和 make install 完成。可选构建变体通过在运行 make 前设置环境变量启用:LUA=1、ACME=1、CURL=1、TASKS=1、PGSQL=1、DEBUG=1、NOHTTP=1、NOOPT=1、JSONRPC=1、PYTHON=1 和 TLS_BACKEND=none。README 指出,某些变体不能组合使用,否则会产生编译错误。
示例应用位于 examples/ 下,每个示例都有 README 说明如何构建或使用。该仓库被描述为只读镜像;贡献信息指向 kore.io 邮件列表,补丁发送至 patches@kore.io,问题咨询发送至 users@kore.io,此外安全报告发送至 security@kore.io,赞助发送至 sponsor@kore.io。
评论
0 评分人数达到10人后显示
登录后参与讨论。