[analog-help] Re: GeoIP Patch for Analog

Aengus analog07 at eircom.net
Sun Apr 20 10:24:58 PDT 2008


"Paul Wade" <paul at astrologywizard.com> said:

> This looks good but has anybody tried it? If somebody want to compile
> everything for Win32 and upload it I'll definitely give it a go. 
> Otherwise,
> there are two things putting me off doing this myself. Firstly finding 
> and
> reinstalling MinGW which I have only ever used for Analog patches and 
> secondly
> this lurking at the bottom of the instructions on how to make GeoIP 
> work...
>
> "You must have OS-report on and Browser-report and Browser-summary off."
>
> I guess it's more important for me to know what browser people are using 
> than
> where they actually are. Isn't there an add-on available already that 
> will
> find people's locations anyhow?

I haven't been able to look at Ravikumar's modifcations to tree.c, so I'm 
not sure exactly what changes he's made, but I assume he decided to 
sacrifice the Browser reports because they already provide a mechanism for 
sorting the GeoIP information in a 2 stage hierarchy.

Another approach that might work without sacrificing the Browser Report, 
or recompiling Analog itself would be to use the GeoIP code to create a 
DNS file (or to modify the IP address using the UNCOMPRESS technique 
ravikumar used). Using the DNS information, the Organization or Domain 
Report could be used to display the Country and City information, with one 
slight modification - you would also have to crate a custom DOMAINFILE (eg 
geoip.tab) that set the depth of each country to 2.

The GeoIP code would set the IP address to bombay.in, madras.in, 
chennai.in madrid.es, barcelona.es, chicago.us, etc, and the Domain Report 
would look like
123  .in (India
 57    bombay.in
 43    madras.in
 12    chennai.in
102 .es (Spain)
 47   madrid.es
 23   barcelona.es


etc. It's not quite as pretty as ravikumars solution, because Analog 
automatically lowercases domain names, and placenames with spaces would 
have to use dashes or underscores, but it's somewhat easier to implement.

The GeoIP API code is also available in a number of different languages, 
including perl, so there are a number of options available.

 http://www.maxmind.com/download/geoip/api/

Aengus 



More information about the analog-help mailing list