The most popular bulletin board system for the Macintosh — created by a teenager in 1988, now open source after nearly 40 years. And with Hermes 4, the BBS is back.
Click the terminal to connect to the live BBS.
In 1988, a teenager wrote Hermes BBS in THINK Pascal on a Macintosh. It became the most popular BBS software on the platform — supporting 10 simultaneous connections, dozens of external games, ANSI art, real-time chat, fast ZModem file transfers, and an RSA-based copy protection system that was years ahead of its time.
Sold in 1993, maintained by a succession of devoted owners for three decades, and reacquired by its original creator in 2024. Now open source on GitHub.
Read the Full StoryHermes BBS created
Becomes the #1 Mac BBS platform
Three stewards keep Hermes alive
Reacquired and open-sourced
Hermes 4 — the revival begins
A native app for macOS and iOS, built with Apple's latest frameworks. Real-time chat, forums, file sharing, 68K emulation for the original external programs, and DOOR32.SYS support for modern door games — all on Apple Silicon.
Pixel-perfect VT100/ANSI rendering with full color and cursor control
Multi-channel rooms, DMs, @mentions — the social BBS, modernized
68K emulation for classic externals, DOOR32.SYS for modern door games
Threaded message boards with new-scan and private user email
HTTPS transfers with signed tokens — upload, download, browse
Native management console with live session preview and system monitoring
Hermes v2.2 is fully open source — THINK Pascal, THINK C, 68000 assembly, and all. Including the newly released serial number copy protection system.
v2.2 · MIT License
The complete original source code — THINK Pascal, THINK C, and the newly open-sourced RSA serial number system with 68K assembly.
View on GitHub →macOS · iOS
The modern reimagining — native BBS app with ANSI terminal, real-time chat, 68K emulation, and sysop dashboard. Free beta.
Download Beta →The complete copy protection system from the original Hermes BBS is now public. Genuine RSA public-key cryptography with 256-bit keys, a hand-rolled arbitrary-precision integer library with inline 68000 assembly, cooperative multitasking integration, and anti-tamper mechanisms that used stack capture in raw machine code.
Written by a teenager in 1988. Now fully documented and open for study.
Structurally identical to RSA. A 256-bit modulus N and key pair (P, S) where P×S≡1 mod φ(N). Only the author knew the private exponent P needed to generate serial numbers.
Arbitrary-precision integers up to 1024 bits, stored as arrays of 16-bit words. The critical inner loops — addition with carry, subtraction with borrow, schoolbook multiplication, and Knuth's Algorithm D for division — are all written in inline Motorola 68000 assembly using ADDX, SUBX, and MULU.W instructions. Modular exponentiation uses right-to-left binary square-and-multiply.
Classic Mac OS used cooperative multitasking — a BBS serving multiple callers couldn't block the event loop for RSA computation. The solution: StepPowerModBigInts, an incremental square-and-multiply that advanced a few iterations per call. Validation ran continuously in the background during normal I/O, completing the cryptographic proof over hundreds of event loop cycles.
Failed validation didn't display an error — it used a custom setjmp/longjmp in raw 68000 machine code to redirect program flow. The machine code was stored as a checksummed integer array and executed via obfuscated indirect jump. A pirated copy appeared to work but degraded subtly — skipped session init, silent message failures — making it hard for crackers to confirm defeat.
Rolling hash XORed with version-specific constant. Fast enough for startup — proves internal consistency.
Cooperative modular exponentiation running incrementally in the background during normal BBS operation.
Checksummed three CODE resources from the application binary at load time. Detected executable patching.
Date rollback detection, impossible user record states, and database integrity checks.