Hermes Server Hermes Hermes Terminal
Now in Development · v0.1.0

Hermes 4

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.

Architecture

Two apps, one system

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.

Hermes Server

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.

  • Multi-user with simultaneous connections
  • Telnet, TelnetS (TLS), HTTPS, WebSocket, and SSH listeners
  • Native sysop dashboard with live activity log and country flags
  • Geo-IP, country, and CIDR-based IP blocklists
  • SQLite database with full migration system
  • 68K emulation engine and sandboxed DOOR32 runtime

Hermes Terminal

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.

  • Full ANSI/VT100 terminal with CP437 character support
  • Native mail UI with HTML rendering and attachments
  • Native chat panel alongside ANSI display
  • HTTPS and ZMODEM file transfers with progress
  • iPad multi-window for terminal, chat, and mail side-by-side
  • iPhone & iPad with pinch-to-zoom, sleep prevention, and session restore
Features

Everything a BBS should be

01

ANSI Terminal Engine

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 showing the welcome screen, login stats, and main menu

Hermes Terminal — main menu

Hermes Terminal native chat showing multiple channels, link previews, and file sharing

Hermes Terminal — native chat with link previews and file sharing

02

Real-Time Chat

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.

03

Forums, Email & Internet Mail

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.

Hermes Terminal showing forum message reading with threaded replies

Hermes Terminal — reading forum messages in the terminal

Hermes Server sysop view of the chat lobby with link previews and rich content

Hermes Server — sysop chat view with link previews

04

File Sharing

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.

05

External Programs

68K Emulation · DOOR32.SYS · Classic & Modern

Two 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.

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.

Blackjack. Slots. Checkers. Trivia. Usurper Reborn. The originals on emulated hardware, and new doors running natively — side by side on the same board. This is what revival looks like.

HerTris — a Tetris clone running via 68K emulation in Hermes Terminal

HerTris — a 1990s external running on Apple Silicon via 68K emulation

Default Personalities

ByteWiz Tech enthusiast
RetroBot Retro computing nostalgia
NewsWire News & culture curator

Sysops can create custom personalities or override prompts entirely.

06

AI Chat Bots

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

Telnet :2300
TelnetS (TLS) :2301
HTTPS :2302
WebSocket :2303
SSH :2304 NEW
07

SSH Access

SwiftNIO SSH · Auto-Login

Connect to Hermes with any standard SSH client — no special software needed. Built on SwiftNIO SSH, 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.

08

Web Terminal

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.

browser
$ open https://your-bbs:2303
 
╔══════════════════════════╗
Welcome to Hermes BBS   ║
Web Terminal Connected  ║
╚══════════════════════════╝
 
Login:
09

Sysop Dashboard

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 sysop dashboard showing user management with inline editing, security levels, and account details

Hermes Server — user management with inline editing

Sample Activity Log

12:04 🇺🇸 CONNECT ssh · sysop
12:07 🇩🇪 CONNECT telnets · jane
12:11 🇨🇳 BLOCKED country
12:14 🇷🇺 BLOCKED cidr
12:18 🇬🇧 IDLE pre-login timeout
12:22 🇯🇵 CONNECT https · kenji

Country flags resolved via geo-IP. Single-line entries for blocked attempts.

10

Security & Moderation

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.

Under the Hood

Built right

Concurrency

Async/Await & Actors

Modern structured concurrency with actor-based session management. No callback spaghetti, no thread locks.

Networking

Network.framework + SwiftNIO

Apple's networking stack for Telnet, TelnetS, and HTTPS. SwiftNIO SSH for secure shell access. WebSocket for browser terminals.

Security

TLS Everywhere

Self-signed certificates generated on first launch. TELNETS and HTTPS encrypted by default. Passwords salted and hashed.

Storage

SQLite + Migrations

Full relational database via GRDB.swift with versioned migrations. Users, forums, messages, files, chat — all tracked cleanly.

Rendering

Metal Compositing

The ANSI terminal uses canvas-based rendering with Metal compositing for smooth, hardware-accelerated display at any font size.

Platform

Apple Native

Built with Apple's latest frameworks for macOS and iOS (via Mac Catalyst). Runs on Apple Silicon. No Electron, no web views.

Current Status

Early development. Free beta.

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.

Actively developed · v0.1.0 · macOS & iOS