deluge -- nmap parser & formatter

Deluge

Advanced parser & formatter for Nmap
and RustScan outputs

Parse once. See everything.

A focused transformation layer that sits between your scanning tools and your analysis workflow. Pipe in raw output, get structured results.

Interactive Mode

Pipe RustScan output with Nmap flags and Deluge auto-detects interactive mode -- spawning concurrent scans per discovered port with live progress.

Intelligent Parsing

Factory-pattern parser registry auto-detects Nmap XML, Nmap stdout, and RustScan formats. Hand it any supported input and it figures out the rest.

Multi-Format Export

Generate JSON, CSV, HTML, XML, and TXT reports from a single scan. Use --export-format all to get everything at once.

Catppuccin Terminal UI

Rich-powered tables, panels, and progress bars styled with the Catppuccin Mocha palette. Color-coded ports, services, OS info, and script results.

Safety Checks

Prerequisite detection for Nmap with OS-specific install instructions. Privilege warnings for scans requiring root. Rich-formatted error messages.

Concurrent Scanning

Interactive mode runs configurable worker threads that execute targeted Nmap scans in parallel. Results merge under a thread lock for safe access.

OS & Script Detection

Full OS detection with match accuracy, traceroute hops with RTT, and NSE script output parsed and formatted per port with structured panels.

HackTricks Integration

Every open service automatically links to its HackTricks enumeration guide. Covers 40+ services with smart port and service-name matching and deduplication.

Three layers. One data flow.

Input is parsed into a Pydantic model, then rendered to terminal or exported to files. No framework, no build step, just a pip-installable CLI.

system architecture
01

Factory Pattern Parsers

Self-registering parsers via @ParserFactory.register decorator. Registration order sets priority -- nmap_xml first, then nmap_stdout, then rustscan.

02

Pydantic v2 Models

Strict validation with ScanResultHostInfoPortInfo hierarchy. Type safety throughout, automatic serialization for all export formats.

03

Rich Terminal UI

All output through Rich -- tables, panels, progress bars, and Live displays. Catppuccin Mocha hex constants. Smart TTY detection for clean piped output.

04

Thread-Safe Engine

Interactive mode reads RustScan stdin in one thread, spawns worker threads for targeted Nmap scans, and merges results via threading.Lock for safe concurrent access.


Python 3.8+ Pydantic v2 Rich lxml ruff pytest

Pipe in scans. Get beautiful output.

Install with pipx, pipe in your scan data, and let Deluge handle the formatting. No configuration needed.

bash
# Install globally with pipx
$ pipx install git+https://github.com/Real-Fruit-Snacks/Deluge.git
# Interactive mode (auto-detected from -sV)
$ rustscan -a 192.168.1.0/24 | deluge -sV
# Parse an existing Nmap XML file
$ deluge --file scan.xml
# Full scan with all export formats
$ rustscan -a targets.txt | deluge -A --export-format all

Deluge is a transformation layer, not a wrapper. It doesn't execute scans -- it makes existing scan outputs infinitely better.

Interactive mode is automatic -- when Deluge detects Nmap arguments on stdin, it switches from simple parsing to concurrent targeted scanning with live progress bars. No flag needed.

Export to json, csv, html, xml, or txt with a single flag. Outputs land in timestamped subdirectories.