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

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.8.tar.gz (7.8 MB 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.8-py3-none-any.whl (425.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for telix-0.1.8.tar.gz
Algorithm Hash digest
SHA256 e0782eaf9756cf84334fae8a7c919a0f5a7eaf74b4dd2a1cac93f0b39aaf3660
MD5 2928f1ee13e2df79dc211dd194bbcc03
BLAKE2b-256 2c1c0ae08151306b60a816f0fdc539d409923583252e136ec6969be62198281f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: telix-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 425.8 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6c7cb283b610d8825f3133c247faf1189290f9307a5813b4ee9b9848f14a826c
MD5 8ba64b4887351c7f478946bc641a9e4d
BLAKE2b-256 099b02c8694efe167419c9677e28dcb22ca3b87439a81fc6abd0ed7feb03e0be

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