Professional-Grade Asynchronous Reconnaissance Framework
Empowering Bug Bounty Hunters and Security Engineers
β¦ββββββββββββββββ¦βββββββββ¦βββββ¦ββ
β β¦βββ£ β β ββββββββ ββ£βββ β ββ£ β β¦β
β©βββββββββββββββ© β©β© β©βββ β© ββββ©ββ
ReconMaster is a high-performance orchestration framework designed for deep, automated discovery and vulnerability assessment. Built for speed and reliability, it seamlessly integrates industry-leading tools into a unified, asynchronous workflow.
- Core Philosophy
- Pro Features
- Quick Start
- Installation
- Usage Examples
- Configuration
- Output Structure
- Architecture
- Advanced Features
- Troubleshooting
- Contributing
- Legal Notice
- Version Tracking
- Changelog
ReconMaster isn't just a wrapper; it's a dedicated orchestration engine built on three fundamental principles:
- AsyncIO Parallelism: Non-blocking execution of multiple tools simultaneously
- Smart Resource Management: Optimized memory usage and CPU allocation
- Intelligent Caching: Reduces redundant API calls and DNS queries
- Managed Concurrency: Global semaphores prevent network saturation and system lockups
- OpSec Hardened: Randomized User-Agents, circuit breakers for WAF detection, and absolute path verification
- Zero-Trust Architecture: All inputs automatically sanitized and validated (stripping whitespace/trailing dots), all outputs secured against path traversal
- Robust Cleanup: Strict
try/finallypatterns ensure all temporary workspace files are purged, even on scan failure
- Scope Enforcement: Strict domain and regex filtering across all modules
- Intelligent Routing: Adaptive scanning based on discovered technologies
- Minimal Footprint: Only scan what matters, when it matters
|
|
|
|
graph LR
A[Request] --> B{Circuit Breaker}
B -->|Open| C[Execute]
B -->|Closed| D[Throttle]
C --> E{Status Code}
E -->|403/429| F[Increment Counter]
F -->|Threshold Met| G[Trigger Breaker]
E -->|200-299| H[Reset Counter]
G --> D
- Circuit Breaker Logic: Auto-throttles or stops on WAF/Rate-limit spikes (403/429)
- Sub-Process Sanitization: Forced process-group termination prevents orphaned zombie processes
- Scope Enforcement: Strict domain and regex filtering across all modules
- Error Recovery: Automatic retry with exponential backoff
- Resource Monitoring: Real-time CPU, memory, and network tracking
- Unified Circuit Breaker: Consistent failure thresholds (10 errors) to protect against WAF blocks.
- API Fuzzing Engine: Specialized discovery of undocumented endpoints.
- Sensitive Path Intelligence: High-velocity scanning for sensitive assets.
- Premium Dashboard 2.0: Interactive HTML reports with Chart.js visualizations.
- Multi-Cloud Discovery: Proactive S3, Azure Blob, and GCP Storage asset probing.
Plugin Architecture
from reconmaster.core import Plugin
class CustomScanner(Plugin):
def __init__(self):
super().__init__(name="custom-scanner")
async def execute(self, target):
# Your custom scanning logic
results = await self.scan(target)
return resultsBuilt-in Plugins:
- WordPress Scanner
- Cloud Asset Discovery (AWS, GCP, Azure)
- GraphQL Introspection
- API Endpoint Discovery (Hidden Routes)
- Sensitive File Discovery (QuickHits)
- Custom Template Engine
Daily Automation Mode
# Continuous monitoring with diff detection
python reconmaster.py -d target.com --daily \
--webhook https://discord.com/api/webhooks/YOUR_WEBHOOK \
--diff-onlyFeatures:
- Lightweight monitoring with state comparison
- Real-time Discord/Slack/Telegram alerts
- Historical change tracking
- Automated report generation
- False positive filtering
CI/CD Integration
GitHub Actions Support:
name: Daily Recon
on:
schedule:
- cron: '0 0 * * *'
jobs:
recon:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run ReconMaster
run: |
docker run --rm \
-v ${{ github.workspace }}/results:/app/results \
reconmaster -d ${{ secrets.TARGET }} \
--webhook ${{ secrets.WEBHOOK_URL }}Jenkins Pipeline Support GitLab CI/CD Ready Azure DevOps Compatible
Professional Exports
Burp Suite Site Map:
python reconmaster.py -d target.com --export-burp
# Generates: burp_sitemap.xmlOWASP ZAP Context:
python reconmaster.py -d target.com --export-zap
# Generates: zap_context.xmlCustom Formats:
- JSON (structured data)
- XML (tool integration)
- CSV (analysis and reporting)
- Markdown (human-readable)
- HTML (visual reports)
ReconMaster includes advanced GitHub Actions workflows for automated, scheduled, and triggered reconnaissance.
The most powerful automated workflow, featuring:
- Authorization Verification: Ensures scans only run on authorized targets.
- Scan Matrix: Scan multiple domains concurrently.
- State Management: Persists scan state across runs for delta analysis.
- Critical Findings Alerts: Automatic identification of high-risk findings in GitHub Summary.
- Artifact Management: Structured retention of summary reports and full assessment data.
Setup Instructions:
- Go to repository Settings > Secrets and variables > Actions.
- Add the following secrets:
AUTHORIZED_DOMAINS: Comma-separated list of domains you are authorized to scan (e.g.,example.com,test.com).WEBHOOK_URL: (Optional) Discord/Slack webhook for notifications.
- (Recommended) Create an environment named
security-testingand add required reviewers for critical scans.
Manual Trigger:
- Navigate to the Actions tab in your repository.
- Select ReconMaster Advanced Security Scan.
- Click Run workflow, enter the target domain, and select the scan mode.
Get started in under 2 minutes:
# 1. Clone the repository
git clone https://github.com/VIPHACKER100/ReconMaster.git
cd ReconMaster
# 2. Install dependencies
pip install -r requirements.txt
# 3. Run your first scan
python reconmaster.py -d example.com --i-understand-this-requires-authorization
# 4. View results
ls -la recon_results/example.com_*| Operating System | Linux (Ubuntu 20.04+ recommended), macOS, Windows (WSL2) |
| Python Version | 3.9 or higher |
| Memory | Minimum 4GB RAM (8GB+ recommended) |
| Disk Space | 10GB+ for tools and results |
| Network | Stable internet connection |
# Clone repository
git clone https://github.com/VIPHACKER100/ReconMaster.git
cd ReconMaster
# Create virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install Python dependencies
pip install -r requirements.txt
# Install external tools
./install_reconmaster.sh
# Verify installation
python reconmaster.py --version# Build the image
docker build -t reconmaster:latest .
# Run a scan
docker run --rm \
-v $(pwd)/results:/app/recon_results \
-e TARGET_DOMAIN=example.com \
reconmaster:latest \
-d example.com --i-understand-this-requires-authorization
# Run with custom config
docker run --rm \
-v $(pwd)/config.yaml:/app/config.yaml \
-v $(pwd)/results:/app/recon_results \
reconmaster:latest \
-d example.com --config /app/config.yamlDocker Compose:
version: '3.8'
services:
reconmaster:
build: .
volumes:
- ./results:/app/recon_results
- ./config.yaml:/app/config.yaml
environment:
- TARGET_DOMAIN=${TARGET_DOMAIN}
- WEBHOOK_URL=${WEBHOOK_URL}
command: ["-d", "${TARGET_DOMAIN}", "--daily"]- Copy workflow file:
cp .github/workflows/reconmaster.yml.example .github/workflows/reconmaster.yml-
Configure secrets in GitHub Settings:
RECON_DOMAIN: Target domainWEBHOOK_URL: Discord/Slack webhookGITHUB_TOKEN: Automatically provided
-
Enable workflow and set schedule
# .gitlab-ci.yml
daily_recon:
image: reconmaster:latest
script:
- python reconmaster.py -d $TARGET_DOMAIN --daily --webhook $WEBHOOK_URL
only:
- schedules# Standard full assessment
python reconmaster.py -d target.com --i-understand-this-requires-authorization
# Passive-only scan (no active probing)
python reconmaster.py -d target.com --passive-only --i-understand-this-requires-authorization
# Aggressive mode (all modules, maximum depth)
python reconmaster.py -d target.com --aggressive --i-understand-this-requires-authorization
# Quick scan (essentials only)
python reconmaster.py -d target.com --quick --i-understand-this-requires-authorization# Custom scope with multiple domains
python reconmaster.py -d target.com -d api.target.com -d admin.target.com \
--i-understand-this-requires-authorization
# Use custom wordlist for subdomain enumeration
python reconmaster.py -d target.com \
--wordlist /path/to/wordlist.txt \
--i-understand-this-requires-authorization
# Specify output directory
python reconmaster.py -d target.com \
--output /custom/path/results \
--i-understand-this-requires-authorization
# Enable specific modules only
python reconmaster.py -d target.com \
--modules subdomain,dns,http \
--i-understand-this-requires-authorization
# Rate limiting (requests per second)
python reconmaster.py -d target.com \
--rate-limit 10 \
--i-understand-this-requires-authorization# Daily monitoring with Discord notifications
python reconmaster.py -d target.com \
--daily \
--webhook https://discord.com/api/webhooks/YOUR_WEBHOOK \
--i-understand-this-requires-authorization
# Continuous mode with change detection
python reconmaster.py -d target.com \
--continuous \
--diff-only \
--notify-on-new \
--i-understand-this-requires-authorization
# Scheduled scan with custom interval (minutes)
python reconmaster.py -d target.com \
--schedule 1440 \
--webhook https://slack.com/webhooks/YOUR_WEBHOOK \
--i-understand-this-requires-authorization# Export to Burp Suite
python reconmaster.py -d target.com \
--export-burp \
--output-format xml \
--i-understand-this-requires-authorization
# Export to OWASP ZAP
python reconmaster.py -d target.com \
--export-zap \
--i-understand-this-requires-authorization
# Generate comprehensive report
python reconmaster.py -d target.com \
--report-format html,json,md \
--i-understand-this-requires-authorization# Target Configuration
targets:
domains:
- example.com
- api.example.com
scope:
- "*.example.com"
- "example.*"
exclusions:
- "test.example.com"
- "dev.example.com"
# Scanning Options
scan:
passive_only: false
aggressive: false
rate_limit: 50 # requests per second
timeout: 30 # seconds
retries: 3
delay: 1 # seconds between requests
# Module Configuration
modules:
subdomain:
enabled: true
sources: [subfinder, assetfinder, amass]
wordlist: /path/to/wordlist.txt
dns:
enabled: true
resolvers: /path/to/resolvers.txt
validate: true
http:
enabled: true
follow_redirects: true
verify_ssl: false
screenshot: true
vuln:
enabled: true
nuclei_templates: /path/to/templates
severity: [critical, high, medium]
endpoint:
enabled: true
crawl_depth: 3
extract_js: true
# Notification Settings
notifications:
discord:
enabled: false
webhook: ""
slack:
enabled: false
webhook: ""
telegram:
enabled: false
bot_token: ""
chat_id: ""
email:
enabled: false
smtp_server: ""
smtp_port: 587
from: ""
to: []
# Output Settings
output:
directory: ./recon_results
formats: [json, md, html]
verbose: true
save_logs: true
# Advanced Options
advanced:
circuit_breaker:
enabled: true
threshold: 5
timeout: 300 # seconds
resource_limits:
max_memory: 8192 # MB
max_cpu: 80 # percentage
proxy:
enabled: false
http: ""
https: ""
custom_headers:
User-Agent: "ReconMaster/3.2.0-Elite"# Target configuration (supports multiple names for compatibility)
export RECON_TARGET="example.com"
export RECON_DOMAIN="example.com"
export TARGET_DOMAIN="example.com"
# Webhook for notifications
export WEBHOOK_URL="https://discord.com/api/webhooks/YOUR_WEBHOOK"
# API keys (if needed)
export SHODAN_API_KEY="your_key_here"
export CENSYS_API_ID="your_id_here"
export CENSYS_API_SECRET="your_secret_here"
export SECURITYTRAILS_API_KEY="your_key_here"
export VIRUSTOTAL_API_KEY="your_key_here"
# Output directory
export RECON_OUTPUT_DIR="/path/to/results"
# Rate limiting
export RECON_RATE_LIMIT="50"
# Verbosity level (0-3)
export RECON_VERBOSE="2"Results are organized in a hierarchical structure for easy navigation:
recon_results/
βββ target.com_2026-02-09_14-30-00/
βββ π summary.json # Scan overview and statistics
βββ π executive_report.md # Human-readable summary
βββ π full_report.html # Interactive HTML report
β
βββ subdomains/
β βββ all_subdomains.txt # Complete list
β βββ live_subdomains.txt # Validated active hosts
β βββ subfinder.txt # Source-specific results
β βββ assetfinder.txt
β βββ amass.txt
β βββ dns_records.json # Comprehensive DNS data
β
βββ http/
β βββ alive.txt # Active HTTP/HTTPS services
β βββ httpx_full.json # Detailed probe results
β βββ technologies.json # Detected tech stack
β βββ certificates.json # SSL/TLS certificate info
β
βββ vulns/
β βββ nuclei_results.json # All vulnerability findings
β βββ critical.txt # Critical severity only
β βββ high.txt # High severity
β βββ medium.txt # Medium severity
β βββ low.txt # Low severity
β βββ exposed_secrets.txt # API keys, tokens, credentials
β
βββ endpoints/
β βββ all_urls.txt # Complete URL list
β βββ parameters.txt # Discovered parameters
β βββ api_endpoints.txt # API routes
β βββ admin_panels.txt # Admin interfaces
β βββ crawl_tree.json # Site structure
β
βββ js/
β βββ javascript_files.txt # All JS files
β βββ secrets.txt # Extracted secrets
β βββ endpoints.txt # JS-discovered endpoints
β βββ analysis/ # Detailed JS analysis
β βββ file1_analysis.json
β βββ file2_analysis.json
β
βββ screenshots/
β βββ target.com.png
β βββ api.target.com.png
β βββ admin.target.com.png
β
βββ exports/
β βββ burp_sitemap.xml # Burp Suite import
β βββ zap_context.xml # ZAP import
β βββ nuclei_sarif.json # SARIF format for IDEs
β
βββ logs/
βββ scan.log # Complete scan log
βββ errors.log # Error events
βββ debug.log # Debug information
{
"scan_info": {
"target": "example.com",
"start_time": "2026-02-09T14:30:00Z",
"end_time": "2026-02-09T15:45:00Z",
"duration": "1h 15m 0s",
"version": "3.1.0"
},
"statistics": {
"subdomains_found": 127,
"live_hosts": 89,
"vulnerabilities": 23,
"endpoints_discovered": 456,
"js_files_analyzed": 34
},
"findings": {
"critical": 3,
"high": 8,
"medium": 12,
"low": 15,
"info": 47
}
}Professional summary with findings, statistics, and recommendations
Interactive dashboard with charts, graphs, and filtering capabilities
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ReconMaster Core β
β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Scheduler βββββΆβ OrchestratorβββββΆβ Reporter β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β β β β
β βΌ βΌ βΌ β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Task Manager β βCircuit Breakerβ β Exporter β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββΌββββββββββββββββ
βΌ βΌ βΌ
ββββββββββββββββββ ββββββββββββββ ββββββββββββββββββ
β Discovery β β Validationβ β Exploitation β
β Module β β Module β β Module β
ββββββββββββββββββ€ ββββββββββββββ€ ββββββββββββββββββ€
β β’ Subfinder β β β’ DNSX β β β’ Nuclei β
β β’ Assetfinder β β β’ HTTPx β β β’ Katana β
β β’ Amass β β β’ TLS Scan β β β’ JS Analysis β
β β’ CT Logs β β β’ Port Scanβ β β’ Custom Scans β
ββββββββββββββββββ ββββββββββββββ ββββββββββββββββββ
async def reconnaissance_pipeline(target):
# Phase 1: Discovery (Parallel)
subdomains = await asyncio.gather(
run_subfinder(target),
run_assetfinder(target),
run_amass(target)
)
# Phase 2: Validation (Throttled)
live_hosts = await validate_hosts(
merge_subdomains(subdomains),
max_concurrent=50
)
# Phase 3: Analysis (Adaptive)
results = await asyncio.gather(
analyze_http(live_hosts),
scan_vulnerabilities(live_hosts),
crawl_endpoints(live_hosts)
)
# Phase 4: Reporting
await generate_reports(results)class ReconModule:
"""Base class for all recon modules"""
def __init__(self, name, config):
self.name = name
self.config = config
self.semaphore = asyncio.Semaphore(config.max_concurrent)
async def execute(self, target):
"""Execute module logic"""
async with self.semaphore:
return await self._run(target)
async def _run(self, target):
"""Override in subclasses"""
raise NotImplementedErrorAutomatically detects and handles rate limiting:
class CircuitBreaker:
def __init__(self, threshold=5, timeout=300):
self.failure_count = 0
self.threshold = threshold
self.timeout = timeout
self.state = "CLOSED"
async def call(self, func, *args):
if self.state == "OPEN":
if time.time() - self.open_time > self.timeout:
self.state = "HALF_OPEN"
else:
raise CircuitOpenError()
try:
result = await func(*args)
if self.state == "HALF_OPEN":
self.state = "CLOSED"
self.failure_count = 0
return result
except RateLimitError:
self.failure_count += 1
if self.failure_count >= self.threshold:
self.state = "OPEN"
self.open_time = time.time()
raiseReduce redundant operations:
from functools import lru_cache
import aiofiles
import json
class CacheManager:
def __init__(self, cache_dir=".cache"):
self.cache_dir = cache_dir
async def get(self, key):
cache_file = f"{self.cache_dir}/{key}.json"
if os.path.exists(cache_file):
async with aiofiles.open(cache_file, 'r') as f:
return json.loads(await f.read())
return None
async def set(self, key, value, ttl=3600):
cache_file = f"{self.cache_dir}/{key}.json"
async with aiofiles.open(cache_file, 'w') as f:
await f.write(json.dumps({
'data': value,
'expires': time.time() + ttl
}))Create your own scanning modules:
from reconmaster.core import Plugin, PluginResult
class WordPressScanner(Plugin):
"""Custom WordPress vulnerability scanner"""
def __init__(self):
super().__init__(
name="wordpress-scanner",
version="1.0.0",
description="WordPress vulnerability detection"
)
async def execute(self, target):
# Check if WordPress is present
is_wp = await self.detect_wordpress(target)
if not is_wp:
return PluginResult(success=False, message="Not a WordPress site")
# Enumerate plugins
plugins = await self.enumerate_plugins(target)
# Check for vulnerabilities
vulns = await self.check_vulnerabilities(plugins)
return PluginResult(
success=True,
data={'plugins': plugins, 'vulnerabilities': vulns}
)
async def detect_wordpress(self, target):
# Implementation
passTool Not Found Error
Problem: subfinder: command not found
Solution:
# Install missing tools
./scripts/install_tools.sh
# Or install individually
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latestPermission Denied
Problem: Permission denied: /usr/local/bin/tool
Solution:
# Run with elevated privileges
sudo ./scripts/install_tools.sh
# Or change installation directory
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/binRate Limiting / WAF Detection
Problem: Scan stops with 429/403 errors
Solution:
# Reduce rate limit
python reconmaster.py -d target.com --rate-limit 5
# Use passive mode
python reconmaster.py -d target.com --passive-only
# Add delays
python reconmaster.py -d target.com --delay 2Memory Issues
Problem: MemoryError or system slowdown
Solution:
# Limit concurrent tasks
python reconmaster.py -d target.com --max-concurrent 10
# Disable heavy modules
python reconmaster.py -d target.com --modules subdomain,dns,http
# Use Docker with resource limits
docker run --memory="4g" --cpus="2" reconmaster ...Docker Issues
Problem: Container fails to start
Solution:
# Check Docker installation
docker --version
# Rebuild image
docker build --no-cache -t reconmaster .
# Check logs
docker logs <container_id>
# Run with verbose output
docker run -e RECON_VERBOSE=3 reconmaster ...Enable detailed logging:
# Maximum verbosity
python reconmaster.py -d target.com --verbose 3 --debug
# Save debug logs
python reconmaster.py -d target.com --save-logs --log-level DEBUG
# Real-time monitoring
tail -f recon_results/*/logs/scan.log- Check Documentation: https://github.com/VIPHACKER100/ReconMaster/wiki
- Search Issues: https://github.com/VIPHACKER100/ReconMaster/issues
- Ask Community: https://discord.gg/reconmaster
- Report Bug: https://github.com/VIPHACKER100/ReconMaster/issues/new
We welcome contributions! Here's how to get started:
# Fork and clone
git clone https://github.com/YOUR_USERNAME/ReconMaster.git
cd ReconMaster
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install development dependencies
pip install -r requirements-dev.txt
# Install pre-commit hooks
pre-commit install
# Run tests
pytest tests/We follow PEP 8 with some modifications:
# Good
async def scan_subdomain(target: str, timeout: int = 30) -> List[str]:
"""
Enumerate subdomains for a given target.
Args:
target: Domain to scan
timeout: Maximum execution time in seconds
Returns:
List of discovered subdomains
"""
results = []
async with aiohttp.ClientSession() as session:
# Implementation
pass
return results
# Bad
def scan(t):
# No type hints, no docstring
r = []
# Implementation
return r- Create Feature Branch:
git checkout -b feature/amazing-feature - Make Changes: Follow code style and add tests
- Run Tests:
pytest tests/ && flake8 - Commit:
git commit -m "Add amazing feature" - Push:
git push origin feature/amazing-feature - Open PR: Describe changes and link any related issues
- π Bug Fixes: Check open issues
- β¨ New Features: Propose in discussions
- π Documentation: Improve guides, add examples
- π§ͺ Testing: Increase coverage, add edge cases
- π Plugins: Create new scanning modules
- π Translations: Help translate documentation
ReconMaster is a powerful reconnaissance tool designed for legal, authorized security testing only.
β You MUST have:
- Written authorization from the target owner
- Explicit permission to perform security testing
- Clear scope definition and boundaries
- Compliance with local laws and regulations
β You MUST NOT:
- Scan systems without permission
- Exceed authorized scope
- Cause damage or disruption
- Access or exfiltrate data
- Violate computer fraud laws
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
The author assumes NO LIABILITY for:
- Misuse or abuse of this tool
- Damage caused by unauthorized scans
- Legal consequences of illegal activity
- Loss of data or system disruption
- Any other damages arising from use
If you discover vulnerabilities using ReconMaster:
- Do Not Exploit: Never exploit vulnerabilities beyond proof-of-concept
- Report Responsibly: Follow coordinated disclosure practices
- Respect Privacy: Do not access or retain sensitive data
- Document Properly: Keep detailed records of findings
- Follow Guidelines: Adhere to bug bounty program rules
By using ReconMaster, you acknowledge that you have read, understood, and agree to this legal notice. You accept full responsibility for your actions and agree to use this tool only for lawful purposes with proper authorization.
The --i-understand-this-requires-authorization flag is required to acknowledge these terms.
| Version | Support Status |
|---|---|
| v3.1.0 | β Current |
| v3.0.0 | β Supported |
| v2.0.0 LTS | β LTS |
| v1.0.0 | β EOL |
- Current Release: Full support, active development
- LTS Release: Security updates and critical bug fixes only
- EOL Release: No support, upgrade recommended
# From v2.x to v3.x
git pull origin main
pip install -r requirements.txt --upgrade
python reconmaster.py --migrate-config
# From v1.x to v3.x
# Manual configuration migration required
python scripts/migrate_v1_to_v3.pyNew Features:
- π Enhanced async performance with improved concurrency control
- π Plugin system v2.0 with hot-reload support
- π Advanced HTML reporting with interactive charts
- π Improved OpSec with randomized timing and User-Agent rotation
- π Multi-language support (EN, ES, FR, DE)
Improvements:
- β‘ 40% faster subdomain enumeration
- π― Better scope filtering with regex support
- πΎ Reduced memory footprint by 25%
- π Enhanced JavaScript analysis engine
- π Comprehensive documentation updates
Bug Fixes:
- Fixed circuit breaker false positives
- Resolved Docker volume permission issues
- Corrected timezone handling in reports
- Fixed memory leak in continuous mode
Security:
- Updated all dependencies to latest versions
- Patched potential command injection in plugin system
- Enhanced input sanitization
Major Changes:
- Complete rewrite with async/await architecture
- New plugin system for extensibility
- Circuit breaker implementation
- Professional export formats (Burp, ZAP)
- Daily automation mode
Features:
- Multi-source subdomain enumeration
- Nuclei integration
- Basic Docker support
- Markdown reporting
Initial Release:
- Core reconnaissance functionality
- Basic tool orchestration
- Simple reporting
ReconMaster stands on the shoulders of giants. Special thanks to:
- ProjectDiscovery - For Nuclei, Subfinder, HTTPx, Katana, and other amazing tools
- OWASP - For Amass and security standards
- TomNomNom - For Assetfinder and inspiration
- Bug Bounty Community - For continuous feedback and feature requests
- Open Source Contributors - For making this project better
If ReconMaster has helped you in your bug bounty journey or security research:
Developed with β€οΈ by VIPHACKER100 ( Aryan Ahirwar )
Built with π₯ for the security community | Licensed under MIT