Skip to main content

Terminal UI for the Hack The Box platform and CTF competitions, built with Textual.

Project description

htbConsole

Terminal UI for Hack The Box platform and CTF competitions.

Built with Textual (Python TUI framework).

Inspired by HTBtui.

Screenshots

HTB Platform

HTB Platform

CTF Platform

CTF Platform

Features

HTB Platform (tuiHTB)

  • Challenges — browse, filter by category/difficulty, infinite scroll pagination, start/stop containers, submit flags, download & auto-extract task files, community writeups (lazy loaded), per-challenge notes
  • Machines — current, retired, seasonal lists with infinite scroll, machine details with start/stop/reset/submit, VPN status, per-machine notes
  • Sherlocks — DFIR/SOC investigation tasks, filter by category/difficulty/state, split task view with description/hints/answer submission, incident file downloads
  • Player Profile — stats, rank progress, activity feed with incremental loading, active machine & VPN status
  • Settings — API cache toggle, Burp proxy toggle, workdir path, zip password, custom unpack command, terminal emulator config

CTF Platform (tuiCTF)

  • CTF List — ongoing (with join/play status), upcoming, past (lazy loaded with pagination)
  • CTF Context — general info, categorized challenge browser with detail panel, notes per task, file downloads with auto-extract, ranking board, live scoreboard
  • Workspace Management — auto-create directory trees per CTF ({workdir}/CTF_{date}__{id}/{category}/{taskid}__{name})

Install

# From PyPI (once published)
pip install htbconsole

# From source
git clone https://github.com/k3idii/htbConsole
cd htbConsole
pip install .

Development (editable, run in place)

python -m venv .venv
source .venv/bin/activate
pip install -e .       # or: pip install -r requirements.txt

Configuration

Export your API tokens before launching:

export HTB_TOKEN="your-htb-api-token"
export CTF_TOKEN="your-ctf-api-token"

Get your HTB token from: https://app.hackthebox.com/account-settings (App Token)

Get your CTF token from: https://ctf.hackthebox.com (inspect requests after login)

Optional environment variables:

Variable Default Description
HTB_TOKEN HackTheBox platform API token
CTF_TOKEN CTF platform API token
HTB_WORKDIR ./work Directory for downloads, notes, and task files
USE_BURP Proxy address for Burp (e.g. http://127.0.0.1:8080)
HTB_SETTINGS Explicit path to the settings YAML file

Settings file resolution order: HTB_SETTINGS./htbSettings.yaml if it already exists (back-compat) → $XDG_CONFIG_HOME/htbconsole/htbSettings.yaml (default ~/.config/htbconsole/htbSettings.yaml).

Usage

# Installed console commands
htbconsole            # prompts: [h]tb or [c]tf ?
htbconsole htb        # launch HTB platform TUI
htbconsole ctf        # launch CTF platform TUI
tui-htb               # launch HTB platform TUI directly
tui-ctf               # launch CTF platform TUI directly

# Standalone (no install needed, from repo root)
python -m htbconsole [htb|ctf]
python htbConsole.py [htb|ctf]

Keybindings

Key Action
q Quit
l Toggle log console
[ / ] Previous / next tab
f Filter (challenges, sherlocks)
Escape Focus list / go back
Ctrl+S Save notes

License

MIT

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

htbconsole-0.1.0.tar.gz (42.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

htbconsole-0.1.0-py3-none-any.whl (51.2 kB view details)

Uploaded Python 3

File details

Details for the file htbconsole-0.1.0.tar.gz.

File metadata

  • Download URL: htbconsole-0.1.0.tar.gz
  • Upload date:
  • Size: 42.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for htbconsole-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4b20788bc4094cd8e4c40e781729944b70db93ca801267812b9de144722c2d4b
MD5 1e3c9c2e69d058422f9d941ecd623245
BLAKE2b-256 1d723a5a026f305915b8ca3f634a9bb84eca54fd126edfa4ad88b7d54d405b4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for htbconsole-0.1.0.tar.gz:

Publisher: publish.yml on k3idii/htbConsole

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file htbconsole-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: htbconsole-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 51.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for htbconsole-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1682c180ac4f64a2d210d28eb94b6ec308a7837a9574150a15375171981ce6db
MD5 2f8b5c71be04e4699f51858fc3a54121
BLAKE2b-256 d43ce241b1761bc66c3f683f6bb24a32f32e8a294d0e1b33395c153f108dcf22

See more details on using hashes here.

Provenance

The following attestation bundles were made for htbconsole-0.1.0-py3-none-any.whl:

Publisher: publish.yml on k3idii/htbConsole

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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