- Docker & Docker Compose
- Python 3.11+
- PostgreSQL 15
- Redis 7
Install from ProjectDiscovery:
# Subfinder
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
# Httpx
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
# Katana
go install -v github.com/projectdiscovery/katana/cmd/katana@latest
# Nuclei
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latestgit clone https://github.com/yourusername/ReconGPT.git
cd ReconGPTcp .env.example .env
nano .env # Edit with your settingsKey settings to configure:
# Database
DATABASE_URL=postgresql://recongpt:recongpt123@localhost:5432/recongpt
# AI
OPENAI_API_KEY=sk-your-key-here
# Tool Paths (update based on your installation)
SUBFINDER_PATH=/usr/local/bin/subfinder
HTTPX_PATH=/usr/local/bin/httpx
KATANA_PATH=/usr/local/bin/katana
NUCLEI_PATH=/usr/local/bin/nucleidocker-compose up -dThis starts:
- PostgreSQL database
- Redis queue
- FastAPI backend
- Celery worker
# Check services
docker-compose ps
# Check API health
curl http://localhost:8000/health
# Access API docs
open http://localhost:8000/docscurl -X POST http://localhost:8000/api/v1/scan/start \
-H "Content-Type: application/json" \
-d '{
"target_domain": "example.com",
"user_id": "test-user"
}'Response:
{
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "queued",
"message": "Scan queued for example.com"
}# Get status
curl http://localhost:8000/api/v1/scan/550e8400-e29b-41d4-a716-446655440000
# Watch logs
curl http://localhost:8000/api/v1/scan/550e8400-e29b-41d4-a716-446655440000/logscurl http://localhost:8000/api/v1/results/550e8400-e29b-41d4-a716-446655440000cd backend
pip install -r requirements.txt# PostgreSQL
createdb recongpt
# Redis
redis-servercd backend
uvicorn app.main:app --reloadcd backend
celery -A app.tasks.celery_app worker --loglevel=infopytestblack backend/
isort backend/mypy backend/Solution: Install recon tools and update paths in .env
Solution: Ensure PostgreSQL is running and DATABASE_URL is correct
Solution: Start Redis: redis-server
Solution: Check Celery logs: celery -A app.tasks.celery_app worker --loglevel=debug
- Read Architecture Documentation
- Explore Pipeline Details
- Check API Reference
- Join community discussions
- GitHub Issues: Report bugs and feature requests
- Documentation: Full docs in
/docs - Examples: Sample scripts in
/examples