2025-07-17 Bringing the Butlerian Jihad to Gemini
A long time ago I was very enthusiastic about Gemini. I wrote a wiki engine called Phoebe with many plugins for all sorts of things. Then I got disillusioned and dropped it all. Then I put some stuff back online using a patched satellite. It adds on-the-fly Markdown to Gemtext transformation, handles all the certificates transparently and just works.
Thank you, Gustavo Heinz! Your satellite is great.
I recently added logging to it. It does some rudimentary logging of all requests, including the IP number of the client making the request. You know where this is heading. `fail2ban` is coming to town and it's bringing the Butlerian Jihad! We're going to fight bots.
If you run the patched Satellite as a `systemd` service, this allows you to contain bots using `fail2ban` monitoring the `systemd` journal.
Use the following for `/etc/fail2ban/jail.d/satellite.conf`:
Use the following for `/etc/fail2ban/filter.d/satellite.conf`:
The result is that all requests are logged and any IP number that makes more than 20 requests in 40 seconds is banned. By default, `fail2ban` bans IP numbers for 10 minutes.
The result:
Use the various options to see what gets matched.
#Gemini #Satellite #fail2ban