このプロジェクトは、IP を CSV および MMDB 形式で位置データベースに提供します。
このリポジトリには、 country
、 city
、 asn
ファイルの 3 種類の IP データベースがあります。すべてに独自の標準形式があります。
ip_range_start, ip_range_end, country_code
データベース | タイプ | ライセンス | 更新されました | IPv4 | IPv6 | IPv4番号 | IPv6番号 |
---|---|---|---|---|---|---|---|
ASN | 国 | CC0 | 毎日 | CSV MMDB | CSV MMDB | CSV | CSV |
ジオフィード + ASN | 国 | CC0 | 毎日 | CSV MMDB | CSV MMDB | CSV | CSV |
ジオフィード + Whois + ASN | 国 | CC0 | 毎日 | CSV MMDB | CSV MMDB | CSV | CSV |
IPtoASN | 国 | IPtoASNによるPDDL | 毎日 | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IPライト | 国 | CC BY 4.0 DB-IPによる | 毎月 | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite + GeoFeed + Whois + ASN | 国 | CC BY 4.0 DB-IPによる | 毎月 | CSV MMDB | CSV MMDB | CSV | CSV |
ジオライト2 | 国 | MaxMind による GeoLite2 ライセンス | 週2回 | CSV MMDB | CSV MMDB | CSV | CSV |
GeoLite2 + GeoFeed + Whois + ASN | 国 | MaxMind による GeoLite2 ライセンス | 毎日 | CSV MMDB | CSV MMDB | CSV | CSV |
ip_range_start, ip_range_end, country_code, city, state1, state2, latitude, longitude, postcode, timezone
データベース | タイプ | ライセンス | 更新されました | IPv4 | IPv6 | IPv4番号 | IPv6番号 |
---|---|---|---|---|---|---|---|
DB-IPライト | 市 | CC BY 4.0 DB-IPによる | 毎月 | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z | CSV.gz CSV.7z |
ジオライト2 | 市 | MaxMind による GeoLite2 ライセンス | 週2回 | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z | CSV.gz CSV.7z |
ip_range_start, ip_range_end, autonomous_system_number, autonomous_system_organization
データベース | タイプ | ライセンス | 更新されました | IPv4 | IPv6 | IPv4番号 | IPv6番号 |
---|---|---|---|---|---|---|---|
ルートビュー + ASN + DB-IP | ASN | RouteViews および DB-IP による CC BY 4.0 | 毎日 | CSV MMDB | CSV MMDB | CSV | CSV |
IPtoASN | ASN | IPtoASNによるPDDL | 毎日 | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IPライト | ASN | CC BY 4.0 DB-IPによる | 毎月 | CSV MMDB | CSV MMDB | CSV | CSV |
ジオライト2 | ASN | MaxMind による GeoLite2 ライセンス | 週2回 | CSV MMDB | CSV MMDB | CSV | CSV |
各ファイル形式の説明は、それぞれのディレクトリに記載されています。
特定の種類のファイルはすべて同じファイル形式を共有します。たとえば、あるasn
ファイルを他のasn
ファイルと交換できます。
5 つの RIP (afrinic、apnic、arin、lacnic、ripe ncc) IP-ASN- Country データベースを統合して作成されました。 ASN (自律システム番号) は、IANA によって自律システム (AS) に割り当てられる固有の番号です。
5つのRIP(afrinic、apnic、arin、lacnic、ripe ncc)が提供するWHOISデータベースを統合して作成されています。
OpenGeoFeed の GeoFeed データベースとプロバイダー geofeed などのコレクションを結合して作成されます。
このデータベースを使用して、asn の ipv4 アドレスから AS 番号を取得します。これは CC BY 4.0 に基づいてライセンスされているため、 asn データベースを使用するには RouteViews への帰属を作成する必要があります。
毎時更新されるデータベースをオリジナルサイトからtsv形式でダウンロードできます。これは、パブリック ドメインの献身およびライセンス v1.0 に基づいてライセンスされています。上記のASN
データベースとはいくつかの違いがあります。
ip-to-asn-lite、ip-to-country-lite、または ip-to-city-lite からライセンスをダウンロードして読み取ることができます。 asn で使用される AS 組織名のほとんどは、ip-to-asn-lite データベースを使用します。補足として、ip-to-asn-lite を使用して IP アドレスから AS 番号を取得します。
これらのデータベースは CC BY 4.0 に基づいてライセンスされているため、 DB-IP データベースを使用するには DB-IP.com への帰属を作成する必要があります。
Web アプリケーションの場合、データベースの結果を表示または使用するページに DB-IP.com へのリンクを含める必要があります。これを行うには、HTML コード スニペットIP Geolocation by DB-IP
をコードに貼り付けます。
より高い精度が必要な場合、帰属表示なし、または毎日の更新が必要な場合は、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
と、他の IP 範囲のgeo-whois-asn-country
に相当します。 (2024 年 8 月時点でgeolite2-country
よりも IPv4 で 0.10%、IPv6 で 2.34% 広くなりました)
ASN データベースが必要な場合: asn
IP アドレスや国コードについては明確な情報がないため、パブリック ドメイン データの精度を定性的に議論することは困難ですが、GeoLite2 や DbIp Lite の国情報と比較することでおおよその精度を推定することは可能です。精度の高さで知られるGeoLite2のデータベースと他のデータベースの違いを比較すると、そのパブリックドメインの精度が分かります。
データベース | 同じ | 差分 | 空の | 余分な |
---|---|---|---|---|
dbip 国 | 96.15% | 3.85% | 0.00% | 0.42% |
asn国 | 95.97% | 4.00% | 0.03% | 0.03% |
地理的な国 | 97.26% | 2.71% | 0.03% | 0.06% |
geo-whois-asn-country | 96.98% | 2.99% | 0.03% | 0.12% |
イプトアスン国 | 76.80% | 4.99% | 18.21% | 1.26% |
測定は 2024 年 10 月 9 日に行われました。ipv6 の範囲が広すぎるため、ここでの測定は ipv4 の結果に限定されています。 「Same」+「Diff」+「Empty」は GeoLite2 IP 範囲を示し、GeoLite2 IP 範囲のサイズは 100% としてリストされます。
「同じ」は、GeoLite2 の国コードと同じデータベースの国コードの割合を示します。
「Diff」は、GeoLite2 の国コードと異なるデータベースの国コードの割合を示します。
「空」は、GeoLite2 の国コードを持つがデータベースに対応する国コードがない IP の割合を示します。
「追加」は、GeoLite2 の国コードがリストされていない IP のうち、データベースに国コードがリストされている IP の割合を示します。
iptoasn-country を除くすべてのデータについて、country_code が 96% 以上のケースで GeoLite2 の結果と一致していることがわかります。更新タイミングや情報の優先度の違いにより結果に多少のばらつきはありますが、パブリックドメインデータは一定の精度を示していると考えております。
MMDB ファイルを既存のプロジェクトに統合したい場合に役立つライブラリがいくつかあります。
MMDB ファイルを使用する場合、ライブラリは多くの言語で存在します。多くの一般的な言語 (.NET、C、Java、Node.js、Perl、PHP、Python、Ruby) 用に Maxmind が開発した公式ライブラリがあり、その他の言語 (Erlang、Go、Rust) 用のサードパーティ リーダーもあります。
CSV ファイルから独自の MMDB ファイルを作成したい場合(形式をカスタマイズするため) 、Go と Perl (現在はアーカイブされています)といういくつかの公式ライブラリがあります。 Python や Rust などのサードパーティ オプションもいくつかあります。
図書館 | 言語 | 説明 | 種類 | 自動 アップデート |
---|---|---|---|---|
IP ロケーション API | Node.js | インメモリデータベース (7MB RAM) を使用した高速 IP から国への検索 | country city | ✓ |
国 国外 | ブラウザjs | ブラウザでの IP から国への検索 | country | ✓ |
ジオコード ジオコードエクストラ | ブラウザjs | ブラウザでの IP からジオコードへのルックアップ | country latitude longitude | ✓ |
応用 | 言語 | 説明 | 種類 | 自動 アップデート |
---|---|---|---|---|
ip_location_server | ジャワ | IP アドレスを場所にマッピングするインメモリ GRPC および HTTP サーバー(少なくとも 1.5GB RAM が必要) | country asn city | ✓ |
IP ロケーション API | 行く | MMDB、PostgreSQL、MySQL / MariaDB、SQLite の作成/サポート API サーバー | country asn city | ✓ |
Ip-geo-API | 行く | インメモリAPIサーバー | country | ✘ |
IP情報オフライン | 窓 | IP アドレス(ローカル データ)に関する情報を表示するデスクトップ ツール | country asn city | ✘ |
道具 | 説明 |
---|---|
IP の場所から mmdb へ | このデータベースの CSV ファイルから MMDB ファイルへの基本的な変換 |
mmdbmeld | このデータベース内の CSV ファイルから MMDB ファイルを作成およびカスタマイズします |
必要なライセンスは、使用するデータベースによって異なります。ご使用前に各データベースのライセンスをよくお読みください。
PDDL (ODC Public Domain Dedication and License) または CC0 (Creative Commons Zero) ライセンスのデータベースは、いかなる目的であっても帰属表示なしで使用できます。
他の人が見つけやすいように、sapics/ip-location-db にリンクしてこのプロジェクトにスターを付けていただければ幸いです。