-- Leo's gemini proxy

-- Connecting to nanako.mooo.com:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; charset=utf-8

Aya v0.4.0 Coming Soon, Doom Mapping, and Other Updates


A new release of my Gemini server, Aya, is coming out soon. This is the same server I use to host this capsule. There's a number of notable changes in v0.4.0:


Aya is now written in Common Lisp and uses the CL-RemiGemini library. This provides better conformance, as well as support for client certificate handling.

You can now specify what the index files are with the new `index-files` option in the config. The default is to look for (in this order): `index.gmi` or `index.gemini`.

The list of ciphers TLS uses can now be customized in the config file.

TLS key passwords are now supported.

The number of worker threads that handle connections can now be specified with the `workers` config option. This does not limit the number of simultaneous connections - connections are handled concurrently with an M:N threading model.

The configuration file can now be reloaded while Aya is running by sending the process the SIGUSR1 signal.

A `gc-every-n-connections` config option to tweak the GC for your needs.

The program now knows that `.gemini` files are Gemini Markup files.

Footer generation now works as expected.


More about CL-RemiGemini


Aya v0.4.0 still isn't *quite* ready yet, but she will be soon. I mainly need to fix some MIME stuff, and write some unit tests. It'll probably be out within a week or so.


Plans for v0.5.0


There's two major things I'm planning to add that I've decided to put off until v0.5.0 since the rewrite is such a major change. The first thing is to support something similar to Apache's <Directory> (but for a subtree within the server root) and <VirtualHost> config directives. Let's call the former a "subtree" and the latter a "vhost". The subtree feature wouldn't have many options since Gemini is so simple, and probably be most useful for things like needing client certificates to access certain things. The vhost, well... it's simply useful for virtual hosting :-P I haven't done much design on these yet, but will once v0.4.0 is out.


The other major thing I want to implement is the Titan protocol. This protocol kinda reminds me of WebDAV, which wouldn't be useful for my needs, but would probably be useful for other people. Implementing it would pretty much require the subtree feature, which is why it's planned. End users of Aya would use the subtree feature to define certain locations as Titan-enabled (probably with some rules for what gets uploaded), the token, client certificates for authentication... stuff like that. Again, I haven't really done much design yet, so this is just some initial thoughts.


The Titan Protocol


Other Software


I'm still working on Benben v0.4.0, which is the rewrite of Benben to Common Lisp. This is coming along *very* nicely. I've got the majority of features implemented, including the updated UI based on S-Lang, and performance seems very close to the old Crystal version, though there's still much room for improvement. Not much has been done on Satou, my library for playing VGM files natively in Lisp that it uses. Satou will need to be on-par with YunoSynth before I call it v0.1.0, which I suspect will take quite a while. Benben will also Satou relesed before its v0.4.0 can be released. So maybe by April or May of next year? Just a ballpark estimate.


Aside from that, I've been playing with the idea of starting development of Dwaddle back up since I've been slowly getting back into Doom mapping. Dwaddle, for those who don't know, is a library for working with data for Doom engine games, as well as a set of command line tools for manipulating files. Anyway, Dwaddle's "DTools" component has been insanely useful since I can't get Slade to compile on my laptop anymore (no idea why, but I don't have much desire to look into it, either). I can do _almost_ everything with DTools that I used to do in Slade, so I really just need to polish it up and get some missing stuff implemented.


And yes, Doom mapping. Or more accurately, Heretic mapping. I'm currently tinkering with a Doomsday map for Heretic and have been having quite a bit of fun with it. There's a lot to unpack on why I'm doing Heretic, and why I'm using Doomsday once again, but that's for another post. I doubt I'll be as intense about mapping as I was in 2021, though. I'm still mentally healing from the events in that time in my life.


Ok, who's got two thumbs and is thirsty? This goth chick. Time to shut up, get water, and get back to work.


Links:


Benben (Lisp work is not in trunk, but on a separate branch)

Yeah I was intense in 2021 mapping-wise


---------
Page served by Aya https://nanako.mooo.com/fossil/aya/
Aya is under the GNU Affero GPLv3 license

-- Response ended

-- Page fetched on Sun May 19 22:00:35 2024