From 4a9c3d0075b7fe295986e0aaec49c09b4612d60b Mon Sep 17 00:00:00 2001
From: Hardik Zinzu <25708027+Z4nzu@users.noreply.github.com>
Date: Thu, 15 Oct 2026 18:11:43 +0530
Subject: [PATCH] feat: interactive TUI, self-update & native settings; apply
community bug fixes
Interactive terminal UI (Textual, default on a TTY)
- Category browser with live tool counts; type to search EVERY tool across all
categories; up/down move, Enter open, left/Esc back; `/` opens a command palette.
- Tool screen gates Run/Install/Uninstall behind a confirm, dropping to a real
TTY so a tool can't crash the UI; Open-repo is http(s)-guarded.
- The engine is unchanged; `--classic` keeps the full prompt_toolkit REPL and the
headless `--engagement` orchestrator is untouched.
Update awareness + self-update helper
- Cached-daily GitHub Releases check (offline-safe, opt-out via
HACKINGTOOL_NO_UPDATE_CHECK / update_check config); shows an "update available"
line on the main screen via a background worker (never blocks first render).
- `/update` detects the install method (pipx/pip/apt/docker/source) and shows the
exact upgrade command to copy - it never runs it.
Native settings + config hygiene
- `/update`/`/config` run as in-TUI screens instead of suspending to
prompt_toolkit (which raised "event loop already running" nested under Textual).
- Sponsor feed URL moved from user config to a fixed code constant (SPONSORS_URL);
update_check is now a proper bool toggle.
Docker / README
- Docker image references aligned to hardikzinzu/hackingtool.
- README refreshed for the interactive UI; first screenshot replaced with the new UI.
Community-reported bug fixes (verified still present in current code)
- Data safety: atomic JSON/YAML writes (#773, #765); malformed config.json no
longer crashes load/import (#775); UTF-8 for catalog/settings IO (#766);
findings parsers skip non-object/typed records instead of aborting (#768);
pipeline decodes invalid bytes and salvages timed-out evidence (#771, #770).
- AI layer: reject null/non-text provider responses (#778); auto-mode connection
test honors the Ollama fallback (#779); settings stay responsive during the AI
probe (#780); one findings snapshot per AI report (#772).
- CLI/REPL: `@nmap`/`@sqlmap` resolve canonically instead of fuzzy mis-hits (#767);
bare `/` no longer crashes the REPL (#761); bad/incomplete args exit non-zero
instead of opening the menu (#763); search/tag result #99 is reachable (#762);
background pane creation failures are reported, not shown as "started" (#777);
config/API-key save failures surface without closing settings (#776).
- Misc: .dockerignore keeps README.md for the build (#781); PortScan prompt markup
fixed (#698); uninstall command lines use [warning] not [error] (#666, #663);
untrusted-output fence can't be broken out of + script import fix (#757).
---
.dockerignore | 1 +
README.md | 31 +--
images/screenshots/1.png | Bin 560270 -> 123368 bytes
pyproject.toml | 4 +-
scripts/discover_tools.py | 2 +-
scripts/gen_catalog_owners.py | 2 +-
src/hackingtool/__main__.py | 4 +
src/hackingtool/ai_recommend.py | 22 +-
src/hackingtool/ai_report.py | 2 +-
src/hackingtool/cli.py | 38 +++-
src/hackingtool/config.py | 42 ++--
src/hackingtool/config_ui.py | 36 +++-
src/hackingtool/constants.py | 11 +-
src/hackingtool/core.py | 2 +-
src/hackingtool/discover.py | 6 +-
src/hackingtool/engagement.py | 7 +-
src/hackingtool/findings.py | 33 ++-
src/hackingtool/orchestrator.py | 17 +-
src/hackingtool/prompt.py | 11 +-
src/hackingtool/registry.py | 2 +-
src/hackingtool/repl.py | 8 +-
src/hackingtool/report.py | 8 +-
src/hackingtool/session.py | 16 +-
src/hackingtool/skill.py | 3 +-
src/hackingtool/sponsors.py | 131 ++++++++++++
src/hackingtool/sponsors.yaml | 9 +
src/hackingtool/storage.py | 29 +++
.../tools/information_gathering.py | 2 +-
src/hackingtool/tools/tool_manager.py | 4 +-
src/hackingtool/tools/xss_attack.py | 2 +-
src/hackingtool/tui/__init__.py | 0
src/hackingtool/tui/app.py | 43 ++++
src/hackingtool/tui/app.tcss | 61 ++++++
src/hackingtool/tui/data.py | 87 ++++++++
src/hackingtool/tui/glyphs.py | 8 +
src/hackingtool/tui/screens/__init__.py | 0
src/hackingtool/tui/screens/base.py | 120 +++++++++++
src/hackingtool/tui/screens/category.py | 29 +++
src/hackingtool/tui/screens/config.py | 68 +++++++
src/hackingtool/tui/screens/main.py | 38 ++++
src/hackingtool/tui/screens/tool.py | 73 +++++++
src/hackingtool/tui/widgets/__init__.py | 0
src/hackingtool/tui/widgets/banner.py | 82 ++++++++
.../tui/widgets/command_palette.py | 45 +++++
src/hackingtool/tui/widgets/edit_modal.py | 32 +++
src/hackingtool/tui/widgets/header.py | 21 ++
src/hackingtool/tui/widgets/permission.py | 29 +++
src/hackingtool/tui/widgets/update_modal.py | 47 +++++
src/hackingtool/tui/working.py | 17 ++
src/hackingtool/update_check.py | 104 ++++++++++
tests/test_main_module.py | 9 +
tests/test_orchestrator.py | 4 +-
tests/test_pr_fixes.py | 97 +++++++++
tests/test_session.py | 7 +-
tests/test_sponsors.py | 82 ++++++++
tests/test_tui_app.py | 191 ++++++++++++++++++
tests/test_tui_banner.py | 134 ++++++++++++
tests/test_tui_data.py | 29 +++
tests/test_tui_glyphs.py | 10 +
tests/test_tui_header.py | 22 ++
tests/test_tui_header_visible.py | 72 +++++++
tests/test_tui_launch.py | 30 +++
tests/test_tui_navigation.py | 106 ++++++++++
tests/test_tui_permission.py | 45 +++++
tests/test_tui_screens_category.py | 75 +++++++
tests/test_tui_screens_config.py | 83 ++++++++
tests/test_tui_screens_main.py | 112 ++++++++++
tests/test_tui_screens_tool.py | 93 +++++++++
tests/test_tui_slash_menu.py | 67 ++++++
tests/test_tui_working.py | 17 ++
tests/test_update_check.py | 41 ++++
71 files changed, 2618 insertions(+), 97 deletions(-)
create mode 100644 src/hackingtool/__main__.py
create mode 100644 src/hackingtool/sponsors.py
create mode 100644 src/hackingtool/sponsors.yaml
create mode 100644 src/hackingtool/storage.py
create mode 100644 src/hackingtool/tui/__init__.py
create mode 100644 src/hackingtool/tui/app.py
create mode 100644 src/hackingtool/tui/app.tcss
create mode 100644 src/hackingtool/tui/data.py
create mode 100644 src/hackingtool/tui/glyphs.py
create mode 100644 src/hackingtool/tui/screens/__init__.py
create mode 100644 src/hackingtool/tui/screens/base.py
create mode 100644 src/hackingtool/tui/screens/category.py
create mode 100644 src/hackingtool/tui/screens/config.py
create mode 100644 src/hackingtool/tui/screens/main.py
create mode 100644 src/hackingtool/tui/screens/tool.py
create mode 100644 src/hackingtool/tui/widgets/__init__.py
create mode 100644 src/hackingtool/tui/widgets/banner.py
create mode 100644 src/hackingtool/tui/widgets/command_palette.py
create mode 100644 src/hackingtool/tui/widgets/edit_modal.py
create mode 100644 src/hackingtool/tui/widgets/header.py
create mode 100644 src/hackingtool/tui/widgets/permission.py
create mode 100644 src/hackingtool/tui/widgets/update_modal.py
create mode 100644 src/hackingtool/tui/working.py
create mode 100644 src/hackingtool/update_check.py
create mode 100644 tests/test_main_module.py
create mode 100644 tests/test_pr_fixes.py
create mode 100644 tests/test_sponsors.py
create mode 100644 tests/test_tui_app.py
create mode 100644 tests/test_tui_banner.py
create mode 100644 tests/test_tui_data.py
create mode 100644 tests/test_tui_glyphs.py
create mode 100644 tests/test_tui_header.py
create mode 100644 tests/test_tui_header_visible.py
create mode 100644 tests/test_tui_launch.py
create mode 100644 tests/test_tui_navigation.py
create mode 100644 tests/test_tui_permission.py
create mode 100644 tests/test_tui_screens_category.py
create mode 100644 tests/test_tui_screens_config.py
create mode 100644 tests/test_tui_screens_main.py
create mode 100644 tests/test_tui_screens_tool.py
create mode 100644 tests/test_tui_slash_menu.py
create mode 100644 tests/test_tui_working.py
create mode 100644 tests/test_update_check.py
diff --git a/.dockerignore b/.dockerignore
index a087df4..93b212e 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -6,6 +6,7 @@
.github/
images/
*.md
+!README.md # pyproject reads it during `pip install .`; Dockerfile COPYs it
# Python cache
__pycache__/
diff --git a/README.md b/README.md
index 997e7fb..52753b4 100644
--- a/README.md
+++ b/README.md
@@ -77,9 +77,9 @@ students β all working **legally, on systems they own or are authorised to tes
plans an objective step by step, then summarizes findings and drafts an engagement
report. Bring your own key or run a local model β nothing auto-executes and nothing
is fabricated.
-- **π 215 curated tools, one console** β install and run across 21 categories without
- hunting down Git repos; a fixed tag taxonomy (63 tags in use) makes every tool
- discoverable.
+- **π 215 curated tools, one interactive console** β type to search every tool, then
+ install and run across 21 categories without hunting down Git repos; a fixed tag
+ taxonomy (63 tags in use) makes every tool discoverable.
- **π It knows what it doesn't have** β `/find` searches your catalog first, then the
GitHub API, and shows real maintained projects with the reason each was ranked.
- **π‘ Safe by default** β standard installs, **no `curl | bash`**, downloads pinned +
@@ -89,9 +89,9 @@ students β all working **legally, on systems they own or are authorised to tes
forensics/IR β all on **authorized targets only**.
-

+
-
The console on launch β live system readout, and / opens the command palette.
+
The interactive console on launch β browse categories, type to search every tool, and / opens the command palette.
---
@@ -263,7 +263,13 @@ Some individual tools need a language runtime to install/run; the core app doesn
## Quick Commands
-Launch `hackingtool` and type. There are only three kinds of input:
+`hackingtool` opens an **interactive terminal UI**: browse the categories, **type to
+search every tool** across all of them, `ββ` to move, `Enter` to open, `β`/`Esc` to go
+back, and `/` for the command palette (`/config`, `/update`, `/menu`, `/quit`). When a
+newer release is out it shows an *update available* line on launch, and `/update`
+detects how you installed hackingtool and shows the exact upgrade command to run.
+
+For a keyboard-driven REPL instead, `hackingtool --classic` takes three kinds of input:
| You type | It means | Example |
|---|---|---|
@@ -311,9 +317,9 @@ Inside a tool: `1` install Β· `2` run Β· `c` ask for the exact command for your
/help β the same card, in the app.
-On a non-interactive terminal (or without `prompt_toolkit`) hackingtool falls back to
-the classic numbered menu, where `/` or `s` searches, `t` filters by tag, `r` or `a`
-recommends, `?` helps and `q` quits. Force it with `hackingtool --classic`.
+The command set above is the `--classic` REPL. On a non-interactive terminal hackingtool
+falls back to the classic numbered menu, where `/` or `s` searches, `t` filters by tag,
+`r` or `a` recommends, `?` helps and `q` quits.
> **New here?** [docs/HOW-TO-USE.md](docs/HOW-TO-USE.md) walks through each of these
> start to finish with numbered steps.
@@ -416,9 +422,10 @@ No tmux? It says so and opens the tool inline instead; disable it entirely with
### β Settings and the AI layer
-`/config` opens a full-screen settings editor (`ββ` move, `ββ` change, `Enter` edit,
-`t` test the connection, `Esc` close); `/config ` sets one key from the
-prompt. Settings live in `~/.hackingtool/config.json`.
+`/config` opens a searchable settings screen β type to filter, `ββ` move, `Enter` cycles
+a choice or edits a value (auto-saved), `β`/`Esc` back; in `--classic` it's a full-screen
+editor with `t` to test the AI connection. `/config ` sets one key directly.
+Settings live in `~/.hackingtool/config.json`.
The AI layer is **opt-in and bring-your-own-key**: an OpenAI-compatible endpoint when
`ai_base_url` + an API key are set, else a local [Ollama](https://ollama.com), else
diff --git a/images/screenshots/1.png b/images/screenshots/1.png
index b49b8efbea03cece25f9e4de9a2f9cc9064516ba..c015a9d7cb27109d324c68c0d4690f7e795c6862 100644
GIT binary patch
literal 123368
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