SkillAgentSearch skills...

Flynn

A Telnet and Finger client for classic 68k Macintoshes

Install / Use

/learn @ecliptik/Flynn
About this skill

Quality Score

0/100

Supported Platforms

Claude Code
Claude Desktop

README

Flynn

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.

<p align="center"> <a href="#download">Download</a> · <a href="#features">Features</a> · <a href="#keyboard-shortcuts">Keyboard Shortcuts</a> · <a href="#building">Building</a> · <a href="#testing">Testing</a> · <a href="#acknowledgments">Acknowledgments</a> · <a href="#license">License</a> </p>

System 6

| | | |:---:|:---:| | Flynn telnet session with neofetch | Flynn running tmux with split panes | | Telnet Session | tmux Split Panes | | Flynn connect dialog | Flynn BBS and terminal multi-window | | Connect Dialog | Multi-Session and ANSI-BBS |

System 7

<p align="center"> <img src="docs/screenshots/flynn-256color.png" alt="Flynn 256-color on System 7" width="100%"> <br> <strong>256-Color Multi-Session</strong> </p>

Download

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.

Requirements

  • 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)

Features

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
  • 8 fonts (Monaco, Geneva, Chicago, Courier, New York; Helvetica, Times, Palatino on System 7) with independent size selection (9, 10, 12, 14)
  • 11 built-in color themes (Solarized Light/Dark, TokyoNight Day/Night, Amber CRT, System 7, Compact Mac, Dracula, Nord) plus Light and Dark mono themes, with per-window independence
  • Theme import/export in Ghostty format — import any Ghostty theme file, auto-snapped to the Mac 256-color palette

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+I)
  • User and host queries with optional verbose (/W) flag
  • Finger forwarding (user@host@gateway auto-split)
  • Remembers last host/user across launches

Session Management

  • Bookmarks with per-bookmark protocol, font, and terminal type
  • Reconnect (Cmd+R) and keep-alive (NOP every 120s)
  • Session logging to text file (Cmd+L) with ANSI escape filtering
  • Page Setup and Print (Cmd+P) with Printing Manager support
  • Find in Scrollback (Cmd+F / Cmd+G), Show Clipboard, Reset Terminal
  • Persistent settings, window position, and telnet:// URL handling
  • MultiFinder, Apple Events, and Notification Manager support

Keyboard Shortcuts

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 | | Find | Cmd+F | Search scrollback and screen | | Find Again | Cmd+G | Repeat last search | | Bookmarks | Cmd+B | Open bookmark manager | | Add Favorite | Cmd+D | Save current session as bookmark | | Finger | Cmd+I | Finger protocol query | | New Session | Cmd+N | New session (new window if connected) | | Reconnect | Cmd+R | Reconnect to same host after disconnect | | Start/Stop Logging | Cmd+L | Log session output to text file | | Print | Cmd+P | Print scrollback and screen content | | Save Contents | Cmd+S | Save scrollback and screen to text file | | Close Window | Cmd+W | Close active session window | | Quit | Cmd+Q | Quit Flynn |

Building

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)/toolchain

Then build Flynn:

./scripts/build.sh

Build Presets

Flynn 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 sessions

Individual 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-darkmode

See docs/BUILD.md for the complete list of build flags, feature details, memory costs, and examples.

Testing

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.

Acknowledgments

  • 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), and MacTCP.h are 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.

License

ISC License. See LICENSE for full details.


Note: The GitHub repository is a read-only mirror. Please open issues and pull requests on Codeberg.

View on GitHub
GitHub Stars14
CategoryDevelopment
Updated38m ago
Forks1

Languages

C

Security Score

80/100

Audited on Apr 7, 2026

No findings