From: Andy Spencer Date: Sun, 18 May 2014 06:48:54 +0000 (+0000) Subject: Add GeoIP Lookup X-Git-Url: http://pileus.org/git/?p=~andy%2Frhawk;a=commitdiff_plain;h=45e718f0a1a39fb3a5f32889f3ec4140745ef90a Add GeoIP Lookup --- diff --git a/rhawk b/rhawk index 21b6b20..f68c93f 100755 --- a/rhawk +++ b/rhawk @@ -187,6 +187,26 @@ BEGIN { say("no auth info for " _who) } +# GeoIP Lookup +function geoip(ip, dat, cmd, line, parts) { + dat = "/usr/share/GeoIP/GeoIPCity.dat" + + cmd = "geoiplookup -f " dat " " ip + cmd | getline line + close(cmd) + + if (split(line, parts, /[:,] /) >= 9) + return parts[8] "," parts[9] " -- " \ + parts[6] ", " parts[4] ", " parts[3] " -- " ip + else + return "not found -- " ip +} + +/^\.geoip (([0-9a-zA-Z_.-]+) *)*$/ { + for (_i=2; _i<=NF; _i++) + say(geoip($_i)) +} + # Fortune TO == NICK && /^/ { extra = "" } TO == NICK && /^\.?fortune.*-o/ { extra = "-o" }