Introduction

March 1, 2026 ยท View on GitHub

|pypi_downloads| |codecov| |license| |linux| |mac| |windows|

Introduction

A modern Telnet, WebSocket, and SSH client designed especially for BBSs_ and MUDs_

.. figure:: https://dxtz6bzwq9sxx.cloudfront.net/telix-demo.gif :alt: Video recording showing off TUI controls of Telix

Features

  • Session Manager For configuring and bookmarking connections, bundled with an up-to-date directory of over 1,700 MUDs_ and BBSs_.
  • Advanced Telnet Support for popular BBS and MUD Protocols <https://telix.readthedocs.io/en/latest/protocols.html>_
  • WebSocket support for BBS and MUD websocket subprotocols, TELNETS (Telnet + SSL), and SSH protocols are also supported.
  • MUD Features Easy-to-use TUI interface to create macros, triggers, highlights, room mapping, fast travel, random walk, autodiscover, progress bars, chat, and captures through a common Command <https://telix.readthedocs.io/en/latest/commands.html>_ interface, or advanced programming with asyncio Python Scripting <https://telix.readthedocs.io/en/latest/scripting.html>_.
  • BBS/Scene Art support for CP437, PETSCII, ATASCII, iCE colors, by translation of ANSI color codes and legacy encodings to modern 24-bit color codes and terminal encoding (usually utf-8).
  • Graphic Fonts render BBS bitmap fonts (CP437, Topaz, MicroKnight, P0T NOoDLE, and all 45 SyncTERM_ fonts) using kitty/sixel graphics, providing perfect retrocomputing bitmap font display on modern terminals.

Built using Python libraries telnetlib3_, blessed_, textual_, wcwidth_, asyncssh_, websockets_, and numpy_.

.. _telnetlib3: https://github.com/jquast/telnetlib3 .. _blessed: https://github.com/jquast/blessed .. _wcwidth: https://github.com/jquast/wcwidth .. _textual: https://github.com/Textualize/textual .. _BBSs: https://bbs.modem.xyz/introduction.html#what-is-a-bbs .. _MUDs: https://muds.modem.xyz/introduction.html#what-is-a-mud .. _GMCP: https://tintin.mudhalla.net/protocols/gmcp/ .. _MCCP: https://tintin.mudhalla.net/protocols/mccp/ .. _CP437: https://en.wikipedia.org/wiki/Code_page_437 .. _PETSCII: https://en.wikipedia.org/wiki/PETSCII .. _ATASCII: https://en.wikipedia.org/wiki/ATASCII .. _iCE colors: https://forum.16colo.rs/t/ice-colors-or-blinking-text/27 .. _websocket subprotocols: https://mudstandards.org/websocket/ .. _TELNETS: https://www.micropolis.com/support/kb/micropolis-bbs-faq#Is_there_a_secure_Telnet .. _SyncTERM: https://syncterm.bbsdev.net/ .. _asyncssh: https://asyncssh.readthedocs.io/ .. _websockets: https://websockets.readthedocs.io/ .. _numpy: https://numpy.org/

Installation

Requires Python 3.10+.

::

pip install telix

Usage

Launch the Session Manager (TUI)::

telix

Connect directly to a host via Telnet::

# Using CLI,
telix dunemud.net 6789

# with ssl,
telix --ssl dunemud.net 6788

Connect via SSH::

telix ssh://bbs.example.com

telix ssh://user@bbs.example.com:2222

Connect directly via WebSocket::

telix wss://xibalba.vip:44512

telix wss://dev.cryosphere.org:4443/telnet/

For a full list of CLI options:

.. begin-cli-help .. code-block:: text

usage: telix [-h] [--always-do OPT] [--always-dont OPT] [--always-will OPT]
             [--always-wont OPT] [--ansi-keys] [--ascii-eol] [--compression]
             [--connect-maxwait N] [--connect-minwait N] [--connect-timeout N]
             [--encoding ENCODING] [--encoding-errors ENCODING_ERRORS]
             [--gmcp-modules MODULES] [--gmcp-modules-extra MODULES]
             [--line-mode] [--logfile FILE] [--logfile-mode {append,rewrite}]
             [--loglevel LOGLEVEL] [--no-repl] [--on-connect CMD] [--raw-mode]
             [--send-environ VARS] [--shell SHELL] [--speed N] [--ssl]
             [--ssl-cafile PATH] [--ssl-no-verify] [--term TERM]
             [--typescript FILE] [--typescript-mode {append,rewrite}]
             [--key-file FILE] [--username USER] [--background-color COLOR]
             [--bbs] [--color-brightness N] [--color-contrast N]
             [--colormatch PALETTE] [--mud] [--clear-homes-cursor]
             [--ff-clears-screen] [--graphics-font [MODE]]
             [--graphics-columns N] [--graphics-rows N] [--no-ice-colors]
             [--local-echo] [--remote-echo]

