-- Leo's gemini proxy

-- Connecting to gemini.abiscuola.com:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

Introducing gmnxd(8)


A gemini server for OpenBSD.


I was working on a gemini server for some time. However, I went too far with my project and given the lack of time, I felt that it was going nowhere.


I had all of the intentions of making my server as useful as possible for everybody, but in doing so, I failed to remember why, generally, I write open source code: to help myself first and foremost.


So I went back, checked what I really needed to fit easily in my infrastructure. In the end, I kept everything useful from my previous project (parsing, mime type management url decoding) and threw away all the daemon management bits.


I already had a reverse proxy handling the TLS termination for a lot of other services and I didn't need the performances of a completerly standalone server.


That's how gmnxd(8) was born, What does it support?


Serving static files.

One process per request. Using inetd's "nowait" mode.

Support for virtualhosts is provided.


What gmnxd(8) does not ans will NEVER support:


TLS. No really, not going to happen.

CGI or FastCGI. The overhead would be way too much.

Configurations files.

Portability. No, there are other servers out there for it.


Gmnxd(8) is licensed under the ISC license, so it's safe to use without giving back anything,


Gmnxd covers a narrow use case: You have an OpenBSD system, with a reverse proxy doing TLS termination, This is the project scope. I'm not going to add other features unless I'm the one needing it.


But hey, you can always fork it if you like it. Check the repository and feel free to play!

https://lab.abiscuola.com/gmnxd


I you have suggestions about the project, you can send me an e-mail, for now, the fossil forum is disabled for the project. If I will see a case to enable it, I'll do.


Cheers!

-- Response ended

-- Page fetched on Mon May 20 17:33:32 2024