As a developer, system administrator, or cybersecurity professional, you constantly encounter IP addresses and domain names. Often, you need to quickly answer questions like: Where is this IP located? Who owns this domain? What other information is associated with it?
This is where Gunter comes in – a lightweight, Flask-based web service designed to deliver geolocation, WHOIS, and reverse DNS information quickly and efficiently.
What is Gunter?
Gunter is a self-hosted micro service that you can easily deploy within your infrastructure to gain rapid insights into network data. It automatically keeps its geolocation databases up to date.
Developed by needful-apps, Gunter focuses on simplicity, efficiency, and rapid deployment.
Why Use Gunter?
- Fast Insights: Get detailed geolocation data, WHOIS information, and reverse DNS resolutions in seconds.
- Automated Updates: No need to worry about outdated GeoIP databases. Gunter automatically downloads and updates the latest GeoLite2-City databases from MaxMind (or your preferred source).
- Flexible Databases: Use the standard MaxMind GeoLite2 database, or integrate your own MMDB files (e.g., from db-ip.com) or even external download URLs.
- Lightweight & Scalable: As a Flask web service, Gunter is resource-efficient and easily integrates and scales within your existing infrastructure using Docker/Podman.
- Programmatic Access: Its API endpoints allow straightforward integration into scripts, monitoring tools, or custom applications.
- Interactive API Documentation: Explore and test the API directly in your browser with the built-in Swagger UI.
Key Features
- Geo-IP Lookup: Provides detailed location information (country, region, city, coordinates, ISP) for any IP address.
- WHOIS Lookup: Performs WHOIS queries for both IP addresses and domain names, retrieving registration details.
- Reverse DNS: Resolves IP addresses to their corresponding hostnames.
- Automatic Database Updates: Keeps your geolocation data current by regularly downloading the MaxMind GeoLite2 database.
Easy Setup with Docker/Podman
The fastest way to get Gunter running is by using Docker or Podman. You only need a free MaxMind license key to download the GeoLite2 database.
# Pull the Gunter container
docker pull ghcr.io/needful-apps/gunter:latest
# Start Gunter (MaxMind download, license key required)
docker run -d -p 6600:6600 -e GUNTER_MAXMIND_LICENSE_KEY=your_maxmind_license_key --name gunter ghcr.io/needful-apps/gunter:latest
The service will then be available at http://localhost:6600. The initial run will download the GeoLite2 database, which may take a moment.
Tip: Consider using Docker Compose for easier orchestration of Gunter with other services.
API Endpoints – Your Data On-Demand
Gunter provides a set of easy-to-use API endpoints:
- GET /api/geo-lookup/: Retrieves geolocation and optional WHOIS data for a given IP or domain.
- Example: curl http://localhost:6600/api/geo-lookup/8.8.8.8
- Example with domain: curl http://localhost:6600/api/geo-lookup/example.com
- GET /api/whois/: Performs a pure WHOIS query for an IP or domain.
- Example: curl http://localhost:6600/api/whois/8.8.8.8
- GET /api/status: Shows the current status of the GeoLite2 database.
- http://localhost:6600/api/docs: Interactive Swagger UI for API exploration.
Configuration Options
Gunter is highly configurable via environment variables:
- GUNTER_MAXMIND_LICENSE_KEY: Your MaxMind API key for official database downloads.
- GUNTER_DB_FILE: Path to a custom MMDB database file (e.g., from db-ip.com).
- GUNTER_DB_URL: URL from which an external MMDB database should be downloaded (ideal for automation).
- GUNTER_LANG: Default language for API responses (e.g., en, de, fr).
- GUNTER_ENABLE_STATUS / GUNTER_ENABLE_API_DOCS: Controls the activation of the status endpoint and API documentation.
Conclusion
Gunter is a valuable tool for anyone regularly working with IP addresses and domain names. Whether for network troubleshooting, security analysis, data enrichment, or general inquiry, Gunter delivers the necessary information quickly and reliably.
Try Gunter today and streamline your IP and domain analysis tasks!
Find Gunter on GitHub: https://github.com/needful-apps/Gunter
Top comments (0)