Telnet, WebSocket, and SSH MUD/BBS client.

  telix host [port]                 -- Telnet
  telix telnet://host[:port]        -- Telnet
  telix telnets://host[:port]       -- Telnet with SSL
  telix ws://host[:port][/path]     -- WebSocket
  telix wss://host[:port][/path]    -- WebSocket with SSL
  telix ssh://[user@]host[:port]    -- SSH
  telix tcp://host[:port]           -- Raw TCP (BBS)
  telix raw://host[:port]           -- Raw TCP (BBS)

options:
  -h, --help            show this help message and exit

Connection options:
  --always-do OPT       always send DO for this option (comma-separated, named
                        like GMCP)
  --always-dont OPT     always send DONT for this option, refusing even
                        natively supported
  --always-will OPT     always send WILL for this option (comma-separated,
                        named like MXP)
  --always-wont OPT     always send WONT for this option, refusing even
                        natively supported
  --ansi-keys           transmit raw ANSI escape sequences for arrow/function
                        keys
  --ascii-eol           use ASCII CR/LF instead of encoding-native EOL
  --compression         request MCCP compression
  --connect-maxwait N   timeout for pending negotiation (default: 4.0)
  --connect-minwait N   shell delay for negotiation (default: 0)
  --connect-timeout N   timeout for connection in seconds (default: 10)
  --encoding ENCODING   encoding name (default: utf-8)
  --encoding-errors ENCODING_ERRORS
                        handler for encoding errors (default: replace)
  --gmcp-modules MODULES
                        comma-separated list of GMCP modules to request
  --gmcp-modules-extra MODULES
                        comma-separated GMCP modules appended to the defaults
                        (weaker than --gmcp-modules)
  --line-mode           force line-mode input (default: auto-detect)
  --logfile FILE        write log to FILE
  --logfile-mode {append,rewrite}
                        log file write mode (default: rewrite)
  --loglevel LOGLEVEL   logging level (default: warn)
  --no-repl             disable the interactive REPL (raw I/O only)
  --on-connect CMD      commands to execute after connection, e.g. `async
                        discworld_rooms`
  --raw-mode            force raw-mode input (default: auto-detect)
  --send-environ VARS   comma-separated environment variables to send via NEW-
                        ENVIRON
  --shell SHELL         dotted path to shell coroutine
  --speed N             terminal speed to report (default: 38400)
  --ssl                 enable SSL/TLS (telnet only)
  --ssl-cafile PATH     CA bundle for SSL verification (telnet only)
  --ssl-no-verify       disable SSL certificate verification (telnet only)
  --term TERM           terminal type to negotiate (default: $TERM)
  --typescript FILE     record session to FILE
  --typescript-mode {append,rewrite}
                        typescript write mode (default: append)

SSH options (ssh://[user@]host[:port] connections):
  --key-file FILE       path to private key file
  --username USER       login username (default: system login)

Telix options:
  --background-color COLOR
                        terminal background color as #RRGGBB (default:
                        #000000)
  --bbs                 apply BBS connection presets
  --color-brightness N  color brightness multiplier (default: 1.0)
  --color-contrast N    color contrast multiplier (default: 1.0)
  --colormatch PALETTE  color palette for remapping (default: vga, 'none' to
                        disable)
  --mud                 apply MUD connection presets
  --clear-homes-cursor  inject cursor home before clear screen (BBS/CTerm
                        compatibility)
  --ff-clears-screen    treat Form Feed (0x0C) as clear screen and home cursor
                        (SyncTERM compatibility)
  --graphics-font [MODE]
                        font graphics mode: auto (default)
  --graphics-columns N  force virtual terminal columns for graphics font (e.g.
                        40)
  --graphics-rows N     force virtual terminal rows for graphics font
                        (default: 25)
  --no-ice-colors       disable iCE color (blink as bright background) support
  --local-echo          force local echo (client echoes input)
  --remote-echo         force remote echo (server echoes input)

.. end-cli-help

Documentation

Full documentation at https://telix.readthedocs.io/.

.. |pypi_downloads| image:: https://img.shields.io/pypi/dm/telix.svg?logo=pypi&v=2 :alt: Downloads :target: https://pypi.org/project/telix/ .. |codecov| image:: https://codecov.io/gh/jquast/telix/branch/master/graph/badge.svg?v=2 :alt: codecov.io Code Coverage :target: https://codecov.io/gh/jquast/telix/ .. |license| image:: https://img.shields.io/pypi/l/telix.svg?v=2 :target: https://pypi.org/project/telix/ :alt: License .. |linux| image:: https://img.shields.io/badge/Linux-yes-success?logo=linux&v=2 :alt: Linux supported .. |windows| image:: https://img.shields.io/badge/Windows-yes-success?logo=windows&v=2 :alt: Windows supported .. |mac| image:: https://img.shields.io/badge/MacOS-yes-success?logo=apple&v=2 :alt: MacOS supported