geoipcsv

Golang library for parsing and searching by csv-database MaxMind GeoIP (http://dev.maxmind.com/geoip/geoip2/geolite2/).

Database fully loaded into memory. Search perform via binary searching.

Usage

Import

import "github.com/c0va23/go-geoipcsv"

Parse databse

var databaseReader io.Reader
database, databaseErr := geoipcsv.LoadDatabase(&databaseReader)

Parse IPv6-address

ipSrc := "::ffff:8.8.8.8"
ipAddress, ipAddressErr := geoicsv.ParseIpv6Address(ipSrc)

Search ip-address

record := database.FindRecord(ipAddress)

Geoname ID

println(record.GeonameId())