用 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 协议服务器。
- triska
太棒了,非常感谢 Javier 让这个项目得以面世,也感谢 Scryer Prolog 的改进让这一切成为可能!
我注意到页面上提到的几乎所有改动其实都已经提交了合并请求:
https://github.com/mthom/scryer-prolog/pull/3379
https://github.com/mthom/scryer-prolog/pull/3383
https://github.com/mthom/scryer-prolog/pull/3387
https://github.com/mthom/scryer-prolog/pull/3390
如果有任何人想为 Scryer Prolog 做贡献并推动这些改动被合并,请查看并参与相关的讨论,非常感谢!
对于所有对 Prolog 及其应用感兴趣的朋友,也请考虑参加 2026 年 10 月 24 日和 25 日在维也纳举办的 Scryer Prolog Meetup 2026:
https://www.digitalaustria.gv.at/wissenswertes/events/scryer...
希望能在那里见到你们中的许多人!
- pooploop64
总是很高兴能看到关于真正的 Gemini 的内容。