7.7
GeoIP
1 Introduction
This library provides utilities for working with MaxMind’s geolocation databases. It lets you look up information about where an IP address is located.
2 Usage
To use this library, you’re going to need to download one of MaxMind’s V2 databases. The library has been tested against their free "GeoLite2" databases, but should work with their enterprise DBs as well.
Once you’ve downloaded one of the databases, you can read it using make-geoip. That’ll return a structure that you can use to perform lookups using geoip-lookup. For example:
(define geoip (make-geoip "/path/to/some-database.mmdb")) (geoip-lookup geoip "127.0.0.1") (geoip-lookup geoip "188.24.7.80")
3 Reference
Returns #t when x is a geolocation database.
procedure
(make-geoip path) → geoip?
path : path-string?
Reads a MaxMind geolocation database into memory. Raises an error
if the database is not a version 2 database or if it is otherwise
invalid.
Looks up an IP address in the database and returns a hash on success.