I miss the old internet. Not the nostalgia-filtered version but the actual texture of it: the screech of a modem handshake, the "You've got mail", BBS door games at 2am, IRC channels that felt like neighborhoods. Most of that infrastructure is gone. So I've been rebuilding it.

FlameNet is my attempt to bring deprecated, abandoned, and frankly beloved services back to life. It runs on modern infrastructure but still speaks the old protocols so vintage clients can connect.

What's running

  • BBS, a full bulletin board system you can reach over telnet or SSH.
  • AIM, re-created AOL Instant Messenger servers. Point an old AIM client at them and your buddy list lights up.
  • IRC, with a web frontend for people who don't want to install a client.
  • Forums, a fax line, and even Windows XP and Server 2000 hosting for the committed.

Why this is possible at all

The thing that makes a project like this tractable is that these protocols were designed to be implementable by one person reading a document. IRC is specified in a pair of RFCs you can read in an evening, and it is line-oriented text you can drive by hand with a telnet client. Telnet itself is a network virtual terminal with a handful of option negotiations. OSCAR, which AIM speaks, is undocumented but regular enough that the community reverse-engineered it thoroughly twenty years ago.

That is a very different world from today, where "support the protocol" means implementing somebody's several-hundred-page specification or, more often, matching an undocumented app's behaviour exactly. The 90s internet is revivable largely because it was simple enough to write down.

Old protocols, modern plumbing

None of this runs on period hardware. Everything is containerized with Docker, sits behind a single Traefik reverse proxy with automatic TLS, and gets backed up like any other modern service. The 90s experience is the interface; the 2020s reliability is underneath.

There is one place the two eras cannot be reconciled, and it is worth being upfront about. Almost none of these protocols have transport security, and the clients that speak them predate every cipher suite anything modern will negotiate. You cannot put TLS in front of a 2001 AIM client and have it still work. So the answer is containment rather than encryption: these services live on their own network segments with tight egress rules, the retro operating systems cannot route anywhere that matters, and the standing advice to anyone connecting is to use a password you do not use elsewhere.

This kicks off a series. I'll document each service as I go. Next up: running a modern BBS. Want to connect in the meantime? Head to flamenet.io.