Skip to main content

A TUI telnet, WebSocket, and MUD client

Project description

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

Built using Python libraries telnetlib3, blessed, textual, and wcwidth.

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/
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] [--no-ice-colors]

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
  --no-ice-colors       disable iCE color (blink as bright background) support

Documentation

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

Project details


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.3.tar.gz (353.8 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.3-py3-none-any.whl (378.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: telix-0.1.3.tar.gz
  • Upload date:
  • Size: 353.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.15.0a5

File hashes

Hashes for telix-0.1.3.tar.gz
Algorithm Hash digest
SHA256 06273788c8874d8dada15187daefd9bbd635643adc01d01f70e25548000e112e
MD5 51f7c8938ce1d93b446ca19e230cb424
BLAKE2b-256 44166c329e5b549ac32f5ff9b20b771cf14740038571cb945862fb0f756099b0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for telix-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5d1d435f0da48905bb111e0a65829069d760b7df71976a915dcbc4d9f4c24d6e
MD5 40b613a5702d734aaffcc83e3c4a5879
BLAKE2b-256 fb6388a574d0e6d49296c557fac146a9481000e97adddc34c003b52d26de146a

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