A Telnet and Finger client for classic 68000 Macintosh systems, from the Mac Plus and up. Supports monochrome on System 6 and 256 colors on System 7. Works with MacTCP and Open Transport's MacTCP compatibility layer. Cross-compiled on Linux using Retro68.
This project was 100% vibe coded using Claude Code.
Download · Features · Keyboard Shortcuts · Building · Testing · Acknowledgments · License
![]() |
![]() |
| Telnet Session | tmux Split Panes |
![]() |
![]() |
| Connect Dialog | Multi-Session and ANSI-BBS |
Pre-built binaries are available on the Releases page, Macintosh Garden, and Macintosh Repository:
| Edition | Description | Memory | Download |
|---|---|---|---|
| Flynn | Full build — 4 sessions, all features including 256-color | ~768KB | .dsk · .hqx |
| Flynn Lite | Recommended for Mac Plus — 1 session, most features | ~384KB | .dsk · .hqx |
| Flynn Minimal | Bare-bones — 1 session, no scrollback, stripped | ~256KB | .dsk · .hqx |
Each edition is available as .dsk (800K floppy image) and .hqx (BinHex archive). No build toolchain required — just download and run. See docs/BUILD.md for custom builds.
- Macintosh Plus or later (4MB RAM, 68000 CPU)
- System 6.0.8 or System 7 with MacTCP or Open Transport
- ~119KB disk space, ~72KB RAM per session (mono) / ~123KB (color)
Terminal Emulation
- VT100/VT220/xterm/xterm-256color/ANSI-BBS terminal emulation with CP437 rendering
- 256-color support on System 7 with Color QuickDraw (zero System 6 impact)
- SGR attributes: bold, italic, underline, dim, strikethrough, blink, inverse
- UTF-8 with box-drawing, Unicode glyphs, emoji, and Braille patterns (180 primitives + 57 sextants + 18 emoji)
- OSC support: window title, palette and color queries
Display & Windowing
- Multiple sessions (up to 4 simultaneous windows)
- Resizable window and scrollback (80x24 up to 132x50, 192-line scrollback)
- Status bar showing terminal size, protocol, and connection info
- 6 fonts (Monaco 9/12, Courier 10, Chicago 12, Geneva 9/10)
- Dark mode
Input & Interaction
- Mouse text selection with copy/paste
- Bracketed paste mode
- M0110 keyboard support
- Double-buffered rendering
- Keystroke buffering
- Local echo for BBS sessions (WONT ECHO servers)
- Backspace DEL/BS toggle
Finger Protocol (RFC 1288)
- Finger client (File > Finger..., Cmd+F)
- User and host queries with optional verbose (/W) flag
- Finger forwarding (user@host@gateway auto-split)
- Remembers last host/user across launches
Session Management
- Session bookmarks (with per-bookmark Telnet/Finger protocol)
- Settings persistence
- MultiFinder, Apple Events, and Notification Manager support
Flynn is designed for the Apple M0110/M0110A keyboard, which lacks Escape and Control keys. These mappings also work on modern USB/ADB keyboards.
| Action | Keys | Notes |
|---|---|---|
| Escape | Cmd+. | Classic Mac "Cancel" convention |
| Escape | Clear (keypad) | M0110A numeric keypad key |
| Escape | Esc key | Modern keyboards only (not on M0110) |
| Ctrl+key | Option+key | e.g., Option+C = Ctrl+C |
| Scroll up/down | Cmd+Up/Down | One line at a time |
| Scroll page | Cmd+Shift+Up/Down | One page at a time |
| Select text | Click+drag | Stream selection with inverse video |
| Select word | Double-click | Selects contiguous non-space word |
| Extend selection | Shift+click | Extends selection to click point |
| Copy | Cmd+C | Copies selection, or full screen if none |
| Paste | Cmd+V | Sends clipboard to connection |
| Select All | Cmd+A | Selects entire terminal screen |
| F1-F10 | Cmd+1..0 | For M0110 keyboards without function keys |
| Bookmarks | Cmd+B | Open bookmark manager |
| New Session | Cmd+N | New session (new window if connected) |
| Finger | Cmd+F | Finger protocol query |
| Save Contents | Cmd+S | Save scrollback and screen to text file |
| Close Window | Cmd+W | Close active session window |
| Quit | Cmd+Q | Quit Flynn |
Requires the Retro68 cross-compilation toolchain. Build it from source (68k only):
git clone https://github.com/autc04/Retro68.git
cd Retro68 && git submodule update --init && cd ..
mkdir Retro68-build && cd Retro68-build
bash ../Retro68/build-toolchain.bash --no-ppc --no-carbon --prefix=$(pwd)/toolchainThen build Flynn:
./scripts/build.shFlynn supports fully customizable builds. Three presets cover common configurations:
| Preset | Sessions | Scrollback | Features | Memory |
|---|---|---|---|---|
minimal |
1 | none | clipboard, alt screen only | ~256KB |
lite |
1 | 96 lines | everything except color | ~384KB |
full |
4 | 192 lines | everything | ~768KB |
The default build uses the full preset. Select a preset with --preset:
./scripts/build.sh --preset minimal # stripped, for 1MB Macs
./scripts/build.sh --preset full # everything, 4 sessionsIndividual features can be toggled with --feature / --no-feature flags. Presets are applied first, then individual flags override:
./scripts/build.sh --preset minimal --finger --bookmarks
./scripts/build.sh --sessions 2 --color --no-darkmodeSee docs/BUILD.md for the complete list of build flags, feature details, memory costs, and examples.
Uses Snow emulator (v1.3.1) with a Mac Plus ROM and System 6.0.8 SCSI hard drive image. Snow supports DaynaPORT SCSI/Link Ethernet emulation for MacTCP networking. The emulator can be fully automated via X11 for unattended testing. See docs/TESTING.md for details.
- Claude Code by Anthropic
- Retro68 by Wolfgang Thaller
- Snow emulator
- wallops by joshua stein — MacTCP wrapper (
tcp.c/tcp.h), DNS resolution (dnr.c/dnr.h), utility functions (util.c/util.h), andMacTCP.hare used directly from this project. ISC license. - subtext by joshua stein — The Telnet IAC protocol implementation (
telnet.c/telnet.h) served as the reference for Flynn's client-side telnet engine. ISC license.
ISC License. See LICENSE for full details.




