mirror of
https://github.com/Z4nzu/hackingtool
synced 2026-05-22 08:28:57 +00:00
install.py: - sudo prefix now determined by euid (== 0 means root) not by OS name - Previously used 'sudo ' for all Linux — breaks inside Docker where we run as root but sudo is not installed - Single priv variable computed once at top of install_system_packages() Dockerfile: - Add python3-venv back to apt installs - Was removed as 'unused' but install.py uses 'python3 -m venv' to create the virtualenv in APP_INSTALL_DIR; missing package caused venv failure core.py (HackingTool.show_options + HackingToolsCollection.show_options): - 99 always returns now instead of sys.exit() when parent is None Previously: sub-menus with no parent called sys.exit() — since interact_menu() never passes parent, pressing 99 in any category exited the entire program instead of returning to the main menu - Empty Enter (blank input) now continues the loop instead of defaulting to "99" and triggering exit Previously: Prompt default="99" meant pressing Enter without typing anything was treated as choosing exit - "Exit" label on 99 row changed to "Main Menu" since it now returns
34 lines
1.3 KiB
Docker
34 lines
1.3 KiB
Docker
# syntax=docker/dockerfile:1
|
|
# Enables BuildKit features (cache mounts, faster builds)
|
|
FROM kalilinux/kali-rolling:latest
|
|
|
|
LABEL org.opencontainers.image.title="hackingtool" \
|
|
org.opencontainers.image.description="All-in-One Hacking Tool for Security Researchers" \
|
|
org.opencontainers.image.source="https://github.com/Z4nzu/hackingtool" \
|
|
org.opencontainers.image.licenses="MIT"
|
|
|
|
# Install system dependencies
|
|
# - sudo and python3-venv are not needed (container runs as root, venv unused)
|
|
# - --no-install-recommends keeps the layer lean
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
git python3-pip python3-venv curl wget php && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /root/hackingtool
|
|
|
|
# Copy requirements first so this layer is cached unless requirements change
|
|
COPY requirements.txt ./
|
|
|
|
# --mount=type=cache persists the pip cache across rebuilds (BuildKit only)
|
|
# --break-system-packages required on Kali (PEP 668 externally-managed env)
|
|
RUN --mount=type=cache,target=/root/.cache/pip \
|
|
pip3 install --break-system-packages -r requirements.txt
|
|
|
|
# Copy the rest of the source (respects .dockerignore)
|
|
COPY . .
|
|
|
|
# Ensure the tools directory exists for installs performed at runtime
|
|
RUN mkdir -p /root/.hackingtool/tools
|
|
|
|
ENTRYPOINT ["python3", "/root/hackingtool/hackingtool.py"]
|