A native macOS and iOS application that reimagines the BBS for modern Apple hardware. Real-time chat with AI bots, threaded forums, internet email with full-text search, file sharing, SSH and web terminal access, a pixel-perfect ANSI terminal — and 68K emulation to run the original Hermes external programs on Apple Silicon.
Not a retro novelty. Not a museum piece. A living application that carries the spirit of the original BBS into a new generation.
Hermes 4 is a client-server BBS. The server runs the board — users, forums, files, chat, games. The client connects in and provides the full BBS experience: classic ANSI terminal for purists, with native features layered on top for modern users.
macOS application
The BBS engine. Runs on your Mac and serves connections over five protocols — Telnet, TelnetS, HTTPS, WebSocket, and SSH. Manages users, forums, email, chat channels, file storage, and external programs. Comes with a native sysop dashboard for real-time monitoring, geo-IP intelligence, and country/IP blocklists.
macOS & iOS application
The user experience. Connect to any Hermes server (or any BBS that speaks Telnet) with a pixel-perfect ANSI terminal. When connected to a Hermes 4 server, native features light up: file transfer progress, native mail, chat panels, attachment previews, and more.
Hermes 4 runs six protocol listeners simultaneously on a single Mac. Classic Telnet clients, SSH terminals, modern web browsers, and the native Hermes Terminal app all connect to the same board — the same users, forums, files, and chat.
The original BBS protocol. Compatible with PuTTY, SyncTERM, and every classic terminal emulator ever made. Zero-config access for legacy and modern Telnet clients alike.
Full TLS encryption before any Telnet data is exchanged. Same classic BBS experience, fully private. Certificate shared with the HTTPS server; auto-generated on first launch.
Any standard SSH client connects — no special software. Ed25519 host key, terminal size negotiation, live resize as you drag the window. SSH-authenticated users skip the BBS password prompt.
Full ANSI color terminal in any web browser. WebSocket connection to xterm.js — real cursor control, 16 colors, and character attributes. Share a URL and anyone can connect instantly, no software required.
HMAC-SHA256 signed, time-limited download and upload URLs. Hermes Terminal detects them via OSC in-band signaling and handles transfers natively. Generic Telnet clients paste the URL into a browser.
Full ZMODEM send and receive for clients that can't handle HTTPS. Auto-detected from the data stream. Per-user preference: Auto (HTTPS for Hermes Terminal, ZMODEM for others), HTTPS, or ZMODEM.
HermesANSI
Not a generic terminal emulator — a purpose-built engine for the classic BBS experience. Full VT100/ANSI escape sequence parsing, 16-color palette with named slots, CP437 character set for authentic BBS art, and a virtual screen buffer with configurable scrollback.
ANSI scroll regions enable split-screen chat display. Text selection and copy/paste work natively. Canvas-based rendering with Metal compositing keeps everything smooth at any font size.
Hermes Terminal — main menu
Hermes Terminal — native chat with link previews and file sharing
Multi-channel · Persistent History
Multiple named channels — join #lobby, create #games, switch freely. Persistent message history backfills when you enter a channel. Message reactions, inline editing, and drag-and-drop file attachments. Slash commands for whispers, emotes, file sharing, blocking, and away status.
@Mentions with cross-channel notifications and typing indicators. Split-screen ANSI display for the classic feel, or use the native chat panel in Hermes Terminal for a modern interface. The sysop dashboard shows a live feed across all channels.
Threaded Messages · FTS5 Search · Internet Email
Multi-conference forum system with hierarchical organization — conferences contain subforums, each with their own access levels. At logon, a new-scan prompt shows exactly what's waiting; per-user read pointers, personal-message indicators, and a global catchup keep the message base coherent across visits.
Private email between users with quoted replies, threaded conversations, unread indicators, and per-side deletion. Hermes Terminal provides a native mail UI with HTML rendering, MIME attachments, drag-out .eml export, and Gmail mbox import for migrating archives in.
SQLite FTS5 full-text search with Gmail-style operators — from:, to:, subject:, has:attachment, date ranges, exact phrases — backed by an Advanced Search UI for complex queries.
Internet email bridges the BBS and the wider world — inbound via Cloudflare Email Routing, outbound via Amazon SES with multipart MIME attachments. Sysops set per-user mail permissions, daily outbound limits, and forwarding rules.
Community voting and polls are built into the forum layer. Sysops and users create single-choice or multi-choice polls with optional anonymity, configurable result visibility (immediately, after voting, or after the poll closes), and expiry dates. Results render as an ASCII bar chart in the terminal. Active polls surface in the subforum header and are accessible from the Voting Booth on the main menu.
Hermes Terminal — reading forum messages in the terminal
Hermes Server — sysop chat view with link previews
HTTPS · ZMODEM · Signed Tokens
Two transfer protocols, old and new. HTTPS transfers use HMAC-SHA256 signed, time-limited URLs — Hermes Terminal detects them automatically and shows native progress. For classic BBS compatibility, full ZMODEM send and receive is built in, with auto-detection so the client picks up transfers seamlessly.
Organized file areas with access controls, per-user new-file tracking, and download counts. Per-user transfer preference lets each user choose Auto, HTTPS, or ZMODEM. Standard Telnet clients receive URLs for browser fallback. Share files directly into chat with the /share command.
68K & x86 Emulation · DOOR32.SYS · Classic & Modern
Three ways to run external programs. The Musashi 68K CPU emulator loads and executes the original Hermes externals from v2.2 through v3.5.11 — BBS door games and utilities written in the late 1980s and 1990s, running on modern Apple Silicon hardware. Over 45 classic externals have been tested successfully.
An in-process x86 emulator goes back further still — running unmodified MS-DOS door games like LORD straight from the sysop UI, with no DOSBox or external emulator required.
For modern door games, Hermes 4 supports the DOOR32.SYS standard — the same drop file protocol used across the BBS world. Any DOOR32.SYS-compatible program runs natively as a child process with full stdio bridging, CP437 or UTF-8 encoding, and automatic line-ending translation. Games like Usurper Reborn and other modern doors work out of the box.
HerTris. Hangman. 3AM Blackjack. Usurper Reborn. The originals on emulated hardware, classic DOS doors under x86, and new doors running natively — side by side on the same board. This is what revival looks like.
HerTris — a 1990s external running on Apple Silicon via 68K emulation
Default Personalities
Sysops can create custom personalities or override prompts entirely.
Configurable Personalities · Channel & DM
AI-powered bots that live in your chat channels and feel like regulars, not assistants. Each bot has a distinct personality — a tech geek, a retro computing historian, a news curator — greets newcomers when they join, responds to @mentions, joins ongoing threads when it has something to add, and even talks to other bots when the room is quiet.
Sysops control everything: which model each bot runs on, which channels it joins, how often it speaks, what triggers a response (smart probability, keyword matching, or periodic), and hard rate limits to keep things balanced. Bots can search the web and X in real time to surface relevant links and news into chat.
Create custom personalities or use the three defaults. Choose any Grok model per bot, override system prompts for full control, and track token usage and message stats individually. A BBS community that's never empty.
Connection Protocols
SSH · Auto-Login
Connect to Hermes with any standard SSH client — no special software needed. The server handles terminal type negotiation, window size detection, and live resize as you drag your terminal.
SSH-authenticated users are automatically logged in to the BBS — no second password prompt. Five protocols, one board: Telnet, TelnetS, HTTPS, WebSocket, and SSH all serve the same BBS simultaneously.
Browser-Based · No Install
Full ANSI terminal access from any web browser. The WebSocket listener serves a complete BBS session with real-time rendering of colors, cursor control, and character attributes — no plugins, no downloads.
Point someone at your board's URL and they're in. The same BBS experience that Hermes Terminal and SSH clients see, delivered through the browser for zero-friction access.
Native Management Console
A full native administration interface. See active connections in real time with country flags, color-coded status, and connection origin — disconnect or preview any session. Manage forums, file areas, users, chat channels, polls, and AI bots from a clean sidebar UI.
Live chat feed across all channels simultaneously. A live activity log with country-flag annotations and 30-day auto-pruning. User Manager with inline editing, security-level control, sortable columns, password reset, and soft-delete with restore. Read-only forum toggles, channel creation, and poll administration are one click away.
Scheduled sysop reports email a retro-styled daily digest with uptime, top users, popular externals, and traffic stats. A dedicated sysop terminal window provides direct BBS interaction without leaving the dashboard.
Hermes Server — user management with inline editing
Sample Activity Log
Country flags resolved via geo-IP. Single-line entries for blocked attempts.
Geo-IP · Country & CIDR Blocklists · Sandboxing
Modern boards face modern threats. Hermes 4 resolves the country and ISP for every incoming connection via geo-IP, surfaces a flag in the live activity log, and lets you block whole countries with a checkbox or specific networks with CIDR notation (192.0.2.0/24, 2001:db8::/32).
A pre-login idle timeout sweeps stuck sessions before they tie up nodes. Port scanners and probes are filtered from the activity log so real signal isn't lost in noise. Failed connection attempts log a single, scannable line — every block tells you which list caught it.
Door games run in a hardened sandbox: per-session drop-file isolation, configurable CPU and memory ulimits, and SIGKILL escalation if a child process refuses to exit. Untrusted externals don't get to ruin anyone's day.
English · Italian · Spanish · French · German
Hermes 4 is fully localized in five languages: English, Italian, Spanish, French, and German. Not just the app UI — the BBS itself responds in the user's language. Every menu, prompt, status message, error, and goodbye banner is translated. Users choose their language during registration; the BBS switches to it from that moment forward.
The server handles multiple users in different languages simultaneously. An Italian user and a French user connected to the same board at the same time each receive prompts and menus in their own language, without any per-session configuration. The sysop dashboard and Hermes Terminal app follow the OS locale automatically.
Main Menu — Five Languages
Verified end-to-end over live Telnet. GUI follows OS language. BBS wire output per-user. Both complete — Stage 1 (App UI) and Stage 2 (BBS terminal) shipped.
Modern structured concurrency with actor-based session management. No callback spaghetti, no thread locks.
Apple's networking stack for Telnet, TelnetS, and HTTPS. SwiftNIO SSH for secure shell access. WebSocket for browser terminals.
Self-signed certificates generated on first launch. TELNETS and HTTPS encrypted by default. Passwords salted and hashed.
Full relational database via GRDB.swift with versioned migrations. Users, forums, messages, files, chat — all tracked cleanly.
The ANSI terminal uses canvas-based rendering with Metal compositing for smooth, hardware-accelerated display at any font size.
Built with Apple's latest frameworks for macOS and iOS (via Mac Catalyst). Runs on Apple Silicon. No Electron, no web views.
68K and x86 emulation running the original Hermes externals and classic MS-DOS doors on Apple Silicon. DOOR32.SYS for modern doors. Sandboxed runtime for both classic and contemporary games.
The HermesANSI engine — full VT100/ANSI parsing, Metal compositing, CP437 charset, scrollback search, split-screen chat, and 44 unit tests.
A native macOS editor for creating and editing ANSI art — the welcome screens, banners, and bulletin boards that give a BBS its personality.
The BBS engine in depth — sysop dashboard, user management, geo-IP security, AI bots, and the native SwiftUI administration console for macOS.
An honest, feature-by-feature comparison with the two most popular modern BBS packages — where Hermes 4 wins as the Mac-native choice, and where Mystic and Synchronet still lead.
Hermes 4 is version 0.1.0 — usable, full-featured, and actively improving. Forums, threaded mail with FTS5 search, real-time chat with AI bots, file sharing, internet email, SSH, web terminal, 68K emulation, ZMODEM, geo-IP and CIDR blocking, sandboxed door games, and the sysop dashboard are all working. This is a passion project and a technical revival, not a commercial product. The beta is free.
macOS via direct download. iOS via TestFlight. Requires Apple Silicon.