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 PythonScripting <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