NipunDilshanSenevirathne/Recon2026-updated-from-25-
GitHub: NipunDilshanSenevirathne/Recon2026-updated-from-25-
Stars: 0 | Forks: 0
# recon2026
**Ultimate Subdomain Enumeration and HTTP Probing Framework**
**Author:** Nipun Dillshan Senevirathne
**Version:** 2026.1.0
**Language:** Bash
**Purpose:** Elite passive subdomain enumeration, DNS resolution, and live host probing for authorized penetration testing and bug bounty reconnaissance.
## Table of Contents
1. [Overview](#overview)
2. [Features](#features)
3. [Enumeration Sources](#enumeration-sources)
4. [Requirements](#requirements)
5. [Installation](#installation)
6. [Usage](#usage)
7. [Output Files](#output-files)
8. [Pipeline Flow](#pipeline-flow)
9. [Optional API Keys](#optional-api-keys)
10. [Legal Disclaimer](#legal-disclaimer)
## Overview
recon2026 is a high-performance reconnaissance framework designed for security professionals conducting authorized assessments. It aggregates subdomain data from ten independent sources in parallel, deduplicates and validates results through DNS resolution, and probes all discovered hosts for live HTTP and HTTPS services — all from a single command.
The tool is intentionally designed without Amass to maintain speed. Every enumeration engine runs concurrently, meaning total runtime is bounded by the slowest single source rather than the sum of all sources.
## Features
- All enumeration engines execute in parallel for maximum speed
- Automatic deduplication and normalization of all collected subdomains
- DNS resolution validation via `dnsx` before probing
- HTTP and HTTPS probing across five common ports with 200 concurrent threads
- Timestamped output directory per run — no results are ever overwritten
- Live progress indicators and color-coded terminal output
- Graceful interrupt handling with background job cleanup
- Optional integration with GitHub and ProjectDiscovery Chaos via API keys
- Dependency check at startup with per-tool installation guidance
- Full operation log written to `recon2026.log` in the output directory
## Enumeration Sources
The following sources are queried during each run:
| # | Source | Method |
|---|--------|--------|
| 1 | Subfinder | Passive DNS aggregation, recursive, 100 threads |
| 2 | AssetFinder | Passive subdomain discovery |
| 3 | Findomain | Certificate-based enumeration |
| 4 | crt.sh | Certificate Transparency log query via API |
| 5 | HackerTarget | Host search API |
| 6 | AlienVault OTX | Passive DNS via threat intelligence API |
| 7 | RapidDNS | DNS record scraping |
| 8 | Riddler.io | OSINT-based subdomain discovery |
| 9 | GitHub Subdomains | GitHub dorking (requires token) |
| 10 | ProjectDiscovery Chaos | Community subdomain dataset (requires API key) |
Sources 9 and 10 are optional and are silently skipped if credentials are not provided.
## Requirements
### Required Tools
The following tools must be installed and available in `$PATH`:
- `subfinder` — projectdiscovery/subfinder
- `assetfinder` — tomnomnom/assetfinder
- `httpx` or `httpx-toolkit` — projectdiscovery/httpx
- `dnsx` — projectdiscovery/dnsx
- `anew` — tomnomnom/anew
- `curl` — standard HTTP client (pre-installed on most systems)
- `python3` — required for crt.sh and AlienVault JSON parsing
### Optional Tools
- `findomain` — findomain/findomain
- `github-subdomains` — gwen001/github-subdomains
- `chaos` — projectdiscovery/chaos-client
### System Requirements
- Operating System: Linux or macOS
- Shell: Bash 4.0 or later
- Go: 1.20 or later (for installing Go-based tools)
- Internet connectivity to external APIs
## Installation
### 1. Clone or download the script
git clone https://github.com/youruser/recon2026.git
cd recon2026
chmod +x recon2026.sh
### 2. Install required Go-based tools
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/tomnomnom/assetfinder@latest
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
go install -v github.com/projectdiscovery/dnsx/cmd/dnsx@latest
go install github.com/tomnomnom/anew@latest
### 3. Install optional tools
# Findomain
curl -LO https://github.com/findomain/findomain/releases/latest/download/findomain-linux
chmod +x findomain-linux && mv findomain-linux /usr/local/bin/findomain
# GitHub Subdomains
go install github.com/gwen001/github-subdomains@latest
# Chaos client
go install github.com/projectdiscovery/chaos-client/cmd/chaos@latest
### 4. Ensure Go binaries are in PATH
export PATH=$PATH:$(go env GOPATH)/bin
Add the above line to your `~/.bashrc` or `~/.zshrc` to make it permanent.
## Usage
### Interactive mode
Run the script without arguments. It will prompt for the target domain and optional API keys:
./recon2026.sh
### Direct mode
Pass the target domain as a positional argument to skip the domain prompt:
./recon2026.sh example.com
### With API keys pre-set as environment variables
GITHUB_TOKEN=ghp_yourtoken CHAOS_KEY=yourapikey ./recon2026.sh example.com
### Passing API keys at runtime
If environment variables are not set, the tool will prompt for them interactively. Both prompts can be skipped by pressing Enter, in which case the corresponding sources are omitted from the run.
## Output Files
All output is written to a timestamped directory created at the start of each run:
recon_example.com_20260530_143022/
The following files are produced:
| File | Description |
|------|-------------|
| `subdomains.txt` | All unique subdomains collected from every source, sorted and deduplicated |
| `subdomains_resolved.txt` | Subdomains confirmed to resolve via DNS (produced if `dnsx` is installed) |
| `subdomains_alive.txt` | Live HTTP/S hosts with status codes, titles, and detected technologies |
| `recon2026.log` | Full verbose log of all tool output and errors for the run |
A temporary `.tmp/` directory is created during the run to hold per-source raw output and is automatically deleted upon completion.
## Pipeline Flow
The following sequence is executed on every run:
1. Dependency check
|
2. Target domain input and validation
|
3. Parallel enumeration across all 10 sources
|
4. Merge all raw results
|
5. Deduplicate, normalize, and filter invalid entries --> subdomains.txt
|
6. DNS resolution via dnsx --> subdomains_resolved.txt
|
7. HTTP/S probing via httpx on ports 80,443,8080,8000,8888 --> subdomains_alive.txt
|
8. Summary report with counts and elapsed time
Steps 3 through 5 run with full parallelism. Step 6 feeds directly into step 7, using the resolved list when available or falling back to the full deduplicated list otherwise.
## Optional API Keys
### GitHub Token
Required for the `github-subdomains` module. Generates significantly more results by querying GitHub repositories and code for subdomain references.
Obtain a token at: `https://github.com/settings/tokens`
Required scopes: `repo`, `read:org`
export GITHUB_TOKEN=ghp_yourtokenhere
### ProjectDiscovery Chaos API Key
Obtain a key at: `https://chaos.projectdiscovery.io`
export CHAOS_KEY=yourapikey
## Legal Disclaimer
recon2026 is intended exclusively for authorized security testing, bug bounty programs, and legitimate penetration testing engagements where explicit written permission has been obtained from the target organization.
Unauthorized use of this tool against systems you do not own or have explicit permission to test is illegal and unethical. The author accepts no responsibility for misuse of this software.
**Always obtain written authorization before conducting any reconnaissance activity.**
*recon2026 — built for precision, speed, and professional security work.*