用 Scryer Prolog 打造 Gemini 协议服务器 Sula
Sula: A Gemini protocol server written in Scryer Prolog

Sula 是一个基于 Scryer Prolog 编写的 Gemini 协议服务器,专为追求极简与安全的网络体验而设计。该项目通过自定义补丁增强了 Scryer Prolog 的功能,包括原生流式传输二进制文件、优化管道读取以及实现非阻塞轮询循环,从而支持高效的 TLS 连接和优雅的信号处理。Sula 利用 rustls 进行加密,并在启动时通过 openssl 验证主机名与证书 CN 是否匹配。其架构采用多语言脚本启动,支持动态 MIME 类型协商和细粒度的错误处理。未来计划包括支持客户端证书、配置文件加载、CGI 脚本执行及虚拟主机等功能,为开发者提供了一个独特且强大的轻量级服务器选项。
Sula 是一个用 Scryer Prolog 编写的 Gemini 协议服务器。