▄▄▄ ██▓███ ▓█████ ▒██ ██▒
▒████▄ ▓██░ ██▒▓█ ▀ ▒▒ █ █ ▒░
▒██ ▀█▄ ▓██░ ██▓▒▒███ ░░ █ ░
░██▄▄▄▄██ ▒██▄█▓▒ ▒▒▓█ ▄ ░ █ █ ▒
▓█ ▓██▒▒██▒ ░ ░░▒████▒▒██▒ ▒██▒
▒▒ ▓▒█░▒▓▒░ ░ ░░░ ▒░ ░▒▒ ░ ░▓ ░
▒ ▒▒ ░░▒ ░ ░ ░ ░░░ ░▒ ░
░ ▒ ░░ ░ ░ ░
░ ░ ░ ░ ░ ░
Linux Mint Live USB Environment Bootstrapper
Security-First · Config-Driven · Extensible
Pick the option that fits your workflow. All options run the same script.
| Option | Command | Notes |
|---|---|---|
| ⬇ Download v2.1.0 (zip) | — | Full repo as ZIP |
| ⬇ Download apex_framework.py | — | Single-file download |
| Clone via Git | git clone https://github.com/multitools-ap-mvp/apex-multi-tools.git |
Recommended |
| Run directly | curl -fsSL https://raw.githubusercontent.com/multitools-ap-mvp/apex-multi-tools/main/apex_framework.py -o apex_framework.py |
Quick one-liner |
Apex Multi Tools is an interactive CLI bootstrapper for setting up a fully customized Linux environment on a live USB or fresh install — in one guided session. It handles everything from system hardening and tool installation to account logins, Google Drive sync, and session persistence.
Built for developers, security researchers, and power users who want their environment ready fast, every time.
What it does in one run:
- Sets your locale, keyboard, and timezone
- Enables a security layer (VPN, Tor, proxychains, MAC spoofing)
- Installs and configures base packages, dev tools, and pen-testing tools
- Logs in to GitHub, Docker, NPM, Google Cloud, and more
- Syncs Google Drive via rclone
- Saves your entire environment as a named profile you can reload later
- Backs up your config to a USB drive for next time
- ProtonVPN (GUI & CLI installer)
- Tor + Proxychains4 with auto-fetched proxy list
- MAC address randomisation via macchanger
- UFW firewall, WireGuard, KeePassXC
- Full Kali-style toolkit: Nmap, Wireshark, Metasploit, Burp Suite, Hydra, SQLMap, Hashcat, Aircrack-ng, John the Ripper
- VS Code, Docker, Node.js LTS, Go, Rust
- PostgreSQL, MySQL, MongoDB, Redis, SQLite3
- DBeaver, Postman, Insomnia
- Git, GitHub CLI (gh), build essentials, Python3 + venv
- GitHub (gh CLI — SSH key upload + auth)
- Google Account (browser launch)
- Google Cloud (gcloud)
- Docker Hub, NPM, Heroku
- rclone-powered sync to any GDrive folder
- Creates a local
$USER-gdrive/mirror folder in the repo - Auto-generates a
gdrive_sync.shhelper script
- Save your entire setup as a named JSON/YAML profile
- Load it on any future machine with one flag:
--load-env <name> - Profiles live in
~/ApexMultiTools/environments/
- Backup rclone config + selections to a removable USB drive
- Restore on the next live session automatically
- YAML config file support for non-interactive runs
- Linux Mint 21+ / Ubuntu 22.04+ / Debian 12+
- Python 3.8 or newer
sudoaccess- Internet connection (for tool installation)
Optional but recommended:
pip3 install rich # enables the Rich TUI (colours, tables)
pip3 install pyyaml # enables YAML config file support# 1. Clone the repo
git clone https://github.com/multitools-ap-mvp/apex-multi-tools.git
cd apex-multi-tools
# 2. Run
python3 apex_framework.pyThat's it. The wizard takes you through every step interactively.
▄▄▄ ██▓███ ▓█████ ▒██ ██▒
▒████▄ ▓██░ ██▒▓█ ▀ ▒▒ █ █ ▒░
▒██ ▀█▄ ▓██░ ██▓▒▒███ ░░ █ ░
░██▄▄▄▄██ ▒██▄█▓▒ ▒▒▓█ ▄ ░ █ █ ▒
▓█ ▓██▒▒██▒ ░ ░░▒████▒▒██▒ ▒██▒
APEX MULTI TOOLS — INTERACTIVE CLI FRAMEWORK
Linux Mint Live USB Environment Bootstrapper
v2.1.0 — Security-First | Config-Driven | Extensible
══════════════════════════════════════════════════════════════════════
LOCALE / KEYBOARD / TIMEZONE
══════════════════════════════════════════════════════════════════════
Set system locale, keyboard layout, and timezone before setup.
Press Enter to keep the current value, or type a new one.
Current locale: en_US.UTF-8
Current keyboard: us
Current timezone: Europe/Stockholm
Change locale / keyboard / timezone? [y/N] y
Locale (e.g. en_US.UTF-8, sv_SE.UTF-8) [en_US.UTF-8]
> sv_SE.UTF-8
[OK] Locale set to sv_SE.UTF-8
Keyboard layout (e.g. us, se, de, gb) [us]
> se
[OK] Keyboard set to se
Timezone (e.g. Europe/Stockholm, UTC, US/Eastern) [Europe/Stockholm]
>
[✓] Locale / keyboard / timezone configured.
══════════════════════════════════════════════════════════════════════
STEP 0 — SECURITY FIRST
══════════════════════════════════════════════════════════════════════
Select security tools to install:
Guide: type a number → toggle │ '2 5' or '2,5' → multi-toggle
'a' = select all │ 'd' = deselect all │ 'c' = confirm
1. [ ] ProtonVPN (GUI) — VPN client — GUI
2. [ ] ProtonVPN (CLI) — VPN client — CLI
3. [x] Proxychains4 — Proxy routing
4. [x] MAC Changer — MAC address spoofing
5. [x] Tor — Anonymity network
6. [ ] UFW Firewall — Uncomplicated firewall
7. [ ] KeePassXC — Password manager
8. [ ] WireGuard — VPN protocol
9. [ ] Nmap — Network scanner
10. [ ] Wireshark — Packet analyser
11. [ ] Aircrack-ng — WiFi security auditing
12. [ ] Metasploit — Penetration testing framework
13. [ ] Burp Suite — Web security testing
> 3 5 9
> c
══════════════════════════════════════════════════════════════════════
SAVE ENVIRONMENT PROFILE
══════════════════════════════════════════════════════════════════════
Save your current tool selections, accounts, and settings as a
named profile. Load it on any future run with:
python3 apex_framework.py --load-env <name>
Save this environment profile now? [Y/n] y
Name for this environment profile [env_20250625_143201]
> my-pentest-setup
[✓] Environment saved → ~/ApexMultiTools/environments/my-pentest-setup.json
Load it next time with:
python3 apex_framework.py --load-env my-pentest-setup
python3 apex_framework.py --config ~/ApexMultiTools/environments/my-pentest-setup.json
══════════════════════════════════════════════════════════════════════
SESSION SUMMARY
══════════════════════════════════════════════════════════════════════
Base packages:
✓ Git ✓ Curl ✓ Wget
✓ Python3 ✓ Tmux ✓ Neofetch
Security tools:
✓ Proxychains4 ✓ MAC Changer ✓ Tor ✓ Nmap
Dev tools:
✓ VS Code ✓ Docker ✓ Node.js (LTS) ✓ Go
Accounts:
✓ GitHub (gh CLI) ✓ Docker Hub
Google Drive: gdrive:Backup
GDrive local: ~/ApexMultiTools/jack-gdrive
Timezone: Europe/Stockholm
Full log: ~/ApexMultiTools/logs/
[✓] Apex Multi Tools setup complete.
The framework runs as a linear wizard — each step can be accepted, skipped, or customised. Your choices are saved to a state cache so if something fails mid-run, you can resume from where you left off.
Looks for an existing backup on any mounted USB drive. If found, offers to restore your previous selections and rclone config before anything else runs.
Sets system locale (localectl), keyboard layout (console + X11), and timezone (timedatectl). Remembers your last values so on repeat runs you just press Enter to confirm.
Optionally enables secure mode — installs your chosen VPN/proxy/anonymity tools before any network operations run. Includes ProtonVPN, Tor, Proxychains4, MAC Changer, WireGuard, UFW, and more.
Runs apt update + apt upgrade to bring the system fully current.
Toggle-select from 16 essential packages: Git, Curl, Wget, Python3, Vim, Tmux, Neofetch, htop, OpenSSH, Flatpak, and more.
Clones or updates the Apex repo to ~/ApexMultiTools, installs and configures the gh CLI with SSH protocol.
Two separate menus — one for Kali-style pen-testing tools and one for development tools. Pick exactly what you need.
Install Obsidian via Flatpak (recommended) or direct .deb download.
Log in to GitHub, Google Cloud, Docker Hub, NPM, and Heroku interactively. The framework installs any missing CLI tools first.
Configures rclone with your Google Drive remote, runs an initial sync to a local folder, and optionally creates a $USER-gdrive/ mirror directory in the repo that you can sync anytime with the generated gdrive_sync.sh script.
Saves the entire session — tool selections, accounts, locale, GDrive config — as a named JSON/YAML profile in ~/ApexMultiTools/environments/. Reload it on any machine.
Copies your rclone config + session manifest to any detected removable drive for physical backup. Survives reboots and live USB resets.
# Interactive wizard (default)
python3 apex_framework.py
# Load a named environment profile
python3 apex_framework.py --load-env my-pentest-setup
# Run from a YAML/JSON config (non-interactive)
python3 apex_framework.py --config environments/my-pentest-setup.yaml
# List all saved environment profiles
python3 apex_framework.py --list-envs
# Save current state and exit
python3 apex_framework.py --save-env
# Only restore from backup, then exit
python3 apex_framework.py --restore-only
# Only back up current session, then exit
python3 apex_framework.py --backup-only
# Force secure mode (VPN/proxy first)
python3 apex_framework.py --secure-mode
# Suppress banner
python3 apex_framework.py --no-banner
# Show version
python3 apex_framework.py --versionAfter first run, Apex creates the following layout:
~/ApexMultiTools/
├── logs/
│ └── apex_20250625_143201.log # Per-session log
├── config/
│ └── proxies.txt # Fetched proxy list
├── environments/
│ ├── my-pentest-setup.json # Saved environment profiles
│ └── my-pentest-setup.yaml
├── .cache/
│ └── apex_state.json # Session state cache
├── jack-gdrive/ # Local GDrive mirror ($USER-gdrive)
└── gdrive_sync.sh # Rclone sync helper script
You can drive the entire setup non-interactively with a YAML or JSON config file:
# apex_config.yaml
security:
enabled: true
tools:
- Proxychains4
- MAC Changer
- Tor
- Nmap
packages:
selected:
- Git
- Curl
- Python3 & pip
- Tmux
tools:
kali:
- Nmap
- Wireshark
development:
- VS Code
- Docker
- Node.js (LTS)
accounts:
login:
- GitHub (gh CLI)
- Docker Hub
gdrive:
remote: gdrive
path: Backup
dest: ~/Desktop/GDrive-Backup
local_sync: trueRun it:
python3 apex_framework.py --config apex_config.yaml- New: Locale / keyboard / timezone wizard (pre-boot, remembers last values)
- New:
toggle_selectinline usage guide on every menu - New: Environment save/load —
--save-env,--load-env <name>,--list-envs - New:
$USER-gdrive/local GDrive mirror folder +gdrive_sync.shhelper - Fix: VS Code key had trailing colon — broken manifest serialisation
- Fix: Pipe operators in subprocess lists (
|passed as literal arg) — all install_cmd entries converted to shell strings - Fix: ProtonVPN keys missing from
SECURITY_TOOLS— wizard checks were dead code - Fix:
loggerused before init — safe_log()wrapper added - Fix:
pick_backup_location()silently returnedNoneon bad input — now loops
- Full rewrite: dataclass state, Rich TUI support, retry logic, config file mode
- Added Kali-style tool profiles, account login automation
- rclone Google Drive sync
MIT — see LICENSE
apexmultitools.se · Built by ApexMultiTools