diff --git a/README.md b/README.md index 52753b4..dea7e85 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ ### AI-guided, all-in-one toolkit for authorized security testing -**215 curated tools across 21 categories** — recon, OSINT, web, wireless, phishing, +**219 curated tools across 21 categories** — recon, OSINT, web, wireless, phishing, forensics, post-exploitation and more — with an **AI layer that turns plain English into the right tool and the exact command**. @@ -34,7 +34,7 @@ students — all working **legally, on systems they own or are authorised to tes
-![](https://img.shields.io/badge/21_Categories-7B61FF?style=for-the-badge&labelColor=0D1117)  ![](https://img.shields.io/badge/215_Tools-7B61FF?style=for-the-badge&labelColor=0D1117)  ![](https://img.shields.io/badge/63_Tags-7B61FF?style=for-the-badge&labelColor=0D1117)  ![](https://img.shields.io/badge/AI--Guided-7B61FF?style=for-the-badge&labelColor=0D1117&logo=openai&logoColor=white)  ![](https://img.shields.io/badge/Linux_%7C_Kali_%7C_Parrot_%7C_macOS-7B61FF?style=for-the-badge&labelColor=0D1117&logo=linux&logoColor=white) +![](https://img.shields.io/badge/21_Categories-7B61FF?style=for-the-badge&labelColor=0D1117)  ![](https://img.shields.io/badge/219_Tools-7B61FF?style=for-the-badge&labelColor=0D1117)  ![](https://img.shields.io/badge/63_Tags-7B61FF?style=for-the-badge&labelColor=0D1117)  ![](https://img.shields.io/badge/AI--Guided-7B61FF?style=for-the-badge&labelColor=0D1117&logo=openai&logoColor=white)  ![](https://img.shields.io/badge/Linux_%7C_Kali_%7C_Parrot_%7C_macOS-7B61FF?style=for-the-badge&labelColor=0D1117&logo=linux&logoColor=white)
@@ -77,7 +77,7 @@ 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 interactive console** — type to search every tool, then +- **🗂 219 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 @@ -98,7 +98,7 @@ students — all working **legally, on systems they own or are authorised to tes ## Tool Categories -**215 tools across 21 categories** — the full list, with links and tags, is in +**219 tools across 21 categories** — the full list, with links and tags, is in **[docs/TOOLS.md](docs/TOOLS.md)**.
@@ -119,9 +119,9 @@ students — all working **legally, on systems they own or are authorised to tes
-59 further entries are archived (unmaintained or dead upstream) and hidden unless +44 further entries are archived (unmaintained or dead upstream) and hidden unless you set `show_archived true` via `/config`. The in-app header counts 22 categories / -217 tools because it also counts the built-in Update / Uninstall menu. +219 tools because it also counts the built-in Update / Uninstall menu. --- @@ -328,9 +328,15 @@ falls back to the classic numbered menu, where `/` or `s` searches, `t` filters ## Features +> **Where these live today.** `/find`, `/goal`, plain-English recommendations, +> `/tags`/`/search` and background panes currently run in the **`--classic`** REPL +> (`hackingtool --classic`). The default TUI browses and type-searches the whole +> catalog and runs tools; wiring these AI/search features into it is Phase 2. The +> screenshots below showing a `/` command prompt are the `--classic` REPL. + ### 🔎 `/find` — a tool for a need you don't have yet -Searches the 215 curated tools first, then the GitHub search API, and ranks the +Searches the 219 curated tools first, then the GitHub search API, and ranks the results explainably. **Suggest-only** — it never clones, installs or runs anything — and it makes **zero model calls**. diff --git a/docs/HOW-TO-USE.md b/docs/HOW-TO-USE.md index 4696dc5..81a2ea4 100644 --- a/docs/HOW-TO-USE.md +++ b/docs/HOW-TO-USE.md @@ -7,6 +7,12 @@ and something you get back — no prior knowledge of the codebase needed. > written permission to test it. hackingtool never runs a step without asking you > first, and never invents results. +> **TUI vs `--classic`.** The default `hackingtool` is an interactive TUI: browse +> categories, type to search every tool, `↑↓`/`Enter`/`Esc` to move, `/` for the +> command palette. The `/…`, `@…` and plain-English **grammar** taught below +> (sections 2, 4, 5, 8) is the **`--classic`** REPL — launch it with +> `hackingtool --classic`. Bringing these into the default TUI is Phase 2. + - [1. First run](#1-first-run) - [2. Learn the grammar in 60 seconds](#2-learn-the-grammar-in-60-seconds) - [3. Open and install a tool](#3-open-and-install-a-tool) @@ -47,9 +53,9 @@ and something you get back — no prior knowledge of the codebase needed. | `~/.hackingtool/history` | your `↑`/`↓` command history | 4. You land on the banner + prompt. The header line tells you what you have: - OS, IP, and `22 categories · 217 active · 59 archived` (that count includes + OS, IP, and `22 categories · 219 active · 44 archived` (that count includes the built-in Update/Uninstall menu; the tool catalog itself is - [21 categories / 215 tools](TOOLS.md)). + [21 categories / 219 tools](TOOLS.md)). 5. Type `/help` for the command card, and `q` (or `/quit`, `Ctrl-D`) to leave. @@ -109,7 +115,7 @@ metapackages), hackingtool reuses that binary instead of re-cloning it. ## 4. Find a tool that isn't in the catalog (`/find`) -`/find` answers "what should I use for X?" — first from the 215 curated tools, +`/find` answers "what should I use for X?" — first from the 219 curated tools, then from the GitHub search API, ranked with a reason for each hit. It is **suggest-only**: it never clones, installs or runs anything, and it makes **zero model calls**. diff --git a/docs/TOOLS.md b/docs/TOOLS.md index ca27445..439c5c0 100644 --- a/docs/TOOLS.md +++ b/docs/TOOLS.md @@ -1,7 +1,7 @@ # Tool catalog -Every tool hackingtool can install, launch, or point you at — **215 active tools -across 21 categories**, plus 59 archived entries kept out of this list (they are +Every tool hackingtool can install, launch, or point you at — **219 active tools +across 21 categories**, plus 44 archived entries kept out of this list (they are unmaintained or dead upstream and are hidden in the app unless you set `show_archived true` via `/config`). diff --git a/images/logo.svg b/images/logo.svg index 2d0f561..c394f5e 100644 --- a/images/logo.svg +++ b/images/logo.svg @@ -1 +1 @@ -hackingtool — v2.0.0HACKINGTOOLAll-in-One Security Research Framework01101100101100101110 \ No newline at end of file +hackingtool — v3.1.0HACKINGTOOLAll-in-One Security Research Framework01101100101100101110 \ No newline at end of file diff --git a/tests/test_logo_version.py b/tests/test_logo_version.py new file mode 100644 index 0000000..edc80ef --- /dev/null +++ b/tests/test_logo_version.py @@ -0,0 +1,11 @@ +"""Guard: the static logo.svg version label must match constants.VERSION (single source).""" +from pathlib import Path + +from hackingtool.constants import VERSION + +_LOGO = Path(__file__).resolve().parents[1] / "images" / "logo.svg" + + +def test_logo_svg_version_matches_constants(): + assert f"hackingtool — v{VERSION}" in _LOGO.read_text(encoding="utf-8"), ( + f"images/logo.svg version label is stale; bump it to v{VERSION}")