Find out who that IP belongs to! 🦉
An IP geolocation tool that answers the question "Who dat IP?" using MaxMind's GeoLite2 databases. Great for network analysis, security investigations, and geographic data visualization.
- 📁 Smart File Upload - Supports TXT, CSV, Excel, TSV files with automatic IP column detection
- 🔄 One-Click Database Updates - Built-in MaxMind database management
- 📊 Real-time Progress Tracking - Live progress bars with animated owl states
- 🔍 Searchable Results - Interactive table with filtering and search capabilities
- 💾 Export Options - Download results as SQLite database
- ⚡ Batch Processing - Efficient handling of large IP lists
- 🛡️ IP Validation - Automatic filtering of invalid IP addresses
- 🌍 Geographic Data - ISP, city, region, country, lat/long information
# Clone the repository
git clone https://github.com/applesauce777/WhoDat.git
cd WhoDat
# Run the installer (cross-platform)
python install_who_dat.py
# Launch the web interface
python launcher.py- Install dependencies:
pip install -r requirements.txt- Configure MaxMind license key:
# Edit config.py
LICENSE_KEY = "your_free_license_key_from_maxmind"- Download databases:
python mmupdate.py- Start the web app:
python app.py
# Visit http://localhost:5001The WhoDat web interface provides:
- 📁 Drag-and-drop file upload with preview functionality
- 🔄 Database update button with progress tracking
- 📊 Real-time processing with animated owl states
- 🔍 Searchable results table with filtering
- 💾 One-click download of processed data
# Basic usage
python resolve.py ips.txt output.db
# Advanced usage with custom batch size
python resolve.py ips.txt output.db --batch-size 500
# Process multiple formats
python resolve.py data.csv output.db
python resolve.py data.xlsx output.dbResults are stored in SQLite with the following schema:
| Column | Type | Description |
|---|---|---|
| ip | TEXT | IP address (primary key) |
| isp | TEXT | Internet Service Provider |
| city | TEXT | City name |
| region | TEXT | State/province/region |
| country | TEXT | Country name |
| latitude | REAL | Geographic latitude |
| longitude | REAL | Geographic longitude |
WhoDat/
├── app.py # Flask web application
├── resolve.py # CLI interface
├── mmupdate.py # Database updater
├── config.py # Configuration
├── file_parser.py # Multi-format file handler
├── launcher.py # User-friendly launcher
├── install_who_dat.py # Cross-platform installer
├── requirements.txt # Dependencies
├── templates/ # HTML templates
├── static/ # Static assets (owl logo)
└── icons/ # Application icons
- Python 3.6+
- MaxMind License Key (free from maxmind.com)
- Internet Connection (for database updates)
This project is licensed under the MIT License - see the LICENSE file for details.
- ☕ Buy Me a Coffee: Ko-Fi
- MaxMind - GeoLite2 databases for accurate geolocation
- Flask - Web framework
🦉 WhoDat? Find out who that IP belongs to! 🦉