ich bin gerade hart am prokrastinieren. das ist die beste atmosphäre um ein paar kleinigkeiten zu programmieren.
heute kam dabei heraus: ein chrome addon das die IP des benutzers anzeigt und eine auflösung der IP nach region vornimmt und sich selbst aktualisieren kann, wenn ich eine neue version hochlade.
weil es mir wichtig war, dass das alles bei mir bleibt und ich nicht von irgendeinem externen dienstanbieter abhängig bin, habe ich das alles auf “eigener” infrastruktur realisiert. genaugenommen ist es natürlich auch nicht meine eigene infrastruktur, sondern eine angemietete, aber dem webspace bei hosteurope vertraue ich soweit ausreichend.
konzeptionell bestehen die meisten ip-anzeige-addons aus einer client- und serverkomponente. was der user als addon runterlädt/installiert ist in diesen fällen dann kaum mehr der verweis wo das addon für updates zu finden ist, ein kleines html-file was auf den serverteil verweist und die signatur. der serverteil ist im einfachsten fall nur die php-funktion echo getenv(“REMOTE_ADDR”). einige kompliziertere addons gucken in einer datenbank nach woher diese ip wahrscheinlich kommt und machen dann noch einen link zu einer karten-applikation, andere malen eine länderflagge dazu.
dieses kleine bonbon der regionsauflösung stellte sich bei genauerer betrachtung als gar nicht so aufwändig heraus. außerdem war es auch der anlass mich anfänglich mit dem thema zu beschäftigen – ich wollte wissen aus welchem land ich gerade komme.
also habe ich ein kleines script geschrieben welches die IP des users feststellt und habe die länderauflösung auch gleich noch über den eigenen webspace realisiert. hilfreich war dabei die kostenlose version der maxmind-geo-ip-datenbank und die große suchmaschine für codesnippets und anregungen. den direkten link auf das script gibt es hier.
weil mir gerade in der testphase das ständige rumgeklicke beim hochladen tierisch auf den zeiger ging, habe ich im backend (also lokal) noch ein paar kommandozeilen in batchfiles getippert, die das ganze automatisch in das addon verpacken und signieren und mittels kommandozeilen-ftp hochladen.
und weil ein automatischer upload nutzlos ist, wenn nicht auch die versionsnummer hochgezählt wird, habe ich gleich noch ein lokales script für “mache versionsnummer aus datum und uhrzeit” geschrieben, das die neue versionnummer automatisch in die addondateien und update-trigger reinschreibt, bevor sie verpackt und hochgeladen werden.
man könnte sagen ich hatte langeweile. hatte ich aber nicht. so sieht angestrengtes prokrastinieren auf höchstem niveau aus.
wer das addon auch benutzen will, kann es hier laden: cali IP check (für chrome)
verbesserungsvorschläge und fragen können gerne in den kommentaren gestellt werden. angesichts der entstehungsgeschichte ist es aber unwahrscheinlich dass noch großartige features hinzukommen.