Skip to main content

Downloads codecov.io Code Coverage License Linux supported MacOS supported Windows supported

Introduction

A modern Telnet, WebSocket, and SSH client designed especially for BBSs and MUDs

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

  • 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 interface, or advanced programming with asyncio Python Scripting.

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

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:

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] [--line-mode] [--logfile FILE]
             [--logfile-mode {append,rewrite}] [--loglevel LOGLEVEL]
             [--no-repl] [--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
  --line-mode           force line-mode input (default: auto-detect)
  --logfile FILE        write log to FILE
  --logfile-mode {append,rewrite}
                        log file write mode (default: append)
  --loglevel LOGLEVEL   logging level (default: warn)
  --no-repl             disable the interactive REPL (raw I/O only)
  --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)

Documentation

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

telix-0.1.10.tar.gz (410.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

telix-0.1.10-py3-none-any.whl (437.1 kB view details)

Uploaded Python 3

File details

Details for the file telix-0.1.10.tar.gz.

File metadata

  • Download URL: telix-0.1.10.tar.gz
  • Upload date:
  • Size: 410.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for telix-0.1.10.tar.gz
Algorithm Hash digest
SHA256 0b5b1b0b0a8303824ed1c7ad2e1b35f84033fa05d77d15067172296a9559f4d2
MD5 cd8d04d8442cc321eee1ccafda317788
BLAKE2b-256 7ec48de77d151106923cd407ea9926e163eaff30ce8c6c2459f645a5e8007e0f

See more details on using hashes here.

File details

Details for the file telix-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: telix-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 437.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for telix-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 5b01a37a157924d553dcb233be5d2ae75539116486b0559e81afb6281a27a639
MD5 ed621de80da7b3fd65b538bcde68fcc3
BLAKE2b-256 f0f9c994e43f6e3a0348541b50c3532b4ba25ec5d48de1d14cd8ad0b746ce34a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page