服务器列表

This commit is contained in:
wanyongkang
2020-11-13 15:20:04 +08:00
parent 2601efa3aa
commit 6ada8cd167
2 changed files with 515 additions and 477 deletions

View File

@@ -5,63 +5,65 @@
* @Author: kangkang * @Author: kangkang
* @Date: 2020-11-06 14:32:57 * @Date: 2020-11-06 14:32:57
* @LastEditors: kangkang * @LastEditors: kangkang
* @LastEditTime: 2020-11-12 09:38:30 * @LastEditTime: 2020-11-12 17:14:34
*/ */
header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Methods: *"); header("Access-Control-Allow-Methods: *");
header('Access-Control-Allow-Headers:*'); header('Access-Control-Allow-Headers:*');
header("Access-Control-Allow-Credentials: true"); header("Access-Control-Allow-Credentials: true");
$id = $_GET['product']; $id = $_GET['product'];
switch($id){ switch ($id) {
case 0: case 0:
format_all_product(__DIR__.'/data/all.csv'); format_all_product(__DIR__ . '/data/all.csv');
break; break;
case 8: case 8:
format_xingxing(__DIR__.'/data/xingxing.csv',__DIR__.'/data/2288.csv','xxip.vip'); format_xingxing(__DIR__ . '/data/xingxing.csv', __DIR__ . '/data/2288.csv', 'xxip.vip');
break; break;
case 6: case 6:
format_product(__DIR__.'/data/xianfeng.csv','xfip.vip'); format_product(__DIR__ . '/data/xianfeng.csv', 'xfip.vip');
break; break;
case 13: case 13:
format_product(__DIR__.'/data/jike.csv','jkip.com'); format_product(__DIR__ . '/data/jike.csv', 'jkip.com');
break; break;
case 1: case 1:
format_product(__DIR__.'/data/qiangzi.csv','qzip.vip'); format_product(__DIR__ . '/data/qiangzi.csv', 'qzip.vip');
break; break;
case 2: case 2:
format_product(__DIR__.'/data/xunlian.csv','xlip.vip'); format_product(__DIR__ . '/data/xunlian.csv', 'xlip.vip');
break; break;
case 14: case 14:
format_product(__DIR__.'/data/tiantian.csv','ttip.cn'); format_product(__DIR__ . '/data/tiantian.csv', 'ttip.cn');
break; break;
case 5: case 5:
format_product(__DIR__.'/data/laoying.csv','lyip.vip'); format_product(__DIR__ . '/data/laoying.csv', 'lyip.vip');
break; break;
case 4: case 4:
format_product(__DIR__.'/data/jinrui.csv','jrip.vip'); format_product(__DIR__ . '/data/jinrui.csv', 'jrip.vip');
break; break;
case 10: case 10:
format_product(__DIR__.'/data/wuxian.csv','wxip.net'); format_product(__DIR__ . '/data/wuxian.csv', 'wxip.net');
break; break;
case 16: case 16:
format_product(__DIR__.'/data/shihui.csv','shihui'); format_product(__DIR__ . '/data/shihui.csv', 'shihui');
break; break;
case 15: case 15:
format_product(__DIR__.'/data/gongxiang.csv','shihui'); format_product(__DIR__ . '/data/gongxiang.csv', 'shihui');
break; break;
} }
function format_all_product($file_path){ function format_all_product($file_path)
{
$list = []; $list = [];
$dns = ''; $dns = '';
$record = []; $record = [];
$citys = [];
$user_count = 0; $user_count = 0;
$count = 0; $count = 0;
$file = fopen($file_path,'r'); $file = fopen($file_path, 'r');
$file1 = fopen(__DIR__.'/data/download/all.csv','w'); $file1 = fopen(__DIR__ . '/data/download/all.csv', 'w');
while ($info = fgetcsv($file)) { while ($info = fgetcsv($file)) {
$data['name'] = $info[0]; $data['name'] = $info[0];
switch($data['name']){ switch ($data['name']) {
case '星星': case '星星':
$dns = 'xxip.vip'; $dns = 'xxip.vip';
break; break;
@@ -96,148 +98,160 @@ function format_all_product($file_path){
$dns = 'shihui'; $dns = 'shihui';
break; break;
} }
$data['city'] = $info[1]; $city = city_exist($citys,$info[1]);
$citys[] = $city;
$data['city'] = $city;
$data['supply'] = $info[2]; $data['supply'] = $info[2];
$data['ip'] = $info[3]; $data['ip'] = $info[3];
$data['daikuan'] = $info[4]; $data['daikuan'] = $info[4];
$data['onlineuser'] = $info[5]; $data['onlineuser'] = $info[5];
$data['maxuser'] = $info[6]; $data['maxuser'] = $info[6];
$data['online'] = $info[7]; $data['online'] = $info[7];
if(!empty($info[9])){ if (!empty($info[9])) {
$user_count += $data['online']=='正常'?1:0; $user_count += $data['online'] == '正常' ? 1 : 0;
$count++; $count++;
} }
$data['status'] = $info[8]; $data['status'] = $info[8];
if($dns!='shihui'){ if ($dns != 'shihui') {
$ip = explode('.',$info[9]); $ip = explode('.', $info[9]);
$data['nasname'] = $ip[0]?ip_repeat($record,$ip[0]).'.'.$dns:''; $data['nasname'] = $ip[0] ? ip_repeat($record, $ip[0]) . '.' . $dns : '';
} else { } else {
$data['nasname'] = $info[9]; $data['nasname'] = $info[9];
} }
fputcsv($file1,$data); fputcsv($file1, $data);
$list[] = $data; $list[] = $data;
} }
fclose($file); fclose($file);
fclose($file1); fclose($file1);
echo json_encode(['data'=>$list,'count'=>$count,'use_count'=>$user_count]); echo json_encode(['data' => $list, 'count' => $count, 'use_count' => $user_count]);
} }
function format_product($file_path,$dns = ''){ function format_product($file_path, $dns = '')
{
$list1 = []; $list1 = [];
$list = []; $list = [];
$user_count = 0; $user_count = 0;
$count = 0; $count = 0;
$key = ''; $key = '';
$file = fopen($file_path,'r'); $citys = [];
$file_path1 = explode('/',$file_path); $file = fopen($file_path, 'r');
$file1 = fopen(__DIR__.'/data/download/'.$file_path1[8],'w'); $file_path1 = explode('/', $file_path);
$file1 = fopen(__DIR__ . '/data/download/' . $file_path1[8], 'w');
$record = []; $record = [];
while ($info = fgetcsv($file)) { while ($info = fgetcsv($file)) {
if(in_array($info['1'],['曾','龙'])){ if (in_array($info['1'], ['曾', '龙'])) {
continue; continue;
} }
if(empty($info[9])){ if (empty($info[9])) {
$key = $info[1]; $key = $info[1];
} }
$data['name'] = $info[0]; $data['name'] = $info[0];
$data['city'] = $info[1]; $city = city_exist($citys,$info[1]);
$citys[] = $city;
$data['city'] = $city;
$data['supply'] = $info[2]; $data['supply'] = $info[2];
$data['ip'] = $info[3]; $data['ip'] = $info[3];
$data['daikuan'] = $info[4]; $data['daikuan'] = $info[4];
$data['onlineuser'] = $info[5]; $data['onlineuser'] = $info[5];
$data['maxuser'] = $info[6]; $data['maxuser'] = $info[6];
$data['online'] = $info[7]; $data['online'] = $info[7];
if(!empty($info[9])){ if (!empty($info[9])) {
$user_count += $data['online']=='正常'?1:0; $user_count += $data['online'] == '正常' ? 1 : 0;
$count++; $count++;
} }
$data['status'] = $info[8]; $data['status'] = $info[8];
if($dns!='shihui'){ if ($dns != 'shihui') {
$ip = explode('.',$info[9]); $ip = explode('.', $info[9]);
$data['nasname'] = $ip[0]?ip_repeat($record,$ip[0]).'.'.$dns:''; $data['nasname'] = $ip[0] ? ip_repeat($record, $ip[0]) . '.' . $dns : '';
} else { } else {
$data['nasname'] = $info[9]; $data['nasname'] = $info[9];
} }
fputcsv($file1,$data); fputcsv($file1, $data);
$list1[$key][] = $data; $list1[$key][] = $data;
} }
fclose($file1); fclose($file1);
fclose($file); fclose($file);
foreach($list1 as $k=>$val){ foreach ($list1 as $k => $val) {
foreach($val as $net_data){ foreach ($val as $net_data) {
fputcsv($file3,$net_data); fputcsv($file3, $net_data);
$list[] = $net_data; $list[] = $net_data;
} }
} }
echo json_encode(['data'=>$list,'count'=>$count,'use_count'=>$user_count]); echo json_encode(['data' => $list, 'count' => $count, 'use_count' => $user_count]);
} }
function format_xingxing($file_path1,$file_path2,$dns){ function format_xingxing($file_path1, $file_path2, $dns)
{
$list1 = []; $list1 = [];
$list = []; $list = [];
$user_count = 0; $user_count = 0;
$count = 0; $count = 0;
$key = ''; $key = '';
$file1 = fopen($file_path1,'r'); $citys = [];
$file2 = fopen($file_path2,'r'); $file1 = fopen($file_path1, 'r');
$file2 = fopen($file_path2, 'r');
$record = []; $record = [];
$keys = []; $keys = [];
$file_path = explode('/',$file_path1); $file_path = explode('/', $file_path1);
$file3 = fopen(__DIR__.'/data/download/'.$file_path[8],'w'); $file3 = fopen(__DIR__ . '/data/download/' . $file_path[8], 'w');
while ($info = fgetcsv($file1)) { while ($info = fgetcsv($file1)) {
if(empty($info[9])){ if (empty($info[9])) {
$key = $info[1]; $key = $info[1];
$keys[] = $key; $keys[] = $key;
} }
$data['name'] = $info[0]; $data['name'] = $info[0];
$data['city'] = $info[1]; $city = city_exist($citys,$info[1]);
$citys[] = $city;
$data['city'] = $city;
$data['supply'] = $info[2]; $data['supply'] = $info[2];
$data['ip'] = $info[3]; $data['ip'] = $info[3];
$data['daikuan'] = $info[4]; $data['daikuan'] = $info[4];
$data['onlineuser'] = $info[5]; $data['onlineuser'] = $info[5];
$data['maxuser'] = $info[6]; $data['maxuser'] = $info[6];
$data['online'] = $info[7]; $data['online'] = $info[7];
if(!empty($info[9])){ if (!empty($info[9])) {
$user_count += $data['online']=='正常'?1:0; $user_count += $data['online'] == '正常' ? 1 : 0;
$count++; $count++;
} }
$data['status'] = $info[8]; $data['status'] = $info[8];
$ip = explode('.',$info[9]); $ip = explode('.', $info[9]);
$data['nasname'] = $ip[0]?ip_repeat($record,$ip[0]).'.'.$dns:''; $data['nasname'] = $ip[0] ? ip_repeat($record, $ip[0]) . '.' . $dns : '';
$list1[$key][] = $data; $list1[$key][] = $data;
} }
while ($info = fgetcsv($file2)) { while ($info = fgetcsv($file2)) {
if(empty($info[9])){ if (empty($info[9])) {
$key = $info[1]; $key = $info[1];
if(in_array($key,$keys)){ if (in_array($key, $keys)) {
continue; continue;
} }
} }
$data['name'] = $info[0]; $data['name'] = $info[0];
$data['city'] = $info[1]; $city = city_exist($citys,$info[1]);
$citys[] = $city;
$data['city'] = $city;
$data['supply'] = $info[2]; $data['supply'] = $info[2];
$data['ip'] = $info[3]; $data['ip'] = $info[3];
$data['daikuan'] = $info[4]; $data['daikuan'] = $info[4];
$data['onlineuser'] = $info[5]; $data['onlineuser'] = $info[5];
$data['maxuser'] = $info[6]; $data['maxuser'] = $info[6];
$data['online'] = $info[7]; $data['online'] = $info[7];
if(!empty($info[9])){ if (!empty($info[9])) {
$user_count += $data['online']=='正常'?1:0; $user_count += $data['online'] == '正常' ? 1 : 0;
$count++; $count++;
} }
$data['status'] = $info[8]; $data['status'] = $info[8];
$ip = explode('.',$info[9]); $ip = explode('.', $info[9]);
$data['nasname'] = $ip[0]?ip_repeat($record,$ip[0]).'.'.$dns:''; $data['nasname'] = $ip[0] ? ip_repeat($record, $ip[0]) . '.' . $dns : '';
$list1[$key][] = $data; $list1[$key][] = $data;
} }
foreach($list1 as $k=>$val){ foreach ($list1 as $k => $val) {
foreach($val as $net_data){ foreach ($val as $net_data) {
fputcsv($file3,$net_data); fputcsv($file3, $net_data);
$list[] = $net_data; $list[] = $net_data;
} }
} }
@@ -246,18 +260,18 @@ function format_xingxing($file_path1,$file_path2,$dns){
fclose($file2); fclose($file2);
fclose($file3); fclose($file3);
echo json_encode(['data' => $list, 'count' => $count, 'use_count' => $user_count]);
echo json_encode(['data'=>$list,'count'=>$count,'use_count'=>$user_count]);
} }
function ip_repeat(&$record,$ip){ function ip_repeat(&$record, $ip)
for ($i=2;$i<100;$i++){ {
if(in_array($ip,$record)){ for ($i = 2; $i < 100; $i++) {
if(in_array($ip.'v'.$i,$record)){ if (in_array($ip, $record)) {
if (in_array($ip . 'v' . $i, $record)) {
continue; continue;
} else { } else {
$record[] = $ip.'v'.$i; $record[] = $ip . 'v' . $i;
return $ip.'v'.$i; return $ip . 'v' . $i;
} }
} else { } else {
$record[] = $ip; $record[] = $ip;
@@ -265,3 +279,18 @@ function ip_repeat(&$record,$ip){
} }
} }
} }
function city_exist($citys, $city)
{
for ($i = 2; $i < 100; $i++) {
if (in_array($city, $citys)) {
if (in_array($city . $i, $citys)) {
continue;
} else {
return $city . $i;
}
} else {
return $city;
}
}
}

File diff suppressed because it is too large Load Diff