Skip to content

jquast/Telix

Repository files navigation

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

About

A Modern telnet client especially designed for BBSs and MUDs.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages