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

Uploaded Python 3

File details

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

File metadata

  • Download URL: telix-0.1.7.tar.gz
  • Upload date:
  • Size: 357.1 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.7.tar.gz
Algorithm Hash digest
SHA256 90a6e2afb559e23a087b661a232fae7d7f4711f4a13811a1a6d2c28e7beb2ad0
MD5 cd0d6e61eaf12d22237278a594b094af
BLAKE2b-256 f898442219155753aea4a40c3c0ff33204f9dd397646a3bcc2de96bfc389e6df

See more details on using hashes here.

File details

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

File metadata

  • Download URL: telix-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 381.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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 39a50db34ce145693b31e79f4fc372a55dec667cac00bdbdc253efb99cdb3a0b
MD5 b37bee8e26469f1904265c6853606b74
BLAKE2b-256 13176cf015aa39506ef77ab41b575b5a823ad3e7c30b760c9f2a94894623f6e3

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