Sobre el proyecto
Kore es una plataforma de aplicaciones web para escribir procesos web escalables y concurrentes en C o Python. Está diseñada con un enfoque de "seguro por defecto" y utiliza separación completa de privilegios junto con características de seguridad del sistema operativo como seccomp, pledge y unveil. El proyecto reporta su uso en áreas como dispositivos criptográficos de alta seguridad, pilas de aprendizaje automático y aeroespacial, y se posiciona como adecuado desde plataformas embebidas hasta servidores de alto rendimiento.
Las capacidades clave listadas por el proyecto incluyen soporte para SNI, HTTP/1.1 y WebSocket, separación de privilegios por defecto, TLS habilitado por defecto, tareas en segundo plano opcionales, validación de parámetros integrada, soporte opcional de PostgreSQL asíncrono, manejadores de páginas Python opcionales, recarga en caliente de claves privadas y certificados, certificados X509 automáticos vía ACME con separación de privilegios, claves privadas aisladas en un proceso separado para RSA y ECDSA, suites de cifrado TLS por defecto con secreto directo, recarga de módulos en caliente incluso mientras se sirve contenido, procesos de trabajo sandboxed en OpenBSD vía pledge y en Linux vía seccomp, una arquitectura de eventos epoll/kqueue con procesos de trabajo por CPU, y la capacidad de construir una aplicación como biblioteca dinámica precompilada o un binario único.
Kore está licenciado bajo la licencia ISC. La documentación está disponible en docs.kore.io. Las plataformas soportadas son Linux, OpenBSD, FreeBSD y macOS, solo con arquitecturas x64, arm y aarch64.
La compilación requiere OpenSSL 1.1.1, LibreSSL 3.x u OpenSSL 3. Las características opcionales tienen sus propios requisitos: libcurl 7.64.0 o superior para curl asíncrono, pthreads para tareas en segundo plano, libpq para PostgreSQL, Python 3.6+ para soporte de Python, y Lua 5.4+ para soporte de Lua. Una compilación normal se realiza con make y make install. Los sabores de compilación opcionales se habilitan mediante variables de entorno antes de ejecutar make: LUA=1, ACME=1, CURL=1, TASKS=1, PGSQL=1, DEBUG=1, NOHTTP=1, NOOPT=1, JSONRPC=1, PYTHON=1 y TLS_BACKEND=none. El README señala que algunos sabores no se pueden combinar y producirán errores de compilación.
Se proporcionan aplicaciones de ejemplo en examples/, cada una con un README que describe cómo compilarla o usarla. El repositorio se describe como un espejo de solo lectura; la información de contribución apunta a las listas de correo de kore.io, con patches@kore.io para parches y users@kore.io para preguntas, además de security@kore.io para informes de seguridad y sponsor@kore.io para patrocinio.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.