Этот проект предоставляет IP-адрес для баз данных местоположений в форматах CSV и MMDB.
В этом репозитории есть 3 типа базы данных IP: файлы country
, city
и asn
. Все имеют свой стандартный формат.
ip_range_start, ip_range_end, country_code
База данных | Тип | Лицензия | Обновлено | IPv4 | IPv6 | IPv4-номер | IPv6-номер |
---|---|---|---|---|---|---|---|
АСН | Страна | CC0 | Ежедневно | CSV-файл ММДБ | CSV-файл ММДБ | CSV-файл | CSV-файл |
Геофид + АСН | Страна | CC0 | Ежедневно | CSV-файл ММДБ | CSV-файл ММДБ | CSV-файл | CSV-файл |
GeoFeed + Whois + ASN | Страна | CC0 | Ежедневно | CSV-файл ММДБ | CSV-файл ММДБ | CSV-файл | CSV-файл |
IPtoASN | Страна | PDDL от IPtoASN | Ежедневно | CSV-файл ММДБ | CSV-файл ММДБ | CSV-файл | CSV-файл |
БД-ИП Лайт | Страна | CC BY 4.0 от DB-IP | Ежемесячно | CSV-файл ММДБ | CSV-файл ММДБ | CSV-файл | CSV-файл |
DB-IP Lite + GeoFeed + Whois + ASN | Страна | CC BY 4.0 от DB-IP | Ежемесячно | CSV-файл ММДБ | CSV-файл ММДБ | CSV-файл | CSV-файл |
ГеоЛайт2 | Страна | Лицензия GeoLite2 от MaxMind | Дважды в неделю | CSV-файл ММДБ | CSV-файл ММДБ | CSV-файл | CSV-файл |
GeoLite2 + GeoFeed + Whois + ASN | Страна | Лицензия GeoLite2 от MaxMind | Ежедневно | CSV-файл ММДБ | CSV-файл ММДБ | CSV-файл | CSV-файл |
ip_range_start, ip_range_end, country_code, city, state1, state2, latitude, longitude, postcode, timezone
База данных | Тип | Лицензия | Обновлено | IPv4 | IPv6 | IPv4-номер | IPv6-номер |
---|---|---|---|---|---|---|---|
БД-ИП Лайт | Город | CC BY 4.0 от DB-IP | Ежемесячно | CSV.gz CSV.7z ММДБ | CSV.gz CSV.7z ММДБ | CSV.gz CSV.7z | CSV.gz CSV.7z |
ГеоЛайт2 | Город | Лицензия GeoLite2 от MaxMind | Дважды в неделю | CSV.gz CSV.7z ММДБ | CSV.gz CSV.7z ММДБ | CSV.gz CSV.7z | CSV.gz CSV.7z |
ip_range_start, ip_range_end, autonomous_system_number, autonomous_system_organization
База данных | Тип | Лицензия | Обновлено | IPv4 | IPv6 | IPv4-номер | IPv6-номер |
---|---|---|---|---|---|---|---|
RouteViews + ASN + DB-IP | АСН | CC BY 4.0 от RouteViews и DB-IP | Ежедневно | CSV-файл ММДБ | CSV-файл ММДБ | CSV-файл | CSV-файл |
IPtoASN | АСН | PDDL от IPtoASN | Ежедневно | CSV-файл ММДБ | CSV-файл ММДБ | CSV-файл | CSV-файл |
БД-ИП Лайт | АСН | CC BY 4.0 от DB-IP | Ежемесячно | CSV-файл ММДБ | CSV-файл ММДБ | CSV-файл | CSV-файл |
ГеоЛайт2 | АСН | Лицензия GeoLite2 от MaxMind | Дважды в неделю | CSV-файл ММДБ | CSV-файл ММДБ | CSV-файл | CSV-файл |
Объяснение каждого формата файла содержится в отдельном каталоге.
Все файлы данного типа имеют один и тот же формат; например, вы можете заменить один файл asn
на любой другой файл asn
.
Создано путем слияния 5 баз данных IP-ASN-Country (afrinic, apnic, arin, lacnic, ride ncc) RIP. ASN (номер автономной системы) — это уникальный номер, присвоенный автономной системе (AS) IANA.
Создан путем слияния 5 RIP (afrinic, apnic, arin, lacnic, ride ncc), предоставивших базу данных WHOIS.
Создано путем слияния базы данных GeoFeed из OpenGeoFeed и коллекций геоканалов провайдера и так далее.
Мы используем эту базу данных, чтобы получить номер AS из адреса ipv4 для asn. Это лицензируется в соответствии с CC BY 4.0, поэтому вам необходимо создать ссылку на RouteViews для использования базы данных asn .
Вы можете скачать ежечасно обновляемую базу данных в формате tsv с оригинального сайта. Это лицензируется в соответствии с соглашением об общественном достоянии и лицензией v1.0. Есть некоторые отличия от приведенной выше базы данных ASN
.
Вы можете скачать и прочитать лицензию с сайта ip-to-asn-lite, ip-to-country-lite или ip-to-city-lite. Большая часть имени организации AS, используемого в asn, использует базу данных ip-to-asn-lite. Мы также используем ip-to-asn-lite для получения номера AS из IP-адреса в качестве дополнительного средства.
Эти базы данных лицензируются по лицензии CC BY 4.0, поэтому для использования базы данных DB-IP необходимо создать ссылку на DB-IP.com .
В случае веб-приложения вы должны включить обратную ссылку на DB-IP.com на страницы, которые отображают или используют результаты из базы данных. Вы можете сделать это, вставив в свой код фрагмент HTML-кода: <a href='https://db-ip.com/'>IP Geolocation by DB-IP</a>
.
Если вам нужна более высокая точность, отсутствие указания авторства или ежедневные обновления, используйте коммерческую версию db-ip.
GeoLite2 создан MaxMind. Лицензия GeoLite2 записана в GEOLITE2_LICENSE, а Лицензионное соглашение с конечным пользователем (EULA) записано в GEOLITE2_EULA. Пожалуйста, внимательно прочтите файлы GEOLITE2_LICENSE и GEOLITE2_EULA, если вы используете эту базу данных. Этот пакет включает в себя определенные ограничения и обязательства, в частности:
Вы не можете запретить библиотеке обновлять базы данных.
Вы не можете использовать данные GeoLite2:
для целей FCRA,
для идентификации конкретных домохозяйств или отдельных лиц.
Вы можете прочитать последнюю версию GeoLite2 EULA. База данных GeoLite2 предоставляется MaxMind в соответствии с CC BY-SA 4.0, поэтому для использования базы данных GeoLite2 необходимо указать ссылку на MaxMind . Если вам нужна более высокая точность, используйте коммерческую версию GeoIp2.
Это зависит от вашего варианта использования! Однако у нас есть несколько простых рекомендаций:
Если вам нужны почтовые индексы или часовые пояса: geolite2-city
Если вам нужны данные города с лицензией CC-BY: dbip-city
Если вам нужна база данных страны с лицензией общественного достояния: geo-whois-asn-country
Если вам нужна база данных стран с высокой точностью и широким диапазоном IP-адресов: geolite2-geo-whois-asn-country
что эквивалентно geolite2-country
для диапазона IP-адресов, охватываемого geolite2-country
, и geo-whois-asn-country
для другого диапазона IP-адресов. (на 0,10% шире для IPv4 и на 2,34% шире для IPv6, чем geolite2-country
по состоянию на август 2024 г.)
Если вам нужна база данных ASN: asn
Поскольку точной информации об IP-адресах и коде страны нет, сложно качественно обсуждать точность данных Public Domain, но оценить приблизительную точность можно, сравнив ее с информацией о стране в GeoLite2 и DbIp Lite. Сравнивая базу данных в GeoLite2, которая хорошо известна своей высокой точностью, с различиями в других базах данных, мы можем увидеть точность Public Domain.
База данных | Такой же | Разница | Пустой | Дополнительный |
---|---|---|---|---|
dbip-страна | 96,15% | 3,85% | 0,00% | 0,42% |
asn-страна | 95,97% | 4,00% | 0,03% | 0,03% |
гео-ASN-страна | 97,26% | 2,71% | 0,03% | 0,06% |
гео-whois-asn-страна | 96,98% | 2,99% | 0,03% | 0,12% |
iptoasn-страна | 76,80% | 4,99% | 18,21% | 1,26% |
Измерения проводились 9 октября 2024 года. Поскольку диапазон IPv6 слишком широк, измерения здесь ограничиваются результатами IPv4. «Тот же» + «Разница» + «Пусто» показывает диапазон IP-адресов GeoLite2, а размер диапазона IP-адресов GeoLite2 указан как 100%.
«Тот же» указывает процент кодов страны в базе данных, которые совпадают с кодом страны в GeoLite2.
«Разница» указывает процент кодов страны в базе данных, которые отличаются от кода страны GeoLite2.
«Пустой» показывает процент IP-адресов с кодом страны GeoLite2, но без соответствующего кода страны в базе данных.
«Дополнительно» указывает процент IP-адресов, для которых не указан код страны GeoLite2, у которых код страны указан в базе данных.
Мы видим, что для всех данных, кроме iptoasn-country, код страны соответствует результатам GeoLite2 более чем в 96% случаев. Несмотря на некоторые различия в результатах из-за различий во времени обновления и приоритете информации, мы считаем, что данные Public Domain демонстрируют определенный уровень точности.
Если вы хотите интегрировать файлы MMDB в существующий проект, вам могут помочь несколько библиотек.
При использовании файлов MMDB существуют библиотеки на многих языках. Существуют официальные библиотеки, разработанные Maxmind для многих популярных языков: .NET, C, Java, Node.js, Perl, PHP, Python и Ruby, а также сторонние читалки для других: Erlang, Go, Rust.
Если вы хотите создать свои собственные файлы MMDB из файлов CSV (чтобы настроить их формат), есть несколько официальных библиотек: Go и Perl (теперь в архиве) . Есть также некоторые сторонние варианты: Python и Rust.
Библиотека | Язык | Описание | Типы | Авто Обновления |
---|---|---|---|---|
ip-location-api | Node.js | Быстрый поиск IP-адреса в стране с использованием базы данных в памяти (7 МБ ОЗУ) | country city | ✓ |
страна кантри-экстра | Браузер js | IP-адрес страны: поиск в браузере | country | ✓ |
геокодировать геокод-экстра | Браузер js | IP-адрес для поиска геокодирования в браузере | country latitude longitude | ✓ |
Приложение | Язык | Описание | Типы | Авто Обновления |
---|---|---|---|---|
ip_location_server | Ява | Сервер GRPC и HTTP в памяти, сопоставляющий IP-адреса с местоположениями (требуется не менее 1,5 ГБ ОЗУ). | country asn city | ✓ |
ip-location-api | Идти | Сервер API, создающий/поддерживающий MMDB, PostgreSQL, MySQL/MariaDB и SQLite | country asn city | ✓ |
IP-гео-API | Идти | Сервер API в памяти | country | ✘ |
IPInfoОффлайн | Окна | Настольный инструмент, показывающий информацию об IP-адресах (локальные данные) | country asn city | ✘ |
Инструмент | Описание |
---|---|
IP-местоположение в ммдб | Базовое преобразование файлов CSV из этой базы данных в файлы MMDB. |
ммдбмелд | Создавайте и настраивайте файлы MMDB из файлов CSV в этой базе данных. |
Требуемая лицензия зависит от базы данных, которую вы используете. Пожалуйста, внимательно прочитайте каждую лицензию на базу данных перед использованием.
Вы можете использовать базы данных, лицензированные по лицензии PDDL (ODC Public Domain) или CC0 (Creative Commons Zero), без указания авторства для каких-либо целей.
Мы были бы признательны, если бы вы дали обратную ссылку на sapics/ip-location-db и отметили этот проект, чтобы помочь другим найти его.