GeoIP.dat.gz和GeoLiteCity.dat.gz不再可用?获取 404 尝试加载它



几天前开始,我无法下载

http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gzhttp://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

我用来启用ngx_http_geoip_module模块的数据库。

它是免费的,一直可用,但现在。有人知道这个数据库最近的变化吗?

您可以使用以下脚本将MaxMind GeoLite2数据库转换为旧的旧格式:

示例:./geolite2legacy.py -i GeoLite2-Country-CSV.zip -f geoname2fips.csv -o GeoIP.dat

顺便说一句 - 有一个站点,您可以在其中找到有关旧格式的新数据,请点击此处:https://www.miyuru.lk/geoiplegacy(那里的文件是使用此脚本构建的)

Maxmind不再支持Geolite Legacy,只支持Geolite2:https://blog.maxmind.com/2018/01/02/discontinuation-of-the-geolite-legacy-databases/

您可以使用替代的CDN站点:

https://mirrors-cdn.liferay.com/geolite.maxmind.com/download/geoip/database/

在这里,您将找到:

https://mirrors-cdn.liferay.com/geolite.maxmind.com/download/geoip/database/GeoIP.dat.gz

我发布了一个 docker 镜像,该镜像托管了一个旧数据库,您也可以根据 geolite2legacy.py 脚本使用,每周在容器内更新一次。

https://hub.docker.com/r/peterlh/geoip-legacy

我使用 awk 来解析来自whois的国家和网络信息。

#!/bin/bash
IP=$1
if out=$(grep $IP /tmp/mygeoip)
then
    echo "$out" | awk '{$1="";print}'
    exit
fi
if [[ ($IP =~ ^10.) || ($IP =~ ^192.168.) || ($IP =~ ^172.16.) ]]
then
    echo "LAN"
    exit 0
fi
#  __^__             __^__
# ( ___ )-----------( ___ )
#  | / | AWK version |  |
#  |___|             |___|
# (_____)-----------(_____)
result=$(whois $IP | awk '/country/ {country=$2} /netname/ {netname=$2} END {print country,netname}')
echo $IP $result >> /tmp/mygeoip
echo $result
$ net.ip.geo 192.168.90.238
LAN
$ net.ip.geo 92.247.20.226
BG MTELNET
$ net.ip.geo 129.45.92.28
DZ Optimum-Telecom-Algeria
$

它在/tmp/mygeoip中使用临时缓存,以便在缓存中查找对同一 IP 的查询,而不是从 whois 中查找。

相关内容

  • 没有找到相关文章

最新更新