2025-07-18 Bringing the Butlerian Jihad to Gopher ================================================= Again! Oh yes. I've been using markdown-gopher to serve my site via Gopher. It translates the Markdown on the fly to even more plain text. 😅 And of course somebody is requesting pages every 2–3 seconds, including all the URLs that are no longer available, that haven't been available in years. My problem was that there was no way to log these with the go-gopher library I was using. James Mill had said in an old issue that the solution was to write "middleware" but I think this cannot be done without a small change to the library. See the remote-addr branch in the patched go-gopher (and markdown-gopher). Ideally both changes can get merged and future readers will wonder what this was all about. In any case, now I can look at the glorious log: Jul 18 12:02:19 sibirocobombus markdown-gopher[2318056]: ERROR 144.76.59.176:56412 unknown Comments_on_2013-10-10_More_Troll_Questions/menu Jul 18 12:02:21 sibirocobombus markdown-gopher[2318056]: ERROR 144.76.59.176:56420 unknown Comments_on_2013-10-16_Knowledge_Skill_and_Narration_Rights/menu Jul 18 12:02:24 sibirocobombus markdown-gopher[2318056]: ERROR 144.76.59.176:56424 unknown Comments_on_2013-10-21_1PDC_in_print/menu Jul 18 12:02:26 sibirocobombus markdown-gopher[2318056]: ERROR 144.76.59.176:47542 unknown Comments_on_2013-10-22_Random_Names_on_IRC/menu Jul 18 12:02:28 sibirocobombus markdown-gopher[2318056]: ERROR 144.76.59.176:47552 unknown Comments_on_2013-10-23_Old_School_Fanzines/menu Jul 18 12:02:30 sibirocobombus markdown-gopher[2318056]: ERROR 144.76.59.176:47560 unknown Comments_on_2013-10-23_Settlements_in_Sandboxes/menu Jul 18 12:02:33 sibirocobombus markdown-gopher[2318056]: ERROR 144.76.59.176:47576 unknown Comments_on_2013-10-29_How_To_Run_Fate/menu Jul 18 12:02:35 sibirocobombus markdown-gopher[2318056]: ERROR 144.76.59.176:58870 unknown Comments_on_2013-10-31_New_Google_Plus_Usage/menu Jul 18 12:02:37 sibirocobombus markdown-gopher[2318056]: ERROR 144.76.59.176:58878 unknown Comments_on_2013-11-08_Adventure_Design_Contest/menu Jul 18 12:02:40 sibirocobombus markdown-gopher[2318056]: ERROR 144.76.59.176:58880 unknown Comments_on_2013-11-13_RPG_Geek/menu I'm assuming 144.76.59.176 hosts a bot with a database full of old selectors that no longer work and with no intent of ever expiring them. For now: fail2ban-client set butlerian-jihad-week banip 144.76.59.176 And I've set up /etc/fail2ban/jail.d/markdown-gopher.conf as follows: [markdown-gopher] enabled = true port = 70 findtime = 40 maxretry = 20 I might extend that findtime, though. I don't think I really want somebody to request a full copy of my site via gopher, plus all the old selectors that no longer work, one every 3s. What a waste of CO₂. We can start increasing it slowly. And of course the matching /etc/fail2ban/filter.d/markdown-gopher.conf says: [Definition] failregex = (INFO|ERROR) journalmatch = _SYSTEMD_UNIT=markdown-gopher.service So yay! #Gopher #Butlerian_Jihad #fail2ban