💾 Archived View for nanako.mooo.com › gemlog › 2024-02-29-a.gmi captured on 2024-05-26 at 14:54:58. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-03-21)
-=-=-=-=-=-=-
Well, now that my surgery is out of the way, I've been slowly easing back into my programmin projects, and Aya (my Gemini server, which hosts this site) is first up on my list.
The biggest addition is probably going to be a new alternative CGI specification that I call "Aya UnixSocket CGI" (UCGI or AUCGI). This is quite similar to FastCGI[1] in that you start Aya, start separate daemons that handle UCGI requests, and then use Unix domain sockets to communicate between the two. Though this makes things a bit more complicated, the benefit is[2] higher overall throughput since a new process isn't created for each CGI request. The current specification for this is linked below, though keep in mind this isn't finalized yet until Aya v0.5.0 is out, and is still going to be considered experimental even after that.
Aya UnixSocket CGI Interface v0.1.0 Specifications
I'll probably write a super small framework of sorts before Aya v0.5.0 is out so that writing UCGI Programs is a bit easier.
I haven't deployed any real-world test UCGI programs yet, but plan to soon.
The other somewhat big addition is initial support for client SSL certificates. These aren't encountered much in the HTTP world, but they're used for client identities in the Gemini world. Support for these comes via a newer version of my RemiGemini library, which Aya is written on top of, and will initially be restricted to CGI and UCGI scripts for v0.5.0[3]. Future versions will let you block off parts of the server tree to specified identities as well, both via the config and with something akin to a .htpasswd file.
Smaller updates to Aya v0.5.0 currently include:
So yeah, watch my gemlog or my Fediverse account for the announcement.
--------- Page served by Aya https://nanako.mooo.com/fossil/aya/ Aya is under the GNU Affero GPLv3 license