💾 Archived View for gemini.uxq.ch captured on 2020-11-07 at 00:48:23. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2020-09-24)
-=-=-=-=-=-=-
You have reached the Gemini server at gemini.uxq.ch!
This is a quick demonstration of the current state of geminid, my attempt to implement the server-side of the Gemini specification in C. You can find the sourcecode at https://github.com/jovoro/geminid/, or maybe some time later even in Geminispace. ;)
Many things, but especially something you would want to rely on, yet.
I've added support for IPv6 some time ago, but completely forgot to update this log. What a shame. I'm also trying to implement some kind of support for client certificates. Since the Gemini specification is not yet clear about the handling of client certificates, I thought I'd wait some time until these concepts are worked out. Oh, well. I guess some tinkering doesn't hurt.
Since geminid does not support input queries or the like, the use-case for client certificates is limited to access control at the moment. But that is also an interesting task. The current state is not actually usable, I've barely managed to create some kind of configurational infrastructure to handle the definition of secure paths and the fingerprints allowed to access them. But business is slow at the moment since everyone is on summer break, so I should be able to allocate some time to geminid.
Other than that I'm pleased how geminid is humming along for weeks now. I've also tested in on OpenBSD now that my old machine is working again. I've moved the (OpenNebula) infrastructure on which this virtual machine (gemini.uxq.ch) is running to a proper rack so there has been some downtime last week. The setup was running in the lab before and now went into production, more or less.
I had the thought of adjusting the access logging to include IP addresses though, since there was an incident with excessive requests which made me realize that one wouldn't be able to track down such an issue very quickly.
I finally had the time to work on geminid again. It is now encoding and decoding URLs to catch up with some of the specification changes earlier this month.
After a few days of rudimentary testing I'm confident enough to merge the vhost-work branch into master. I've done so earlier this week but I haven't had the opportunity to write an update here.
I've implemented SNI and vhosts. This feature is currently being tested and available in the git branch vhost-work. I've configured a second vhost on this machine, which you can visit here:
It may take some time until the domain and FQDN is fully functional, though. If you can't wait, you can always edit your /etc/hosts. :)
I've adjusted the response header according to the updated specification. So geminid now uses a space character instead of a tab character.
To answer the question "what's new"? Well, it's in active development, so things are changing almost constantly... :) As of today, I can announce the availability of a proper configuration file, for example. The file structure provides the facilities to define virtual hosts. Although I haven't implemented SNI yet, so you can use only the first one.
You can reach me at jr at vrtz dot ch.
Cheers, Johannes
a.k.a Unix Querulant