Quick Start
There are several ways to get recon-web up and running. Pick the method that suits your workflow best.
The fastest way to run a scan — no setup required. Just pull and run:
docker run --rm ghcr.io/brunoafk/recon-web/cli scan example.comThis pulls the latest CLI image, scans the target, prints the results to stdout, and cleans up the container automatically.
For the full experience — web UI, persistent history, and all services — use Docker Compose.
-
Clone the repository:
Terminal window git clone https://github.com/brunoafk/recon-web.gitcd recon-web -
Create your environment file:
Terminal window cp .env.example .env -
Start all services:
Terminal window docker compose up -
Open the web UI at http://localhost:8080 and run your first scan.
If you want to develop or customize recon-web, run it directly with Node.js.
Prerequisites: Node.js 24+ and npm.
-
Clone and install dependencies:
Terminal window git clone https://github.com/brunoafk/recon-web.gitcd recon-webnpm install -
Copy the example environment file:
Terminal window cp .env.example .env -
Start the API server and web UI in separate terminals:
Terminal window # Terminal 1 — API servernpm run dev# Terminal 2 — Web UInpm run dev:web -
Open http://localhost:8080 in your browser.
What you’ll see
Section titled “What you’ll see”Once everything is running, the scan flow works like this:
- You enter a target URL in the web UI (or pass it as a CLI argument).
- recon-web kicks off dozens of security and reconnaissance checks in parallel — DNS lookups, TLS analysis, header inspection, port scanning, performance audits, and more.
- Results stream back to the UI in real time via server-sent events. Each check appears as it completes, so you don’t have to wait for the full scan to finish.
- When all checks are done, the full report is saved to your scan history for later review, comparison, and export.
Head over to Configuration to add API keys and tune settings, or jump straight to Your First Scan for a detailed walkthrough of the results.