Skip to content

Configuration

All configuration in recon-web is managed through environment variables. The easiest way to set them is with a .env file in the project root.

Terminal window
cp .env.example .env

These control general server behavior and resource limits.

VariableDefaultDescription
PORT3000Port the API server listens on.
HOST0.0.0.0Bind address for the API server.
API_TIMEOUT_LIMIT30000Maximum time in milliseconds for a single check to complete before it is aborted.
API_CORS_ORIGIN*Allowed CORS origins. Set to your domain in production.
MAX_CONCURRENCY8Number of checks that run in parallel during a scan. Lower this on resource-constrained machines.
DB_PATH(built-in default)Path to the SQLite database file used for scan history.
CHROME_PATH(auto-detected)Path to a Chromium or Chrome binary. Required for screenshot and some rendering-based checks.

API keys are optional. Every built-in check works without any keys configured. Adding keys enables extra checks or removes rate limits imposed by third-party services.

VariableServiceNotes
GOOGLE_CLOUD_API_KEYGoogle PageSpeed Insights and Safe BrowsingEnables Lighthouse performance audits and malware/phishing reputation checks.
VIRUSTOTAL_API_KEYVirusTotalFree tier allows 500 requests per day. Used for domain and URL reputation scanning.
ABUSEIPDB_API_KEYAbuseIPDBFree tier allows 1,000 checks per day. Used for IP abuse confidence scoring.
CLOUDMERSIVE_API_KEYCloudmersiveProvides additional threat intelligence and URL safety checks.
BUILT_WITH_API_KEYBuiltWithReveals the full technology stack behind a target site.
TRANCO_API_KEYTranco ListChecks the target’s ranking in the Tranco top-sites list.

By default, recon-web is open — anyone who can reach the server can run scans. To restrict access, enable bearer-token authentication.

VariableDefaultDescription
AUTH_ENABLEDfalseSet to true to require a bearer token on every API request.
AUTH_TOKEN(none)The secret token clients must send in the Authorization header.

When authentication is enabled, all requests to the API must include the header:

Authorization: Bearer <your-token>

The web UI will prompt for the token on first load and store it in the browser’s local storage. CLI users can pass it via the --token flag or the RECON_WEB_TOKEN environment variable.