IP to country: ip2countryd using hostip.info data

[lang_de]Dieser Eintrag ist nur auf Englisch verfügbar.[/lang_de]

hostip.info is a free GeoIP service. Unfortunately their webservice is slow and they are in the middle of a backend change (from 256 ip_X tables to one table listing all /24 nets…). However, their information is more exact than that of countries.nerd.dk.

To convert the data from hostip.info’s format into something remotely sane usable, you have to merge the ranges into CIDR-blocks per country. If you don’t do that, you’ll get a 160MiB result file which will take ages for ip2countryd to process. With proper optimization and merging, though, the resulting file is barely 4MiB in size and ip2countryd loads like a breeze.

  • ip2countryd-r3.tgz 12KiB
    Revision 3 of ip2countryd, minor changes, includes a script to convert hostip.info CSV dumps to rbldnsd format.
  • hostip-data.tgz 1.1MiB
    The current dump from hostip.info in rbldnsd format, including the cached version.

The test service at udp://ubermutant.net:8000/ has been updated to r3 with the hostip.info db.

Now, for the rant. Continue reading “IP to country: ip2countryd using hostip.info data”

IP to country

[lang_de]Dieser Eintrag ist nur auf Englisch verfügbar.[/lang_de]

If you need to find out what country an IP is in, but are forced to use PHP or some other language without proper DNS querying features (but which can do UDP), here’s a little something for you.

ip2countryd-r2.tgz 344KiB – ip2countryd revision 2
Includes the required data file (~2MiB) and the cached data (~432KiB).

Runs a daemon on UDP port 8000 (by default) that responds to an input IP address with the ISO country code of the IP’s country, or ‘error’ if anything goes wrong (no mapping, not an IP, etc.). There is a test server at udp://ubermutant.net:8000/.

$ nc -u ubermutant.net 8000
207.13.77.53
us
212.227.57.11
eu

Idea from WP-ShortStat and the associated ip2country service. I wrote this just for the fun of it and because I wanted to see how long it would take me.

Total time required: ~1 hour.

[lang_en]WordPress Statistics[/lang_en][lang_de]WordPress-Statistiken[/lang_de]

[lang_en]
I recently installed WP-ShortStat to gather blog statistics, and especially to make them more easily accessible (compared to webalizer). WP-ShortStat claims that one should just drop it in the plugin directory and enable it and it would work. Well, guess what happened.
[/lang_en]
[lang_de]
Ich habe vor kurzem WP-ShortStat installiert, um mal einfach verfügbare und lesbare (im Gegensatz zu Webalizer) Blog-Statistiken zu haben. WP-ShortStat behauptet, man müsses nur einfach nur ins Plugin-Verzeichnis legen, das Plugin anschalten, und es würde funktionieren. Ratet, was statt dessen passiert ist.
[/lang_de]
Continue reading “[lang_en]WordPress Statistics[/lang_en][lang_de]WordPress-Statistiken[/lang_de]”

UX UX UX (in multiple languages)

You are HP-UX. You're still strong despite the passage of time.  Though few understand you, those who do love you deeply and appreciate you.
Which OS are You?

[lang_de]
Hurrah. Hat irgendwie was von Horoskopen.

Eigentlich teste ich nur das Polyglot-Plugin. Es funktioniert, aber der Code schreit eigentlich nach einem Rewrite… später.

Augen nach oben rechts wenden, lustige kleine Flaggen sehen, ausprobieren, und hoffentlich keine Fehler finden… jetzt. 😉
[/lang_de]

[lang_en]
Huzzah. Feels a little like horoscopes.

Actually I’m just testing the Polyglot plugin. It works, but the code is literally screaming for a rewrite… later.

Look to the upper right corner, see the nifty little flags, try them, hopefully don’t find any bugs… now. 😉
[/lang_en]

Vegetarische Drogenkuh

Pfefferminz darf ja seit einer Weile raus. Jetzt habe ich beobachtet, dass er eigentlich immer sofort zur Treppe läuft, sich halb hinlegt – und Gras frisst.

Mögliche Erklärungen:

  • er hat eine Abhängigkeit von Gras entwickelt;
  • er ist in Wirklichkeit eine kleinwüchsige Kuh mit verstärktem Haarwuchs;
  • er ist Vegetarier;
  • all of the above.

Sommer macht dick

Ich werde gezwungen, den ganzen Abend lang Schokoladeneis zu essen, um mich abzukühlen.

So wird das nie was mit der Bikinifigur.

**schleck**

Mit nem Frosch gespielt…

…und die Augen gewonnen.

Oder, in anderen Worten: Guten Morgen, Welt!

Wie toll ist es eigentlich, dass man Regenbögen einfach selbst machen kann?
Die Welt rockt.

Feck WordPress’ hotkeys!