A terminal MUD client from the shadows of Mordor

Durthang

Written in Rust  ·  Runs in your terminal  ·  No X required

"Durthang (Sauron's castle) loomed dark and tall before them." — J.R.R. Tolkien, The Return of the King
Install View on GitHub

Lore

The Name

Durthang is a fortress of Sauron in the south-western reaches of Mordor, set into the slopes of the Ephel Dúath — the Mountains of Shadow — overlooking the great plateau of Gorgoroth. It is one of three dark towers that guard the western approaches to Sauron's realm, and it looms in the background as Frodo and Sam make their desperate crossing toward Mount Doom.

Tolkien derived Durthang from his invented Black Speech or from the language of the Orcs, consistent with other Mordor place-names. The most widely accepted analysis breaks the word into two Sindarin-influenced roots common to the dark kingdoms:

Root
Dur  ·  dôr / dur
Meaning
"Dark", "gloomy", or "lurking" — cf. Dol Dúghul, Dorthonion
Root
Thang  ·  tang
Meaning
"Iron", "oppression", or "compulsion" — cf. Angband (iron prison), Thangorodrim

Together: "Dark Iron" or "Gloomy Fortress of Iron" — an apt name for a Rust-based terminal client that holds firm, refuses to crash, and runs everywhere without a graphical interface.

Frodo and Sam pass beneath the fortress walls in The Return of the King (Book VI, Chapter 2: "The Land of Shadow"). It is described as a place of soldiers and Dark Riders, one of the garrison towers that Sauron maintained to prevent escape from Mordor — not the grand centrepiece of his realm, but a brooding, ever-watchful sentinel at the edge of shadow.

The choice of name for this MUD client is deliberate: like the fortress, Durthang the application stands watch — connecting you to the text-based worlds of the internet, reliably and without ceremony, from the comfort of your terminal.


Capabilities

Features

TLS & Plain TCP

Connect securely with system root certificates via rustls, or plain TCP — your choice.

🗺

Automap

Real-time ASCII minimap built from GMCP Room.Info or heuristic Exits: parsing. Persisted per server.

📜

Aliases & Triggers

Per-character command aliases and regex-based triggers with colour highlighting and auto-send, stored in TOML.

🔐

Secure Credentials

Passwords live in the OS keyring (Secret Service / macOS Keychain / Windows Credential Manager) — never in the config file.

🖥

Full ANSI Colour

256-colour and truecolour rendering via ratatui. Works in any modern terminal emulator.

📋

Notes Panel

A personal scratchpad attached to each character, saved automatically in the sidebar config.

📡

GMCP

Full Telnet IAC negotiation; ECHO, NAWS, and GMCP supported. Extensible for additional modules.

📦

Single Binary

Statically linked. No runtime dependencies. Drop it in your PATH and go.

Latency Meter

Rolling-average round-trip time shown in the status bar, updated from active probes and user commands.


Getting Started

Installation

From crates.io

$ cargo install durthang

From source

$ git clone https://github.com/Pommersche92/durthang.git
$ cd durthang && cargo build --release
# binary: target/release/durthang

Minimum Rust version: 1.85 (edition 2024).

Linux: Secret Service dependency

On headless or minimal Linux installations you need a running Secret Service daemon for password storage:

# Debian / Ubuntu (GNOME Keyring)
$ sudo apt install gnome-keyring
$ eval $(gnome-keyring-daemon --start --components=secrets)

Quick key reference

Key Action
EnterSend input line
↑ / ↓Input history
PgUp / PgDnScroll the output buffer
Ctrl+EndJump to live view
F3Toggle right sidebar
F4Cycle sidebar focus
Ctrl+CEnter copy mode
Ctrl+QDisconnect / quit