The next-generation BBS software

  • 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
  • No hosting fees it runs at your place
  • No outside costs your power, your Wi-Fi
  • No cloud nobody else's server

Apps for joining

What you join a board with: a telnet clientA free app for joining a board: it connects to the board's address and shows its screens., the free app that connects to a board's address and shows its screens. BBS people also call it a terminalWhat you type into a board from: a telnet client on a phone or PC, an old computer, or a real terminal.. Any one works, but some are built for this and look a great deal better doing it. One exception, worth knowing before you install anything: a board that takes SSHAn encrypted way of connecting to a board, beside telnet: what you type is scrambled on the way, so only the board can read it. can be called with the ssh command your computer most likely already has, and connect with SSH is the whole of it.

Connected to a board.Handle:>a laptopa phone

Just tell me what to install

SyncTERM, on Windows, macOS or Linux. It is made for joining boards: it speaks ANSI and CP437 properly, handles file transfers, keeps a dialling directory, and understands telnet:// links so clicking an address on this site actually works. If you install one thing, install this.

Get SyncTERM

On a phone, TERMinator on Android or iPhone, and MuffinTerm on iPhone, iPad and Mac, both do the job and render ANSI art correctly. Termius, free for Android and iPhone, works well too. It is a general app for connecting to servers rather than one made for boards, and telnet is in its free plan.

A Chromebook is the one machine where none of that installs straight into the browser. It can join a board through its Linux environment or an Android app, and on a school or work Chromebook both are settings somebody else owns. It has its own section further down.

The rest of the modern options

ClientPlatformWorth knowing
SyncTERMWindows, macOS, LinuxThe default recommendation. ANSI, CP437, transfers, dialling directory.
NetRunnerWindows, LinuxFrom the Mystic BBS author. Good ANSI. No Mac or Android build.
mTelnetWindowsSmall, fast, built for BBSes.
MuffinTermiOS, macOSHandles PETSCII as well as ANSI.
TERMinatorAndroid, iPhone and iPad, ChromeOS with the Play StoreCP437 art, classic fonts, ZMODEM transfers.
TermiusAndroid, iPhone and iPad, Windows, macOS, LinuxA general SSH and telnet app, not made for boards. Telnet is in the free plan.
PuTTYWindows, LinuxEverywhere already, but set the character set to CP437 or the art will be wrong. Not built for this.
telnetLinux, macOS, BSDtelnet unleashed.local 6400. Fine and plain. On Debian or Ubuntu: sudo apt -y install inetutils-telnet.
ncanywherenc host 6400. Works, negotiates nothing, and looks it.

macOS removed its telnet command in High Sierra. Install SyncTERM or MuffinTerm rather than fighting it.

Windows has a Telnet Client too, but it is an optional feature that is off by default and it renders ANSI poorly. Use something else.

Whatever you use, remember what you are using it for. Telnet carries every keystroke in the clear, including your password. Never reuse a password on a telnet board. What that risks.

Connect with SSH

SSH is here: encrypted connections on every ESP32-S3 board, from firmware 1.1.2. Over SSHAn encrypted way of connecting to a board, beside telnet: what you type is scrambled on the way, so only the board can read it., everything between your computer and the board is scrambled on the way, your password included. Telnet stays open on every board, for the machines that cannot encrypt, and boards on a classic ESP32 take telnet only.

ssh -p 6422 yourhandle@board.example.com

Chromebooks

$ telnetone you controlmanaged at school or work

A Chromebook you control can usually join a board. A school or work Chromebook usually cannot, until whoever manages it switches something on. Chrome on its own never can: no web page and no Chrome extension is allowed to open the kind of plain network connection telnet needs, so every route below goes around the browser rather than through it. On a managed Chromebook, every one of those routes is a setting that belongs to the administrator.

Find out which kind of Chromebook you have before anything else, because it changes the answer. Select the time at the bottom right, then Settings, then About ChromeOS, then Developers. If there is a Linux development environment row with a Set up button, you are fine. If the row is missing, or the button refuses, the device is managed and an administrator has turned it off. A few older Chromebooks never had it.

If Linux is available

This is the route that works, and it ends with an ordinary terminal.

  1. Select the time at the bottom right, then Settings, then About ChromeOS, then Developers.
  2. Next to Linux development environment, select Set up, and answer the few questions it asks. Google says setup takes ten minutes or more, and that is about right.
  3. A Terminal window opens when it finishes. What you are looking at is Debian.
  4. Install a telnet client: sudo apt -y install inetutils-telnet
  5. Join a board: telnet 192.168.1.50 6400, with the address and port from the listing. On an ESP32-S3 board you can call over SSH instead, which is encrypted: ssh -p 6400 yourhandle@192.168.1.50.

