Query the MaxMind GeoIP data records via a self-hosted web service
Switch branches/tags
Pull request Compare This branch is 37 commits behind JackDanger:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
Gemfile
Gemfile.lock
README.markdown
Rakefile
VERSION
config.ru
geoip_server.gemspec
test.rb

README.markdown

GeoIP Server

This simple Rack server is useful as a self-hosted service for making lookups to the GeoIP database from MaxMind.com

Instant installation and deploy

  • Clone this: git clone git://github.com/JackDanger/geoip_server.git
  • Download the free GeoIP data files: rake geoip:update_city_lite
  • Commit that data file to your clone: git add vendor && git commit -m "adding data file"
  • Signup for an account at Heroku (better details here)
  • Create and name a new app where you want to host this
  • push it to Heroku.com: git push heroku master

HowTo

Once the server is running you can make a GET request to the server and receive lookup results in JSON format.

ip = request.remote_ip
require 'open-uri'
data = JSON.decode(open("http://my-geoip-service-app.heroku.com/#{ip}").read)
render :text => "You're in: #{data[:city]}"

Or, straight from a terminal:

curl -X POST http://my-geoip-service-app.heroku.com/207.97.227.239

Patches welcome, forks celebrated.

Copyright (c) 2010 Jack Danger Canty. Released under the MIT License.