#!/bin/bash
D=$(dirname $(readlink -f $0))
T=$(mktemp -d)
cd $T
F=GeoLite2-City
L=GeoLiteCityv6
# create license key from https://www.maxmind.com/en/accounts/current/license-key
LICENSE=xxxxx
wget "https://download.maxmind.com/app/geoip_download?edition_id=${F}-CSV&license_key=${LICENSE}&suffix=zip" -O ${F}-CSV.zip
unzip ${F}-CSV.zip
rm ${F}-CSV.zip
cd ${F}-CSV_*/
tail -n+2 ${F}-Blocks-IPv4.csv |
awk -F, '{ split($1,a,"/"); split(a[1],a1,"."); m = 96+a[2]; printf("::ffff:%02x%02x:%02x%02x/%d,%s,%s,%s,%s,%s,%s,%s,%s\n"),a1[1],a1[2],a1[3],a1[4],m,$2,$3,$4,$5,$6,$7,$8,$9}' >> ${F}-Blocks-IPv6.csv
ls -lht
cd $T
zip ${F}-CSV.zip ${F}-CSV_*/*
python $D/geolite2legacy/geolite2legacy.py -i $T/${F}-CSV.zip -o $T/GeoLiteCity.dat -f /home/wow/geolite2legacy/geoname2fips.csv
python $D/geolite2legacy/geolite2legacy.py -i $T/${F}-CSV.zip -o $T/GeoLiteCityv6.dat -f /home/wow/geolite2legacy/geoname2fips.csv -6
for L in GeoLiteCityv6 GeoLiteCity; do
if [[ -s $T/${L}.dat ]]; then
cp $T/${L}.dat $D
fi
done
rm -rf $T