Add script to update GeoIP database

master
Skylar Ittner 3 years ago
parent aa217ee250
commit c32877373a

@ -0,0 +1,36 @@
<?php
echo "Downloading...\n";
file_put_contents(__DIR__ . "/GeoLite2-City.tar.gz", file_get_contents("https://dl.netsyms.net/dbs/geolite2/GeoLite2-City.tar.gz"));
echo "Extracting...\n";
// decompress from gz
$p = new PharData(__DIR__ . "/GeoLite2-City.tar.gz");
$p->decompress();
// unarchive from the tar
$phar = new PharData(__DIR__ . "/GeoLite2-City.tar");
mkdir(__DIR__ . "/tmp");
$phar->extractTo(__DIR__ . "/tmp");
echo "Installing...\n";
$files = glob(__DIR__ . "/tmp/GeoLite2-City_*/GeoLite2-City.mmdb");
if (count($files) == 1) {
rename($files[0], __DIR__ . "/GeoLite2-City.mmdb");
}
echo "Cleaning up...\n";
unlink(__DIR__ . "/GeoLite2-City.tar.gz");
unlink(__DIR__ . "/GeoLite2-City.tar");
$dir = __DIR__ . "/tmp";
$it = new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS);
$files = new RecursiveIteratorIterator($it,
RecursiveIteratorIterator::CHILD_FIRST);
foreach($files as $file) {
if ($file->isDir()){
rmdir($file->getRealPath());
} else {
unlink($file->getRealPath());
}
}
rmdir($dir);
Loading…
Cancel
Save