BOIP.NET 更新了小bug,数据库改为自动更新 【附上代码】

BOIP.NET 更新了小bug,数据库改为自动更新 【附上代码】

1. 把IPv6替换了使用新的
2. 将IPv6地址的ASN 改为 whois方式获取

		
                $query = shell_exec('whois -h whois.cymru.com " -v -w -f -u -q -d '.$IP.'"');
		$temp = explode('|',$query);
		$data['ASN'] = trimall($temp['0']);
		$data['RIR'] = trimall($temp['2']);
		$data['RIR_DATE'] = trimall($temp['3']);
		$data['ORG'] = trim($temp['4']);

3. 修复了数据库延时的问题 改为每周自动更新

更新用到的代码 直接shell运行了

/*

定时任务
1 4 * * 7 cd /home/admin/domains/boip.net/public_html/app/;php -q update.php
每周末的早上4点01分开始更新
*/

/*
	Update IP2LOC
这个注意下 直接使用WGET进行POST用户下载GEO DB的BIN文件
*/
shell_exec('rm -rf IP2LOCATION-LITE-DB11.BIN.ZIP');
shell_exec('rm -rf IP2LOCATION-LITE-DB11.IPV6.BIN.ZIP');
shell_exec('wget -O IP2LOCATION-LITE-DB11.BIN.ZIP --post-data="[email protected]&password=你的密码I&rememberMe=on" \
"http://lite.ip2location.com/login?return=http%3A%2F%2Flite.ip2location.com%2Fdownload%3Fid%3D10"');
shell_exec('wget -O IP2LOCATION-LITE-DB11.IPV6.BIN.ZIP --post-data="[email protected]&password=你的密码&rememberMe=on" \
"http://lite.ip2location.com/login?return=http%3A%2F%2Flite.ip2location.com%2Fdownload%3Fid%3D20"');
shell_exec('unzip -o IP2LOCATION-LITE-DB11.BIN.ZIP');
shell_exec('unzip -o IP2LOCATION-LITE-DB11.IPV6.BIN.ZIP');
shell_exec('mv -f IP2LOCATION-LITE-DB11.BIN GeoDB/IP2LOCATION-LITE-DB11.BIN');
shell_exec('mv -f IP2LOCATION-LITE-DB11.IPV6.BIN GeoDB/IP2LOCATION-LITE-DB11.IPV6.BIN');

/*
	Update qqway.dat
*/
$copywrite = file_get_contents("http://update.cz88.net/ip/copywrite.rar");
$qqwry = file_get_contents("http://update.cz88.net/ip/qqwry.rar");
$key = unpack("V6", $copywrite)['6'];
for($i=0; $i<0x200; $i++)
{
	$key *= 0x805;
	$key ++;
	$key = $key & 0xFF;
	$qqwry[$i] = chr( ord($qqwry[$i]) ^ $key );
}
$qqwry = gzuncompress($qqwry);
$fp = fopen("GeoDB/qqwry.dat", "wb");
if($fp) {
	fwrite($fp, $qqwry);
	fclose($fp);
}

/*
   Update Maxmind Data
*/
//shell_exec('ls -l');
shell_exec('wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz');
shell_exec('wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz');
shell_exec('gunzip GeoLite2-Country.mmdb.gz');
shell_exec('gunzip GeoLite2-City.mmdb.gz');
unlink('GeoDB/GeoLite2-Country.mmdb');
unlink('GeoDB/GeoLite2-City.mmdb');
shell_exec('mv Geo*.mmdb GeoDB/');
shell_exec('chown admin:admin -R GeoDB');

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注