Subtext - A multi-user BBS server for classic MacOS
Subtext is a multi-user BBS server that is developed on and for Macintosh
System 6 (and above).
It supports dialin access through a serial modem and Telnet access through
For full documentation, see the
file included with the distribution.
To see it in action on my Kludge BBS which runs Subtext on a Macintosh Plus,
you can telnet to
in a web browser, or dial
+1-312-654-0090 with a modem (8/N/1).
Subtext is open source software. I have some videos about its development and C programming on System 6 in general.
Latest Update: Subtext 2.0 Released with FidoNet Support (2023-05-01)
Subtext 2.0.1 has been released:
(StuffIt 3 archive, includes
and THINK C 5 project file)
b353e52607ee6a48 d3ec31e45adc29d5 09a28ef8f12fd5e8
This is a major update to Subtext that represents many months of development, over 200 amendments, and many nights of testing and debugging. The largest change is the addition of FidoNet (FTN) support for distributed mail (Netmail) and message boards (Echomail) by way of a binkp hub.
Many thanks to Andy Diller for testing and debugging many release candidates.
All changes in this version:
- Add support for FTN (FidoNet) EchoMail and NetMail, with support for fetching from and sending to a Binkp hub, including PKZIP archives of packets
- Move mail to a separate database file for easier backup
- Implement sysop paging/answering, displaying the user's message on the screen with a beep
- Implement custom "NoModem" protocol for file transfers when a host is connecting through the trusted host assuming this is a web gateway
- List more items per screen in boards, files, and sysop
- List newest mail first and a global setting to prune mail after a configurable amount of days
- Add options to sysop menu to forcefully hangup/reset the modem, and to reboot the system
- Add timezone UTC offset setting, use to convert timestamps in FTN messages to local timezone, and add a "timezone" template variable
- Add setting for separate maximum idle time for sysops (which can be set to 0 to disable)
- Mask password fields in sysop settings menu
BOARD_LIST_BOARDScommand for main menu, which lists all local boards
- Faster session log pruning, fix a bug where failed logins were still being written to the session log
- Fix SHA1 checksum calculation for uploaded files and show progress during calculation
- Implement folder file description/notes editing and add an option for sysop to recalculate SHA1 checksum before saving
- Try to handle malloc failures gracefully everywhere rather than exiting
Note: version 2.0.1 was released shortly after 2.0 to fix a corrupted default menu list resource.
Subtext 1.1 Released (2022-12-01)
Subtext 1.0 Released (2022-11-22)
Source code and its THINK C 5 project file are contained in the latest release archive, and can be viewed on AmendHub.
- Multithreaded, multi-user BBS server that runs on System 6+
- Telnet support through MacTCP
- Direct serial modem support (no Communications Toolbox)
- Integrated ANSI-capable local console
- FidoNet (FTN) support for Netmail and Echomail through a Binkp hub
- Local log window with smart screen blanking
- Multiple threaded message boards
- Multi-user interactive chat
- Private messaging/mail
- File uploading and downloading with ZMODEM support
- Secure user password storage with SHA256
- View/menu templates with variable expansion
- Configurable main menu key shortcuts
- Telnet brute-force IP banning by sending UDP packets to a firewall host
By default, Subtext only shows its log window at the console.
The menus at the top allow the Sysop to edit menu and view templates in a large
All other configuration is done through the BBS itself by logging in as a
Sysop and accessing the Sysop Menu (with
! by default).
Subtext has an integrated VT100-capable terminal to quickly login as a Sysop user at the console.