mirror of
https://github.com/Z4nzu/hackingtool
synced 2026-05-23 08:58:22 +00:00
Phase 4 (core.py — largely done in Phase 1, completed here): - HackingTool: add ARCHIVED, ARCHIVED_REASON, SUPPORTED_OS, REQUIRES_* fields - HackingTool: remove INSTALLATION_DIR (unused) - HackingToolsCollection: add _active_tools(), _archived_tools(), _incompatible_tools() - HackingToolsCollection: add _show_archived_tools() (option 98 sub-menu) - HackingToolsCollection.show_options(): filter by OS and ARCHIVED flag - OS-incompatible tools show count but are hidden from menu - Archived tools accessible via option 98 with reason displayed Phase 5 (all 22 remaining tool files): - Remove local console = Console() and _theme = Theme() from all 22 files - Remove P_COLOR and PURPLE_STYLE local constants - Add `from core import HackingTool, HackingToolsCollection, console` everywhere - Remove show_options() overrides from all collection classes (500+ lines deleted) - Remove pretty_print() overrides from all collection classes - Remove _get_attr() / _get_attr_fallback() helpers from all collection classes - Replace super(ClassName, self).__init__() → super().__init__() in all files - Remove # coding=utf-8 headers from all files - Fix remaining PURPLE_STYLE usages → "bold magenta" literal All 28 tool modules import cleanly. Zero local console instances remain.
51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
from core import HackingTool, HackingToolsCollection, console
|
|
|
|
from rich.panel import Panel
|
|
from rich.prompt import Prompt
|
|
from rich import box
|
|
|
|
|
|
class TerminalMultiplexer(HackingTool):
|
|
TITLE = "Terminal Multiplexer"
|
|
DESCRIPTION = (
|
|
"Terminal Multiplexer (tilix) is a tiling terminal emulator that "
|
|
"allows opening several terminal sessions inside one window."
|
|
)
|
|
# Bug 19 fix: tilix is a Debian/Ubuntu package only — mark Linux-only
|
|
INSTALL_COMMANDS = ["sudo apt-get install -y tilix"]
|
|
SUPPORTED_OS = ["linux"]
|
|
|
|
def __init__(self):
|
|
# Py3-4 fix: super(TerminalMultiplexer, self) → super()
|
|
super().__init__(runnable=False)
|
|
|
|
|
|
class Crivo(HackingTool):
|
|
TITLE = "Crivo"
|
|
DESCRIPTION = (
|
|
"A tool for extracting and filtering URLs, IPs, domains, and subdomains\n"
|
|
"from web pages or text, with built-in web scraping capabilities.\n"
|
|
"See: python3 crivo_cli.py -h"
|
|
)
|
|
INSTALL_COMMANDS = [
|
|
"git clone https://github.com/GMDSantana/crivo.git",
|
|
# Bug 18 verify: this is correct — cd and pip in same string works
|
|
"cd crivo && pip install --user -r requirements.txt",
|
|
]
|
|
PROJECT_URL = "https://github.com/GMDSantana/crivo"
|
|
|
|
def __init__(self):
|
|
# Py3-4 fix: super(Crivo, self) → super()
|
|
super().__init__(runnable=False)
|
|
|
|
|
|
class MixTools(HackingToolsCollection):
|
|
TITLE = "Mix tools"
|
|
TOOLS = [
|
|
TerminalMultiplexer(),
|
|
Crivo()
|
|
]
|
|
|
|
if __name__ == "__main__":
|
|
tools = MixTools()
|
|
tools.show_options()
|