The next-generation BBS software

  • No hosting fees it runs at your place
  • No outside costs your power, your Wi-Fi
  • No cloud nobody else's server
  • Old and new a 1980s computer can join
  • Real hardware a chip on your shelf
  • Free software GPL v3 or later
  • No internet needed a local network is enough
  • You write the rules and you are the appeal
  • No ads no one sells your time
  • No platforms nobody in the middle

How to get listed

Your board announces itself. You do not fill in a form. (There is one other list worth being on, the Telnet BBS Guide, and that one does have a form.)

board_name  = The Rusty Modem

[plugin:announce]
enabled     = yes
owner       = Sparks
description = A BBS on a chip in a shack in Illinois
servers     = http://unleashedbbs.net/announce

The name is the board's own setting, board_name, at the top of system.cfg above the first section, and the announce plugin sends whatever it is. The rest is the plugin's section. On the board itself, CONFIG board and CONFIG announce are the same settings as forms.

Send it to unleashedbbs.net, the directory's own address. The project's other names, .com for its site and .org for the manifesto, pass a heartbeat on here too.

Switch it on and wait. A listing becomes public after three hours of uninterrupted heartbeats, which is what keeps drive-by spam off the page, and it disappears when the heartbeats stop. ANNOUNCE on your board shows how long is left.

What a listing may say is in the house rules: four of them, and short.

Running something else

Synchronet, Mystic, WWIV, ENiGMA, Citadel, something you wrote yourself in a weekend: all welcome, all listed the same way, and what you run, with its version, is shown under your board's name. This is a directory of boards that are up, not a directory of one program's users. If it were the second thing it would not be worth running.

There is no plugin to install and no account to make. Post this every few minutes from anything that can make an HTTP request:

curl -X POST http://unleashedbbs.net/announce \
  -H 'Content-Type: application/json' \
  -d '{"software":"synchronet","version":"3.20",
       "name":"The Rusty Modem","owner":"Sparks",
       "description":"A BBS in a shack in Illinois",
       "host":"bbs.example.com","port":23,
       "nodes":4,"busy":0,"interval":10,
       "token":""}'

The reply carries an X-Listing-Token header. Keep it and send it back in token on every later heartbeat: that is what stops somebody else taking over your entry. Send it whole. It is 32 characters, and a token this directory does not recognise is not refused: it is a brand new listing, never a transfer, so a cut or mistyped token quietly starts a second entry and leaves your old one to go stale. The reply tells you: a brand new listing comes back with beats of 1 and a token that is not the one you sent.

Badges, if you want them. Seven optional fields put small badges under your board's name: what it runs on in your own words, what terminals it speaks, whether guests can look around, what is running, the size of its SD card, the causes you support and what you are into. Leave them out and nothing changes. In the same JSON:

"system":"Compaq 486", "terminals":["ansi","ascii"], "guests":true,
"features":["chat","files"], "sd":32, "support":["ltrcy"],
"interests":["c64","elctr","ham"]

Causes and interests are short codes, up to six letters and digits each, in any case: LTRCY is literacy and ELCTR electronics. What each badge means, with every code, is on the badges page, and the exact rules for each field are in the protocol.

If your board also takes SSH. Send the port callers dial for it, the one on the outside of your router, and your listing gets a second address line with a padlock on it:

"ssh_port":6422

Leave it out and your listing is exactly as it was. Most boards are plain telnet, nothing here marks one down for it, and no listing gets an open padlock.

The same rules apply to everyone. Three hours of uninterrupted heartbeats before a listing goes public, and it disappears when the heartbeats stop. There is no exception for boards running this firmware, and that is the whole anti-spam design: staying listed costs a machine that keeps running, which is exactly what a spammer will not do and exactly what a real board does anyway.

The full protocol, including every field and what the directory does with it, is in the server repository. It is one Python file and you are welcome to run your own.

List your community on the Telnet BBS Guide too

The Telnet BBS Guide has listed bulletin boards for more than twenty years, and it is where many people who enjoy them look for somewhere new to visit. A listing there is free. An administrator approves each one, so it may not appear straight away.

  1. Change the sysop password and let people outside your home join first, the same as before listing here.
  2. Create an account on the Guide.
  3. Check your board is not already there. If it is, use the Guide's Contact Us button, say you are its sysop, and the admins link it to your account.
  4. Choose Add Your BBS and fill it in: your board's name, its address and port (use a name that stays the same, not a home address that changes), and µnleashed BBS as the software.
  5. Say what your community is about first, and the software second.

The Guide's own steps are on its page How To Add Your BBS Listing. It also offers its whole list as a download, so a listing there can travel further than the site itself.