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.9.tar.gz (408.0 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.9-py3-none-any.whl (434.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: telix-0.1.9.tar.gz
  • Upload date:
  • Size: 408.0 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.9.tar.gz
Algorithm Hash digest
SHA256 d4b6e6ae0e46c3cbf59e0a41f40757af45027b908deb8644d9b8af38580e9653
MD5 786c86ca6213c3d49bc877059fda6dd8
BLAKE2b-256 dd536e298652ed9a69ad483135067f09a99feec7ff22c7e577d3cb75989efd0a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: telix-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 434.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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 1f528ecbfa489c4568e8a5f4a07cce439c1617be6da255701d79d0a5699142e4
MD5 7f57cb6226f42ab3e5d7a58a6ccdfb98
BLAKE2b-256 261e6869729d302cb2fe7855846f45eea545b32631d54bfcbb44c2de50beec91

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