The tool is currently in development. For any questions or ideas, feel free to contact me at [email protected].
An automated web reconnaissance tool that delivers your essential tools directly through Discord for effortless access.
Current Tooling Support (on-development):
Core Capabilities
- Automated subdomain enumeration using subfinder
- DNS resolution with dnsx integration
- HTTP/HTTPS service probing using httpx
- Comprehensive reconnaissance workflow
Interfaces
- Discord bot for easy command execution
- RESTful API for programmatic access
- Interactive command-line interface
Data Management
- PostgreSQL database for result persistence
- CSV export capabilities
- Efficient data retrieval system
Deployment
- Docker Compose support
- Easy configuration via environment variables
- Scalable architecture
Before you begin, ensure you have:
- Python 3.11 or higher installed
- PostgreSQL 15 or higher installed
- Docker and Docker Compose installed
- Discord Bot Token (Create one here)
- Git installed (for cloning the repository)
For Ubuntu installation of prerequisites:
# Update system
sudo apt update && sudo apt upgrade -y
# Install Python
sudo apt install python3.11 python3.11-venv python3-pip -y
# Install PostgreSQL
sudo apt install postgresql postgresql-contrib -y
# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose-
Clone the Repository
git clone https://github.com/yourusername/reconthing.git cd reconthing -
Choose Your Environment File
# For Docker deployment cp .env.docker.example .env.docker # For local deployment cp .env.local.example .env.local
-
Configure Your Environment Variables Edit your chosen .env file and fill in the required values:
DB_USER=your_db_user DB_PASSWORD=your_secure_password DB_HOST=db # Use 'db' for Docker, 'localhost' for local DB_NAME=your_db_name API_HOST=api # Use 'api' for Docker, 'localhost' for local API_PORT=8000 DISCORD_BOT_TOKEN=your_discord_bot_token
🐋 Docker Deployment
-
Start the Services
docker-compose up -d
-
Verify All Services are Running
docker-compose ps
-
Check the Logs
# View all logs docker-compose logs -f # View specific service logs docker-compose logs -f api # For API logs docker-compose logs -f discord_bot # For Discord bot logs docker-compose logs -f db # For Database logs
-
Stopping the Services
docker-compose down
💻 Local Environment
-
Set up Python Virtual Environment
python -m venv .venv source .venv/bin/activate # Linux/Mac # or .venv\Scripts\activate # Windows
-
Install Python Dependencies
pip install -r requirements.txt
-
Install Required Tools
# Install Go wget https://golang.org/dl/go1.21.6.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.21.6.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin # Install reconnaissance tools go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest go install -v github.com/projectdiscovery/dnsx/cmd/dnsx@latest go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
-
Configure PostgreSQL
# Start PostgreSQL service sudo systemctl start postgresql sudo systemctl enable postgresql # Create database and user sudo -u postgres psql -c "CREATE DATABASE your_db_name;" sudo -u postgres psql -c "CREATE USER your_db_user WITH PASSWORD 'your_password';" sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE your_db_name TO your_db_user;"
-
Start the Services
# Terminal 1: Start the API uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload # Terminal 2: Start the Discord Bot python -m bot.bot
-
Verify Installation
- API should be accessible at: http://localhost:8000
- Discord bot should show as online in your Discord server
- Check the logs in the
logsdirectory
After either deployment method, verify your installation:
-
API Health Check
curl http://localhost:8000 # Should return: {"message":"Welcome to Reconthing API"} -
Discord Bot
- Send
!helpin your Discord server - Bot should respond with available commands
- Send
-
Check Logs
- Look for any errors in the
logs/bbrf.logfile - All services should be running without errors
- Look for any errors in the
If you encounter any issues during installation, please check the Troubleshooting section or open an issue on GitHub.
| Command | Description | Example |
|---|---|---|
!help |
Show available commands | !help |
!basicrecon |
Full reconnaissance | !basicrecon example.com |
!subdomain |
Enumerate subdomains | !subdomain example.com |
!getsubdomain |
Retrieve subdomains | !getsubdomain example.com |
!dns |
DNS resolution | !dns example.com |
!getdns |
Get DNS results | !getdns example.com |
!http |
HTTP probing | !http example.com |
!gethttp |
Get HTTP results | !gethttp example.com |
| Flag | Description |
|---|---|
-csv |
Export results in CSV format |
-all |
Include all available data (DNS queries) |
Details
| Variable | Description | Default |
|---|---|---|
DB_USER |
Database username | - |
DB_PASSWORD |
Database password | - |
DB_HOST |
Database host | localhost |
DB_NAME |
Database name | - |
API_HOST |
API host | localhost |
API_PORT |
API port | 8000 |
DISCORD_BOT_TOKEN |
Discord bot token | - |
Sam Paredes - @caffeinedoom
Project Link - Pluckware - ReconThing