DEV Community

Cover image for Gunter: Your Go-To for Quick IP and Domain Insights
Hans Stanner
Hans Stanner

Posted on

Gunter: Your Go-To for Quick IP and Domain Insights

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
Enter fullscreen mode Exit fullscreen mode

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:

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)