ipLocator - a basic Geo-Ip Server
Go
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE
README.md
ipLocator.go

README.md

ipLocator

ipLocator - a fast basic Geo-Ip Server made with Go

(v. 01/07/2015 Meets maxmind.com 2015 database format. See comments in code for options.)

===

Dependencies

(1) pure go key/value store boltdb (https://github.com/boltdb/bolt)

go get github.com/boltdb/bolt

(2) bloomfilter

go get github.com/AndreasBriese/bbloom

===

Usage

Configure ipLocator with command line options (default values shown)

-download_DB=false: Reload database from maxmind.com and Restore database from GeoLite-Data

-ip="": enter a csv-list of IP

-json=false: return JSON

-new_DB=false: Restore database from maxmind.com GeoLite-Data

-server=false: run server at localhost:9000

Quickstart:

#####Linux/MacOSX/Windows

go run ipLocator.go -download_DB=true -server=true
  1. downloads the maxmind.com GeoLite2 - CSV .zip database folder
  2. unzips it
  3. loads csv-data into programs database ./iplocs.bdb (~ 500 MB)
  4. starts server at localhost:9000 (--> const ServerAddr within ipLocator.go)

===

As of 2014-08-17 a demo server is running at https://oo.bootes.uberspace.de

As of 2014-08-17 a demo server is running at http://bric.lepus.uberspace.de:61165