██████████████████████████████████████████████████
        █                                                █▒
        █  This phlog post will make liberal use of ANSI █▒░
        █                                                █▒░
        █                    COLORZ                      █▒░
        █                                                █▒░
        █   ... in an attempt to deliberatly confuse     █▒░
        █ spiders and robots crawling my gopher hole in  █▒░
        █ search for content to feed LLM "ai" datasets.  █▒░
        █                                                █▒░
        ██████████████████████████████████████████████████▒░
         ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

 Ok ok ok,... so I've been a bit quiet lately. There's a few reasons
 for that:

   1) R34L L1F3 STUFFs... Admittedly things have been a bit rough
      lately. My wife has been struggling with some health issues
      and I've been spending most of my time helping her out.

   2) TR4V3LZzz... I visited the homeland (Belgium) for 2 weeks, it
      was fun but also extremely stressful and exhausing. Many
      things went wrong. Long story.

   3) W0RLD STUFFs... Shit's seriously fucked up lately. Alas, the
      internet we once knew is no more. It seems no where is safe
      any longer... and that's kind of what I wanted to talk about
      in this post.

A few months ago, I happen to notice some crazy spikes in my gopher
 server stats. It is not unusual for various robots and spiders to
crawl my gopher server for indexing and what not, but this was very
unlike anything else. In the span of a few hours, my server received
26699 requests. That's the highest rate this server has ever had to
serve. So I dug a bit deeper into my dashboard and sure enough, all
 IP's doing the crawling belonged to Yandex. You may know Yandex as
  the Russian equivalent of Google. And sure enough, they are also
 working on building AI crap. Seeing gopher DIRECTLY indexed by one
 of these huge companies was kind of a shock to me. I did not expect
  this, but I guess I should have seen it comming with all of these
companies trying to one-up one another in the new AI boom, gopher is
  prime loot for them, given that it's all high quality text-only
         content, often of a highly technical nature.

                          Well,...
                        ▄▄  ▄▄ ▄ ▄▄▄▄     ▀  ▀
                     ▄ █ ▀ █▄  ▄  █ █    ▄▄▄▄▄▄
                     ▀▄ ▀▄ █ █ █  █     █      █
                       ▀▀  ▀ ▀ ▀  ▀
I guess truly there is no safe places left. :( Because of this I've
 become very disheartened and demotivated to post anything more on
 gopher. What's the point if it's all to be ingested into some AI
 dataset anyway? I have blocked yandex' IP ranges, but it is of too
  little too late of course, the ingestion has already happened.

 Also, all of my HTTP stuff got ingested by Microsoft's AI dataset,
 completely ignoring robots.txt ---- COOL.

Now we're also hearing about META spinning up a mastodon instance so
they can ingest all of that sweet mastodon chatter. Sigh. It really
just made me want to unplug my rj11 and go perma-offline. But that's
not really an option. And also awefully defeatist. So instead, I
decided to do something fun. I figured, why not run a BBS server?!
With most BBS'es, you typically have to sign up for a username first
and fill out some form fields that at least prove you're human. This
is different from having to provide personal info at your typical
corp0 sign-up form. I don't care about your R33L name or your shoe
size. I just want to know you're a human with interest in what's on
the board.

... So I started looking at what's out there,... MYSTIC, ENIGMA,
SYNCHRONET, etc,... they all have their problems. Mystic is not open
source any more. Enigma is evil javascript. Synchronet is C but a
terrible huge codebase with a lot of dependencies. There's little to
no hope of getting that to run on my solaris/sparc server. So,...

Naturally I decided to do what any self respecting h4x0r would, and
figured I'd roll my own. Thusly, I bring you:

       REVOLTBBS: https://linkerror.com:11175/jns/RevoltBBS

 This thing is written in TRVECVLT C++ - all you need is a compiler
 that can do C++17 and an OS with either epoll or kqueues, and a
 functional libcrypt - that's most POSIXy OSes afaik. Excludes M$
 Wind0ze, sorry not sorry. - and Lua. - No other dependencies. Nada.

Whilst the server is implemented in C++, it is intended to be fully
scriptable with lua - look in the data/ folder for examples of how
the current functionality is implemented.

It is of course, like most of my stuff, very much a work in progress
- It is capable of serving telnet and you can definitively write
menus and even little games in lua as it stands though - but I'm
still working on file upload functionality and figuring out how all
the XYZ-modem stuff is supposed to work.


   Aaanyhow... Moving all my stuff over to a BBS is of course not
   particularly ideal either. For one, gopher, and the smolnet at
   large are a community. One I am happy (and privileged) to be a
     part of. For two, it's by no means a fool-proof solution.

  As such, I took some other measures, like banning the entirety
of Yandex, Microsoft, Google, Amazon, and Meta at the firewall level
by banning their ASNs. Should anyone want to follow suit, this can
be accomplished relatively easily if you're running one of the BSDs
with pf-badhost ( https://www.geoghegan.ca/pfbadhost.html ) - which
is essentially a little script you can shove in cron that will
periodically check blacklist and BGP routes and update your firewall
rules accordingly. To block AN numbers, just edit the script and
find the section where an example AN is already listed. These should
get you started:


 Microsoft: AS8075
 Yandex:    AS13238
 Amazon:    AS14618
 Google:    AS15169
 Amazon:    AS16509
 Google:    AS16550
 Google:    AS19527
 Meta:      AS32934
 Google:    AS36040
 Amazon:    AS36263
 Google:    AS36492
 Google:    AS43515
 Amazon:    AS46489
 Meta:      AS54115
 Meta:      AS63293
 Google:    AS139070
 Google:    AS139190
 Yandex:    AS208722
 Google:    AS396982


Lastly, as a consequence of this, it is possible that some people
accessing gopher via a server or proxy on a cloud service of one of
these companies can no longer access my gopher hole. If that's the
case for you,... well, I guess sorry not sorry ;)

( one unfortunate consequence in my case of this, is that anyone who
  has a mastodon instance on a cloud service hosted by one of these
  companies, will no longer be able to fetch posts from my server -
  but ... oh well. something something omlettes & eggz )


                               ▄▀
                  ▄▀█  ▄▀ █   █ ▄▀▀█ █ █▀█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                  ▄▀█ ▀█▀  █ █  █  █ █   █
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀  ▀▀  ▀▀  ▀   ▀▀▀▀ ▀▀▀ ▀▄

Update: The_Gibson of htown joined 2600's Off the Hook show on WBAI
to talk about a lot of these issues. You can find the audio in their
archive here:

     https://wbai.org/archive/program/episode/?id=41719

or on the 2600 website:

     https://2600.com/hook/05-07-2023