s/Fornax

Fornax is a minimal embeddable Gemini server in C. It is a high-performance single-thread/process application server with a very small footprint. It can function as a normal Gemini file server, but is more useful for games, interactive applications, and customized tasks traditionally requiring CGI and high overhead.

https://tildegit.org/stack/fornax

πŸš€ Moderated by: stack

πŸŒ’ Subspaces

πŸ“– Help

❀️ Code of conduct

Sign up

Posts

πŸš€ stack [mod]

libfornax is coming β€” After realizing just how annoying it is to deal with customizing current Fornax with just C source, I've taken the plunge to make it a library, libfornax. I have it now working with the simple Gemini (file) server example in about 100 lines of C, mostly dealing with parsing the command line and logging. I am very excited about this repackaging (and some cleanup) as I noticed that every time I want to make something in Geminispace, be it a game or spaced repetitiona…

πŸ’¬ 2 likes Β· May 18 Β· 4 days ago

πŸš€ stack [mod]

Fornax deprecator β€” As I prepare to move to a different server I want to make that transition easier. Last time I had to hunt down all the urls that people were pointing to (for all the different games and gemlogs), and manually sticking in notices that I am moving to a different server. So I created a simple fornax server which responds to any request with a gemini page (conveniently, index.gmi in the directory specified when starting the server). This file can contain the directions to the...

πŸ’¬ 9 comments Β· 2025-11-27 Β· 6 months ago

πŸš€ ingrix

Fornax and SIGPIPE β€” How does Fornax handle SIGPIPE? One of the reasons I've got relatively complicated netcode in libpxd is for managing SIGPIPE without globally ignoring it or masking it before SSL calls - and I have gotten them before in strange situations, particularly from SSL_shutdown. Fornax doesn't seem to handle SIGPIPE in any way, but it also doesn't do anything special with the SSL objects like I do in libpxd, so I'm curious where the magic is.

πŸ’¬ 5 comments Β· 2025-09-19 Β· 8 months ago

πŸš€ stack [mod]

Custom servers with Fornax β€” I've done a little organizing to make it easier to customize the server. At the bottom, there is a definition of a function called 'serve_url()'. Here is where the magic happens: you get a url, and you output something. The default definition just serves files: [preformatted] But you can do anything else here. For instance, if you want to show current time when the url is '/time', do this: [preformatted] [preformatted] See it in action here: [gemini link] See the...

πŸ’¬ 2 comments Β· 2025-09-14 Β· 8 months ago

πŸš€ stack [mod]

Added index.gmi expansion by popular demand (looking at the log)

πŸ’¬ View post Β· 2025-09-13 Β· 8 months ago

πŸš€ stack [mod]

Introducing Fornax Gemini Server (work in progress) β€” Fornax is a working sketch for a minimal Gemini server. The project goal was to quickly create a minimal single-process single-thread server that is reasonably stable and can be easily understood and modified for specific needs. The server resides in a single file (about 500 lines of C) and compiles to about 23KB of code. At runtime it uses around 8MB RAM. It should be able to handle hundreds of simultaneous requests, and with minor tuning,...

πŸ’¬ 4 comments Β· 2025-09-12 Β· 8 months ago

Options

πŸ—£οΈ Sort by activity

πŸ”₯ Sort by hotness

Gemini feed

Atom feed

Proxied content from gemini://bbs.geminispace.org/s/Fornax (external content)

Gemini request details:

Original URL
gemini://bbs.geminispace.org/s/Fornax
Status code
Success
Meta
text/gemini; charset=utf-8
Proxied by
kineto

Be advised that no attempt was made to verify the remote SSL certificate.