Use the numeric address rather than a .local name. The Linux side looks names up for itself and does not always see what ChromeOS can see, so a name that works in the browser can fail in the terminal for reasons that have nothing to do with the board.

If Linux is blocked

Then it is a conversation with whoever manages the devices, and it goes better if you ask for the setting by name instead of asking for Linux.

Worth saying in that conversation, because it is usually the real question: this starts a sandboxed Debian container. It is not developer mode, it does not unenrol the device, and by Google's own description a bad Linux app can affect other Linux apps and nothing outside them.

The other ways in, and what each costs

If none of those is available to you, a Chromebook cannot join a board over telnet, and there is no trick that gets round it. The machine is doing exactly what it was set up to do. Borrow a Windows, Mac or Linux computer for the evening, or ask for the Linux setting, which is the smallest of the three requests.

Clicking an address instead of typing it

Every board on the list has its address as a link. Whether that link does anything depends on which program your computer has registered for telnet://, and the default is often wrong or missing. How to fix that.

The address is ordinary text inside the link, on purpose, so selecting it and pasting it into a terminal always works, whatever your machine does.

Joining from something older

This is the more interesting half. A board answers anything that can open a telnet session, and with a bridge that includes machines built before the protocol was common.

Commodore

READY.Commodore 641541 and monitor
MachineSoftwareOnto the wire
C64, C128CCGMS, Novaterm, DesTerm 128TeensyROM, WiModem232, Comet64, Zimodem, or an RS-232 cartridge
VIC-20, PET, Plus/4period terminal softwarea user-port RS-232 interface to a bridge

The board speaks PETSCII natively, at 40 or 80 columns. A Commodore does not answer the board's probe the way a PC terminal does, so on connect the board asks you to press DEL, then whether you are on 40 or 80 columns. A C64 gets a C64 screen, not an approximation of one.

Atari

READYAtari 800XLa TV
MachineSoftwareOnto the wire
Atari 8-bitBobTerm, Ice-TFujiNet, or an 850 interface to a bridge
Atari ST, FalconUniTerm, CoNnectthe built-in serial port to a bridge

Apple and Amiga

]1>Apple IIAmiga 500
MachineSoftwareOnto the wire
Apple II, IIgsProTERM, ASCII Express, SpectrumUthernet II, or a Super Serial Card to a bridge
Classic MacZTerm, White Knightthe modem or printer port to a bridge
AmigaNComm, term, JR-Commthe serial port to a bridge, or a TCP/IP stack

Everything else

C:\>a DOS PCTRS-80 Model 100
MachineSoftwareOnto the wire
TRS-80 Model 100the built-in TELCOMthe RS-232 port to a bridge
MSXTELNET for UNAPIan ethernet or Wi-Fi UNAPI cartridge
ZX SpectrumVTX 5000, Spectranet clientsa Prism VTX 5000 or a Spectranet card
Amstrad CPCEwenTerma serial interface to a bridge
CP/M, S-100Kermit, MEXthe machine's serial port to a bridge
DOSTelix, Procomm Plus, Qmodem, Terminatea packet driver and a TCP/IP stack, or a serial bridge

Actual terminals

Handle:a VT220-style terminalTeletype Model 33
TerminalOnto the wire
DEC VT100, VT220, VT320a terminal server, a USB serial adapter, or the board's own serial bridge
Wyse WY-60, Televideo 925, ADM-3A, Heathkit H19the same
Teletype Model 33 ASRa current loop converter, at 110 baud, if that is the sort of thing you enjoy

What a bridge is

serialWi-FiBBSold machinebridgethe board

Most of the machines above have a serial port and no idea what TCP is. A bridge sits between the two: it takes the serial line on one side and speaks telnet on the other, so the old machine thinks it is talking to a modem.

Hardware ones for Commodore and Atari are listed above. On anything with a serial port, an ESP32 running Zimodem does the same job for a few dollars, and so does tcpser on a computer you already have. A real modem and a real phone line also still work, if you have both.

What the board does with all this

It works out what it is talking to when you connect and draws itself to suit, so an Amiga, a TRS-80, a phone and a modern laptop can be in the same chat room and each see something that looks right to it. The first call page says how, and what it may ask.