🔎
Más
Especiales
Filtros
IA hace 1 h

Sula: Un servidor de protocolo Gemini escrito en Scryer Prolog

Un servidor de protocolo Gemini llamado Sula ha sido desarrollado en Scryer Prolog. Este servidor requiere una versión parcheada de Scryer Prolog para funcionar correctamente.

Entre los requisitos para ejecutar Sula se incluyen varios parches específicos para Scryer Prolog, como la implementación de un builtin para copiar flujos de datos y una corrección en la biblioteca de entrada y salida para manejar lecturas perezosas. Además, se necesita una versión modificada de la función de negociación de certificados TLS y una portación a la biblioteca de seguridad rustls. Para instalar la versión parcheada de Scryer Prolog, es necesario clonar el repositorio correspondiente y compilarlo con cargo.

“Además, se necesita una versión modificada de la función de negociación de certificados TLS y una portación a la biblioteca de seguridad rustls”

Sula se ejecuta mediante un script polyglot llamado sula.pl, que acepta varias opciones de línea de comandos para configurar el servidor, como la dirección y el puerto de escucha, el nombre del host y los directorios para el contenido y los certificados. El servidor admite conexiones TLS mediante la biblioteca rustls y verifica la identidad del host mediante la comparación del nombre común del certificado con el nombre de host configurado. En caso de errores, el servidor puede manejar errores por conexión y realizar un cierre limpio al recibir la señal de interrupción.

Entre las características planificadas para futuras versiones de Sula se incluyen el uso de claves y certificados en lugar de archivos de identidad, la carga de certificados de cliente, la configuración a través de un archivo y la ejecución de scripts CGI, así como la implementación de limitación de velocidad y alojamiento virtual. Además, se prevé la adición de registro de archivos y multihilo para mejorar el rendimiento y la escalabilidad del servidor.

Más sobre IA