TabGeo - быстрое и точное определение страны пользователя по IP

dostelon

Новичок
Очередная база геолокации, которая побыстрее и поточнее прочего бесплатного ПО (Sypex Geo, GeoIP) с бинарными базами. В синтетических тестах, где страны для ip-адресов определяются в одном потоке, TabGeo проигрывает SxGeo, но в реальных тестах (один ip - один поток: один пользователь заходит на сайт и надо для него определить страну на лету) TabGeo рвет всех как Тузик грелку.

Sypex Geo использует упрощенную открытую базу GeoIP (точность у этих баз примерно одинаковая) - около 90 000 ip-диапазонов. В TabGeo - 200 000 диапазонов (изначально было проанализировано более 5 500 000 диапазонов ip-адресов), то есть TabGeo по странам более чем в два раза точнее Sypex Geo и GeoIP.

Код:
Ip                                    Whois                  SxGeo+GeoIp     TabGeo
62.32.37.40      https://www.nic.ru/whois/?query=62.32.37.40     NL           RU
195.212.154.18   https://www.nic.ru/whois/?query=195.212.154.18  EU           RU
57.78.148.172    https://www.nic.ru/whois/?query=57.78.148.172   ES           FR
5.135.54.163     https://www.nic.ru/whois/?query=5.135.54.163    FR           ES
Использование (бинарная база должна находиться в одной директории с драйвером):
PHP код:
PHP:
include("tabgeo_country_v4.php");
$country_code = tabgeo_country_v4($ip);
TabGeo
Бинарная база и драйвер (прямой линк)
 

dostelon

Новичок
Забыл указать)
Zlib (по сути: используем как хотим и где хотим, но не забываем указывать авторство).
 

dostelon

Новичок
До гитхаба доживем еще.
А почему бы не Zlib или BSD (по сути - все одно)?
 

hell0w0rd

Продвинутый новичок
dostelon, можно и BSD. Просто MIT самая популярная, можно не открывать текст лицензии, все и так ее знают.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
BSD не менее популярная, чем MIT - например, у php и большого количества пакетов на нем.
вообще, вопрос "почему такая лицензия" такой же глупый, как "почему такой ник?"
 

slach

Новичок
А сконвертировать для geoip модуля nginx можно как нибудь?
 

a69

Новичок
Доброго дня.
Для меня очень актуальна ваша тема "определение страны по IP адресу"

Мне нужно определить откуда зашел человек на сайт, Украина, РФ, Беларусь, или другие страны и отправить на соответствующую страницу, index1.html, index2.html, index3.html или index.html
Мне не понятно, как встроить Ваш код в html страну, т.к. не программист.
Буду признателен за помощь, спасибо заранее.
 

AnrDaemon

Продвинутый новичок
Никак. Так же имейте в виду, что все подобные сервисы - не более, чем аппроксимация. К реальности имеющая очень отдалённое отношение.
 

BoBka-altRUist

Новичок
Попробовал TabGeo, спасибо, отлично работает!,
А с SxGeo возникли проблемы (мы занимаемся доставками и нужно определять город клиента-заказчика) так вот SxGeo часто определяет Казахстан как Россию, есть уже большой список примеров IP, о некоторых писал тут https://sypex.net/forum/viewtopic.php?f=7&t=1393&p=4807
но они медленно добавляют, тем более если используется бесплатная версия. Также получается, что они "просто добавляют исправления по ip в новую базу" (не уверен что они полностью диапазоны правят)
также была еще на хабре версия базы mysql - та тоже определяет многое неверно (но она давно не обновлялась, оно и понятно)
на данный момент использую TabGeo для предварительного определения стран - полет нормальный,
для городов и регионов дополнительно использую SxGeo (т.к. у TabGeo нет пока этой информации) также приходится использовать SxGeo для определения региона - Крым, чтобы далее переопределить страну на Россию.
 
Последнее редактирование:

grigori

( ͡° ͜ʖ ͡°)
Команда форума
спросить не всегда возможно - например, в REST-сервисе с локализацией трафика
 
Сверху