Created by: Thomas Van Auken — Van Auken Tech
A collection of helper and utility scripts for Van Auken Tech infrastructure. All scripts share a unified visual identity modelled after the Proxmox VE Community Scripts.
Directory: cli-tools/
Script: cli-tools-install.sh
Installs and verifies 46 CLI tools on a Proxmox VE host across five categories: system monitoring, storage, networking, shell/dev tools, and X11 display dependencies.
bash <(curl -s https://raw.githubusercontent.com/tvanauken/install-scripts/main/cli-tools/cli-tools-install.sh)Directory: pve-drive-init/
Script: drive_init.sh
Scans all drives, identifies remnant data from previous systems (ZFS, LVM, Ceph, mdadm, old partition tables), and performs a thorough 7-step multi-pass wipe. System drives are always protected. Requires a single YES confirmation before any data is touched.
bash <(curl -s https://raw.githubusercontent.com/tvanauken/install-scripts/main/pve-drive-init/drive_init.sh)Directory: drive-inventory/
Script: generate_drive_inventory.sh
Scans all storage devices and generates a comprehensive markdown inventory report — drive count, capacity totals, media classification, serial numbers, storage topology, LVM, and ZFS pool status. Live per-drive progress shown in terminal.
bash <(curl -s https://raw.githubusercontent.com/tvanauken/install-scripts/main/drive-inventory/generate_drive_inventory.sh)Directory: pve-node-remove/
Script: pve_node_remove.sh
Safely removes a node from a Proxmox VE cluster. Scans all cluster nodes, presents an interactive selection menu, then performs complete removal including cluster membership, SSH keys, /etc/hosts configuration, and cleanup of the removed node to standalone status.
Preflight Requirements:
- Healthy cluster with quorum
- Root SSH access to ALL nodes
- VMs/containers migrated off target node
- No HA resources on target node
bash <(curl -s https://raw.githubusercontent.com/tvanauken/install-scripts/main/pve-node-remove/pve_node_remove.sh)Directory: pi-setup/
Script: pi-setup.sh
⚠ RASPBERRY PI HARDWARE ONLY (armhf / arm64) Supported OS: Raspberry Pi OS, Ubuntu Desktop/Server, Kali Linux ARM, Debian ARM NOT compatible with Proxmox VE or x86/x86_64 systems.
IMPORTANT: Must be run with
sudo bash <(curl -s URL)— not curl alone.
Complete Raspberry Pi setup: 40+ Kali Linux security tools, XFCE remote desktop (TigerVNC on port 5901), and full performance tuning (CPU governor, sysctl, overclock, disabled services). Auto-detects Pi model (Pi 1/2/3B/3B+/4/5/Zero/Zero 2W) AND OS (Raspberry Pi OS / Ubuntu / Kali / Debian) and adapts all settings accordingly. apt only — snapd explicitly blocked.
sudo bash <(curl -s https://raw.githubusercontent.com/tvanauken/install-scripts/main/pi-setup/pi-setup.sh)Directory: dns-server/
Script: technitium-dns-install.sh
Full installer — installs Technitium DNS Server from scratch on any Debian-based LXC/VM. Configures split-horizon DNS with VLAN zones for UniFi network integration.
Features:
- Installs Technitium DNS Server from official source
- Creates admin account and authenticates via API
- Configures recursion and upstream forwarders
- Creates primary zone + VLAN sub-zones + backend zones (for SSL proxy)
- Creates reverse DNS zones
- Enables RFC 2136 dynamic updates
- Configures firewall rules
bash <(curl -fsSL https://raw.githubusercontent.com/tvanauken/install-scripts/main/dns-server/technitium-dns-install.sh)Post-install configuration script also available: dns-server-install.sh
Directory: npm-reverse-proxy/
Script: nginx-proxy-manager-install.sh
Full installer — installs Nginx Proxy Manager from scratch with dynamic SSL proxy. Provides valid HTTPS for any internal server via a single wildcard certificate.
Features:
- Installs Docker and NPM container (or native installation)
- Creates admin account and authenticates via API
- Requests wildcard Let's Encrypt certificate (DNS challenge via Cloudflare)
- Configures dynamic SSL proxy with Lua SRV resolver
- Automatically routes HTTPS requests to backend servers via SRV records
- Configures firewall rules
How the Dynamic SSL Proxy Works:
- Browser requests
https://server.vlan.domain.tld - DNS returns the proxy server's IP
- Wildcard certificate validates the connection
- Lua script queries SRV record for backend target + port
- Request is proxied to the real server with valid SSL
bash <(curl -fsSL https://raw.githubusercontent.com/tvanauken/install-scripts/main/npm-reverse-proxy/nginx-proxy-manager-install.sh)Post-install configuration script also available: npm-reverse-proxy-install.sh
Directory: kali-prompt/
Script: kali-prompt-install.sh
Universal Linux Support — works on Ubuntu, Debian, RHEL, Rocky, Fedora, and derivatives. Auto-detects user shell (bash/zsh) and configures accordingly.
Installs the iconic Kali Linux-style command prompt — bold red username@hostname with blue working directory. Creates backups of all modified files and includes comprehensive logging.
Features:
- Multi-distribution support (Debian/RHEL families)
- Auto-detects and configures bash and/or zsh
- Idempotent — safe to run multiple times
- Creates timestamped backups
- Includes color-enabled aliases (ls, grep, etc.)
bash <(curl -fsSL https://raw.githubusercontent.com/tvanauken/install-scripts/main/kali-prompt/kali-prompt-install.sh)Directory: kali-prompt-macos/
Script: kali-prompt-macos-install.sh
🍎 macOS 12.7.6 (Monterey) or later — supports both Intel and Apple Silicon Macs. Auto-detects user shell (zsh/bash) and configures accordingly.
Installs the iconic Kali Linux-style command prompt on macOS — bold red username@hostname with blue working directory. Specifically adapted for macOS with BSD ls -G colors and CLICOLOR/LSCOLORS environment variables.
Features:
- Supports macOS 12.7.6+ (Monterey, Ventura, Sonoma, Sequoia)
- Intel (x86_64) and Apple Silicon (arm64) support
- Configures both zsh (macOS default) and bash
- Uses BSD color flags (-G) for ls
- Idempotent — safe to run multiple times
- Creates timestamped backups
bash <(curl -fsSL https://raw.githubusercontent.com/tvanauken/install-scripts/main/kali-prompt-macos/kali-prompt-macos-install.sh)Directory: pve-vm-ct-cleanup/
Script: pve_vm_ct_cleanup.sh
⚠ IRREVERSIBLE OPERATION — All data will be permanently destroyed. No undo. Backups deleted. Snapshots removed.
Completely removes a VM or container from Proxmox VE, including all associated resources. Presents an interactive menu to select from discovered VMs and CTs, then performs an 8-step comprehensive cleanup with multi-layer confirmation.
Features:
- Interactive selection of all VMs and containers
- Multi-layer confirmation (VMID entry + "DESTROY" keyword)
- Complete cleanup: Stop → Remove HA → Remove replication → Remove snapshots → Remove backups → Remove storage → Delete guest → Verify removal
- Full operation logging to
/var/log/ - Supports PVE 8.x and 9.x
bash <(curl -fsSL https://raw.githubusercontent.com/tvanauken/install-scripts/main/pve-vm-ct-cleanup/pve_vm_ct_cleanup.sh)Directory: dns-server/
Script: technitium-dns-standalone.sh
Standalone installer — creates LXC container and installs Technitium DNS in one command. Runs from Proxmox node — no existing LXC required.
Features:
- Creates Debian 13 LXC container (2 CPU, 2GB RAM, 8GB disk)
- Installs Technitium DNS Server with .NET 9.0 runtime
- Installs 5 pre-configured apps:
- Advanced Blocking v10
- Auto PTR v4
- Drop Requests v7
- Log Exporter v2.1
- Query Logs (Sqlite) v8
- Configures 4 Hagezi blocklists (multi, popupads, tif, fake)
- Privacy-first root hints recursion (no external forwarders)
- QNAME minimization enabled
- Auto-detects storage pools
- No configuration prompts — enterprise defaults
bash <(curl -fsSL https://raw.githubusercontent.com/tvanauken/install-scripts/main/dns-server/technitium-dns-standalone.sh)Full installer with UniFi integration also available: technitium-dns-install.sh
Directory: install/
Script: technitiumdnsgeneric-install.sh
Generic installer — installs Technitium DNS with hardcoded 5-app configuration. For testing and generic deployments. NOT a replication script.
Features:
- Installs .NET ASP.NET Core 10.0 runtime
- Installs Technitium DNS Server (latest portable version)
- Installs 5 hardcoded apps:
- Advanced Blocking
- DNS Block List (DNSBL)
- Failover
- Geo Country
- What Is My Dns
- Configures recursion for all networks
- Enables query logging in UTC time
- Disables systemd-resolved to free port 53
- Auto-starts service on boot
Requirements:
- Debian 13 (Trixie) or compatible
- Root access
- Internet connectivity
curl -fsSL https://raw.githubusercontent.com/tvanauken/install-scripts/main/install/technitiumdnsgeneric-install.sh | bash⚠ Limitations:
- Hardcoded app list (5 apps only)
- Generic configuration (not environment-specific)
- No replication capability
- Single OS support (Debian 13 Trixie)
For production replication that queries an existing server's API and duplicates its configuration, use a dedicated replication script instead.
Directory: pve-cluster-removal/
Script: pve_cluster_removal.sh
Universal cluster removal — works on ANY Proxmox VE node regardless of cluster state. Automatically detects and adapts to healthy, broken, or standalone configurations.
Use Cases:
- Last surviving node of a failed cluster
- Node in a broken/unhealthy cluster (not quorate)
- Node with all other nodes offline
- Node you want to remove from any cluster
- Already standalone node (cleans remnants)
Features:
- Automatic state detection (clustered/broken/standalone)
- Works on ANY cluster health state
- Complete backup before changes
- VMs, containers, storage never touched
- Idempotent — safe to run multiple times
- 12-step process with intelligent fallbacks
bash <(curl -s https://raw.githubusercontent.com/tvanauken/install-scripts/main/pve-cluster-removal/pve_cluster_removal.sh)Directory: pve-cluster-deconfig/
Script: pve_cluster_deconfig.sh
Environment-specific cluster removal for Van Auken Tech infrastructure. Tailored to VanAukenHome cluster specifications.
Use Case:
- Deconfigure VanAukenHome cluster nodes to standalone
- Based on successful titan node deconfiguration
Features:
- 19-step detailed process
- Environment-specific optimizations
- Complete backup and documentation
- Tested on VanAukenHome cluster
bash <(curl -s https://raw.githubusercontent.com/tvanauken/install-scripts/main/pve-cluster-deconfig/pve_cluster_deconfig.sh)All scripts share the same Van Auken Tech visual identity:
| Element | Style |
|---|---|
| Header | figlet "small" font — VANAUKEN TECH |
| Colour palette | RD YW GN DGN BL CL BLD |
| Section dividers | ── Section Name ──────────... (cyan/bold) |
| Status symbols | ✔ green · ✘ red · ⚠ yellow · ◆ cyan · ▸ cyan |
| Summary block | ════════ style (cyan/bold) |
| Footer | ──────── with host + timestamp |
- Scripts 1–4, 10–14: Proxmox VE 8.x (Debian Bookworm) or 9.x (Debian Trixie) · Root access
- Script 5: Raspberry Pi hardware (armhf / arm64) · Raspberry Pi OS / Ubuntu / Kali Linux ARM / Debian · sudo required
- Scripts 6–7: Requires LXC already deployed via community-scripts.org · Root access · Network access to LXC IP
- Script 8: Any Linux distribution (Ubuntu, Debian, RHEL, Rocky, Fedora, derivatives) · User-level access
- Script 9: macOS 12.7.6+ (Monterey or later) · Intel or Apple Silicon · User-level access
- All scripts require internet connectivity. Missing dependencies are auto-installed.
Van Auken Tech · Thomas Van Auken