Skip to content

Releases: Okymi-X/htb-terminal

v0.5.1

Choose a tag to compare

@Okymi-X Okymi-X released this 27 Jun 13:28

Full Changelog: v0.5.0...v0.5.1

v0.5.0

Choose a tag to compare

@Okymi-X Okymi-X released this 21 Jun 14:06

Full Changelog: v0.4.0...v0.5.0

v0.4.0 — robust machine start recovery

Choose a tag to compare

@Okymi-X Okymi-X released this 21 Jun 12:47

Fixes

htb machine start is now resilient to two failure modes seen on a stuck box.

1. Recover from 403: You already have an active instance

Previously this lock had no recovery — the start failed and you had to manually stop then start. Now start inspects what is actually active and reacts idempotently:

  • Same machine, already running → reported as-is (no churn).
  • Same machine, assigned but not spawned → reclaimed automatically (terminate + restart).
  • A different machine is active → never touched; clear, actionable error naming it.

2. --wait now honors --retry-for and fails fast on collapse

  • The IP poll previously ignored --retry-for (hidden 300s cap). --retry-for now budgets the whole --wait flow.
  • It kept printing waiting for machine IP... even after the instance vanished. It now fails fast with a real diagnosis when the spawn collapses on HTB's side (active machine drops out or is replaced) and reminds you to confirm the matching VPN lab server.

Full changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@Okymi-X Okymi-X released this 21 Jun 12:07
2ec92df

Highlights

API: HTB v4 → v5

  • HTB removed several v4 endpoints; machine list --todo/--unreleased/--sp-tier now use the unified v5 /machines, and machine submit uses v5 /machine/own.
  • The API client is version-aware (per-call version=); default stays v4.

TUI

  • Semantic colors (difficulty/OS/status), framed section headers and panels, a branded --help banner, and a TTY progress spinner.

CLI ergonomics

  • Global flags (--json, --color, --wide, --token-file, --base-url, --timeout) now work before or after the subcommand.

Seasonal spawn

  • machine start --wait now paces both the spawn retry and the IP poll with --interval; calmer retry messaging.

Fixes & docs

  • Report VIP+ correctly in user info.
  • Refreshed all screenshots (now showing the command run) via a new headless generator.

🤖 Generated with Claude Code

v0.2.0

Choose a tag to compare

@Okymi-X Okymi-X released this 17 Jun 19:40

Speedrun a season release, plus a smoother CLI.

New: htb speedrun

One command to fire at a seasonal drop:

sudo htb speedrun Seasonal us-free-1

It connects the VPN, waits for the tunnel, sets the MTU (default 1300), spawns the machine with capacity retries, and waits for its IP — with a live, emoji-free status line for each step. The VPN runs in the foreground; Ctrl-C to disconnect. Tunables: --mtu, --interface, --retry-for, --interval, --mode, --variant.

Internals

  • New StepRunner UI, netcfg (OpenVPN/MTU), and SpeedrunService modules.
  • cli.py split into cli (dispatch) + parser (argparse) + handlers, each single-responsibility.

Install / upgrade:

pipx upgrade htbx   # or: pipx install htbx

v0.1.2

Choose a tag to compare

@Okymi-X Okymi-X released this 17 Jun 19:21

New commands and quality-of-life improvements.

New commands

  • htb user info — your profile: rank, points, owns.
  • htb machine extend — prolong the active machine's expiry.
  • htb machine info — alias for machine profile.
  • htb completion bash|zsh — shell tab-completion for htb/htbx.

Auth UX

  • htb init --check verifies the saved token and prints who you are.
  • Clear hint on 401/403: 'run htb init to set a valid App Token'.

Output

  • machine active shows a relative expires_in (e.g. 'in 47m').
  • machine active --oneline prints a compact status line.

Install / upgrade:

pipx upgrade htbx   # or: pipx install htbx

v0.1.1

Choose a tag to compare

@Okymi-X Okymi-X released this 17 Jun 18:55

First PyPI release, published as htbx.

Install

pipx install htbx
# or
pip install htbx

Installs the htb command (with an htbx alias).

Highlights

  • htb init saves your HTB App Token to the user config dir (~/.config/htb-terminal/token), so a global pipx install works from any directory.
  • Modular machine service: payload reshaping, search ranking, and spawn-error detection split into focused modules.
  • machine / vpn / raw API workflows, automatic 429 backoff, and peak-time machine start --wait.

htb-terminal v0.1.0

Choose a tag to compare

@Okymi-X Okymi-X released this 12 Jun 13:32

First public release: a zero-dependency Python CLI for selected Hack The Box Labs v4 API workflows.

What's included

  • htb machine profile|active|list|search — inspect machines by id or name, view the active machine, list and search the catalog.
  • htb machine start|stop|reset — control machine lifecycle; stop and reset default to the active machine.
  • htb machine submit — submit user or root flags.
  • htb vpn servers|switch|download — list known VPN server aliases, switch servers, download OVPN files.
  • htb vpn connect — switch, download, then run OpenVPN in one step.
  • htb raw — call any Labs API endpoint directly.
  • App token authentication via an api.token file, plain or colored output, no external dependencies.

Installation

Requires Python 3.10+. Run pip install . from the repository root (installs the htb command), or invoke ./htb directly.

Notes

This client targets the Hack The Box Labs v4 API, which is not formally versioned for third-party use; endpoints and response shapes may change without notice. Report breakage via issues.