由於 Maxmind 在推 GeoIP2 ,不開放 .dat 的 GeoIP DB 了,以前下載位置:
- http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
- http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
現在官方都說要改用 GeoLite2 DB ,其格式:
- GeoIP2 Binary (.mmdb)
- GeoIP2 CSV
目前先偷懶不處理 nginx ,因為 nginx 採用 GeoIP Legacy Databases。
有找到一個網站 https://www.miyuru.lk/geoiplegacy,從中下載:
連續動作:
% php -vWARNING: PHP is not recommendedPHP is included in macOS for compatibility with legacy software.Future versions of macOS will not include PHP.PHP 7.3.24-(to be removed in future macOS) (cli) (built: Dec 21 2020 21:33:25) ( NTS )Copyright (c) 1997-2018 The PHP GroupZend Engine v3.3.24, Copyright (c) 1998-2018 Zend Technologies% php composer.phar require geoip/geoip:~1.16% wget https://dl.miyuru.lk/geoip/maxmind/city/maxmind4.dat.gz% gunzip -d maxmind4.dat.gz% cat test-ip-via-geoip.php<?phprequire 'vendor/autoload.php';$gi = geoip_open("maxmind4.dat",GEOIP_STANDARD);$country = geoip_country_code_by_addr($gi, $argv[1]);echo "lookup [".$argv[1]."], result: [$country]\n";% php test-ip-via-geoip.php 8.8.8.8lookup [8.8.8.8], result: [US]% nslookup tw.yahoo.comServer: 8.8.8.8Address: 8.8.8.8#53Non-authoritative answer:tw.yahoo.com canonical name = atsv2-fp-shed.wg1.b.yahoo.com.Name: atsv2-fp-shed.wg1.b.yahoo.comAddress: 180.222.102.201Name: atsv2-fp-shed.wg1.b.yahoo.comAddress: 180.222.102.202% php test-ip-via-geoip.php 180.222.102.202lookup [180.222.102.202], result: [IN]% curl ipinfo.io/180.222.102.202{"ip": "180.222.102.202","hostname": "media-router-fp74.prod.media.vip.tp2.yahoo.com","city": "Taoyuan City","region": "Taiwan","country": "TW","loc": "24.9937,121.2970","org": "AS24506 YAHOO! TAIWAN","timezone": "Asia/Taipei","readme": "https://ipinfo.io/missingauth"}% nslookup facebook.comServer: 8.8.8.8Address: 8.8.8.8#53Non-authoritative answer:Name: facebook.comAddress: 31.13.87.36% curl ipinfo.io/31.13.87.36{"ip": "31.13.87.36","hostname": "edge-star-mini-shv-01-tpe1.facebook.com","city": "Hong Kong","region": "Central and Western","country": "HK","loc": "22.2783,114.1747","org": "AS32934 Facebook, Inc.","timezone": "Asia/Hong_Kong","readme": "https://ipinfo.io/missingauth"}% nslookup www.gov.twServer: 8.8.8.8Address: 8.8.8.8#53Non-authoritative answer:Name: www.gov.twAddress: 223.200.155.55% php test-ip-via-geoip.php 223.200.155.55lookup [223.200.155.55], result: [TW]% curl ipinfo.io/223.200.155.55{"ip": "223.200.155.55","hostname": "223-200-155-55.hinet-ip.hinet.net","city": "Hualien City","region": "Taiwan","country": "TW","loc": "23.9769,121.6044","org": "AS4782 Data Communication Business Group","timezone": "Asia/Taipei","readme": "https://ipinfo.io/missingauth"}