This repository contains tools releated to BBSing and Ansi in general. It contains:
Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration. Available for all of the usual platforms.
If you shell into a machine and get a terminfo complaint, you'll want to install the ghostty-terminfo
package for whatever you logged into. Actually does transparency nicely.
While xthulu is intended to be a community server with multiple avenues of interaction (e.g. terminal, browser, REST API), its primary focus is to provide a modern SSH terminal interface which pays homage to the bulletin boards of the 1990s. Rather than leaning entirely into DOS-era nostalgia, modern character sets (UTF-8) and terminal capabilities are taken advantage of.
A terminal emulator that allows you to connect to a serial device from your web browser. Based on the WebSerial API and xterm.js. Connect to a serial device from your web browser (9600 - 921600 baud, but defaults to 115200). Settings kept in browser local storage. Font size can be adjusted (10 to 40, defaults to 15). Scrollback buffer is limited to 512 bytes.
Building it yourself results in three different variants: The default version, one where all of the components are in a single file, and one where assets that can be remotely loaded will be and everything else is in the file.
Because it uses the Webserial API, you'll need to use a web browser that supports it (like Chrome) or has an addon that implements the Webserial API (Webserial for Firefox).
Over 50 Pre-patched fonts designed for enthusiasts who love to rice their terminal, window manager, and more, featuring over 60k icons as glyphs for ultimate customization and flair!
Tweak Mode lets you customize your patched fonts to suit your needs. You can include or exclude specific icon packs from a selected font using the corresponding index file. This index file, available in CSV format, makes it easy to search for glyphs with tools like fzf and can be seamlessly integrated with other tools for enhanced functionality.
Forge Mode allows you to create your own iconic fonts by converting SVG icons into a font format.
An aquarium that runs in your terminal!
A decoration/fidget-toy that lets you watch your fishes' lifecycle while you code. Test drive of my plugin bevy_ratatui_render, a plugin that lets you render a bevy application to the terminal using ratatui/ratatui-image.
You can feed your fish and turn their light on and off. Has optional sound effects, also.
In the AUR.
Terminal-based tools for (mostly SDR-originated) signal analysis. Can read signals from stored files or live from the radio via TCP.
Offloads rendering to the GPU for lower system load. Uses threaded rendering for absolutely minimal latency. Performance tradeoffs can be tuned. Graphics support in-window, with images and animations. Ligatures and emoji, with per glyph font substitution supported. Hyperlink support, with configurable actions. Control from scripts or the shell. Extend with Python ("kittens"). Programmable tabs, splits and multiple layouts to manage windows. Browse the entire history or the output from the last command comfortably in pagers and editors. Edit or download remote files in an existing SSH session.
WezTerm is a powerful cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust. Runs on Linux, macOS, Windows 10 and FreeBSD. Multiplex terminal panes, tabs and windows on local and remote hosts like GNU Screen or tmux, with native mouse and scrollback. Ligatures, Color Emoji and font fallback, with true color and dynamic color schemes. Scrollback buffer search. SGR-style mouse reporting. Render underline, double-underline, italic, bold, strikethrough. Has an SSH client built in. Can connect to serial ports as a client. iTerm2 compatible improtocol support. Kitty graphics support.
Configuration files are written in Lua. Hot reloading is active by default.
Github: https://github.com/wez/wezterm
Paracon is a packet radio terminal for Linux, Mac and Windows. It is focused on simplicity and ease of use, and incorporates the core functionality that most packet users need without trying to include all of the bells and whistles that few would use.
Multiple simultaneous AX.25 connected mode sessions, allowing for connections to multiple BBS or other remote nodes. Unproto (UI, or datagram) AX.25 mode, allowing for keyboard-to-keyboard chat or other non-connected uses. Text-based console application looks and behaves the same on all supported platforms (Linux, Mac, Windows). Uses the AGWPE protocol to communicate with any server implementing that protocol. Tested and supported with Direwolf, ldsped and AGWPE. Self-contained executable requires only a Python installation to run, without the need to install any additional dependencies.
vtm is a windowed multi-user environment for unlimited number of terminals. In other words this is an infinite 2-D space of terminal windows. To render its interface, vtm needs a text console -- be it a terminal emulator, Windows Command Prompt, or a Linux VGA Console. See Tested Terminals for details.
vtm is just a single executable file without any third party dependencies.
vtm renders itself at 60 frames per second into its own internal buffers. Output to the text console occurs only when the console is ready to receive the next frame. All pending frames are merged for smooth running even on non-accelerated text consoles.
vtm's multi-user architecture allows any number of participants to directly connect to the environment for collaboration. Each environment session is identified by an operating system's named pipe that serves as a gateway for users. To connect, the user just need to run vtm in their text console, either locally or remotely via SSH. See the command line options for details.
Qodem is a public domain re-implementation of the DOS-era Qmodem serial communications package, updated for modern systems. Qodem goes beyond similar DOS-era emulators in many ways. In addition to serial/modem connections, Qodem can also connect to remote systems over telnet, rlogin, ssh, raw sockets, or through an arbitrary command line. Curses-based, and as such can be run in command-line environments such as the raw Linux console, through an ssh session, or inside a graphical X11-based terminal emulator. Qodem can even be run inside itself. Understands its supported emulations much better than many other programs. It has a "vttest score" of 104; under a true xterm it even displays double-width/double-height characters correctly. It can play ANSI Music, supports ANSI fallback for Avatar, translates both PC VGA and DEC multinational characters to Unicode, and can handle the UTF-8 flavors of Linux and xterm emulations.
A new-generation text editor that seems geared toward programmers. Draws heavily from vim in certain UI/UX respects.
Carbonyl is a Chromium based browser built to run in a terminal. It supports pretty much all Web APIs including WebGL, WebGPU, audio and video playback, animations, etc. It's snappy, starts in less than a second, runs at 60 FPS, and idles at 0% CPU usage. It does not require a window server (i.e. works in a safe-mode console), and even runs through SSH. Carbonyl originally started as html2svg and is now the runtime behind it.
A directory of things to make your system look awesome.
A utility which captures a terminal session and saves it as an animated SVG.
ART is a Python lib for text converting to ASCII art. Turn regular old text into rendered ASCII art with a single function. Also generates textmoji from names (aprint("butterfly")
). Random art (randart()
) is also possible. You can also specify the font used and how it's decorated (if you want). Can even be used as a CLI tool.
A Minicom like Serial Communication program in Python that adds standard shell features like autocompletion, command history, inline help. It reproduces the behavior of Minicom, adding some features like command history, autocompletion, inline help, and optional pattern highlighting.
Auto-completion and inline help are available using a dictionary file.
An open source terminal font for BBSes and general terminal usage! This font is based upon FixedSys with adaptations to make it more like the Mode7 TeleText font.
Shell In A Box implements a web server that can export arbitrary command line tools to a web based terminal emulator. This emulator is accessible to any JavaScript and CSS enabled web browser and does not require any additional browser plugins. Probably more heavyweight than SSH but it also affords certain advantages.
Written in C.