s/Fornax

🏭Fornax is a minimal Gemini server in C. It is single-process, single-thread, non-blocking event-driven server in about 500 lines of C.

It is meant mostly as a research tool and a starting point for your more sophisticated projects that need a server capability.

As configured it can serve .txt and .gmi files.

https://tildegit.org/stack/fornax

πŸš€ Moderated by: stack

πŸŒ’ Subspaces

πŸ“– Help

❀️ Code of conduct

Sign up

Posts

πŸš€ 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 Β· 5 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