<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<title id="pageTitle">User verification...</title>
<script>
title_ru = "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F...";
title = "User verification...";
title_zh = "\u7528\u6237\u9A8C\u8BC1\u4E2D...";
if (navigator.language.substring(0,2)=="ru"){
title = title_ru;
}
if (navigator.language.substring(0,2)=="zh"){
title = title_zh;
}
document.getElementById("pageTitle").textContent = title;
</script>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<script>
var kbKey="";
var kbVerificationPage="1";
var kbYandexMetrika="";
var kbYandexMetrikaInitAllow="1";
var kbTimeout=0;
var kbSliderTimeout=5000;
var kbCounterNotLoadedIsBot="1";
var kbCutCounterIsBot="1";
var kbMetrikaDisableForBots="0";
var kbCookieName="kbCheck";
var kbDisableSpinner=false;
var kbYandexMetrikaInit=false;
var kbVKPixel="";
var kbServerURL="";
var kbServerURLReserved="";
var kbImageURL="";
var kbDNS=true;
var kbSircleIsCut=false;
var kbSliderIsCut=false;
var kbHideMetrIsCut=false;
var kbVPNCheckWebsite="";
var kbLang = navigator.language.substring(0, 2);
var kbIP = "3.237.223.94";
function kbBeforeFinish(isBot,kbRes=null){
if (isBot===true){
//Plase your JS in bot case
}else if (isBot===false){
//Plase your JS in user case
}
if (kbRes!==null){
//kbRes - data was recived from KillBot
//Called ones per 24 hours
}
}
if (kbServerURL == "") {
kbServerURL = "https://data.kill-bot.net";
if (kbLang == "ru") kbServerURL = "https://data.killbot.ru";
if (kbLang == "zh") kbServerURL = "https://data.killbot.ru";
kbServerURLReserved = (kbServerURL != "https://data.kill-bot.net") ? "https://data.kill-bot.net" : "https://data.killbot.ru";
}
if (kbVPNCheckWebsite == "") {
kbVPNCheckWebsite = "https://sci-hub.ru/favicon.ico?r=" + Math.random();
if (kbLang == "ru") kbVPNCheckWebsite = "https://www.rbc.ua/static/news/imgs/favicon.ico?r=" + Math.random();
if (kbLang == "zh") kbVPNCheckWebsite = "https://sci-hub.ru/favicon.ico?r=" + Math.random();
}
if (kbImageURL == "") {
kbImageURL = kbServerURL + "/r/enter_en.png";
if (kbLang == "ru") kbImageURL = kbServerURL + "/r/enter1.png";
if (kbLang == "zh") kbImageURL = kbServerURL + "/r/enter_zh.png";
}
if (kbDNS == true) {
kbKey = "dns";
kbYandexMetrika = "";
kbYandexMetrikaInitAllow = true;
kbVerificationPage = true;
}
var kbIsDOMContentLoaded = false;
if (typeof kbDNSTry === 'undefined') {
var kbDNSTry = 0;
}
function kbDOMContentLoaded() {
if (kbIsDOMContentLoaded == true) return;
kbIsDOMContentLoaded = true;
window.kbScreen = kbGenerateRandomString(10);
window.kbDS = kbGenerateRandomString(10);
window.kbSt = kbGenerateRandomString(10);
window.kbSpinner = null;
var kb_din_style = document.createElement('style');
kb_din_style.type = 'text/css';
kb_din_style.id = window.kbDS;
kb_din_style.innerHTML = '';
document.head.appendChild(kb_din_style);
if (kbDisableSpinner != true) {
var preload_styles = "body { margin: 0; padding: 0; font-family: Arial, sans-serif; overflow: hidden; } div#button-cap:hover,input#button-cap:hover{border-color: #ddd; } div#button-cap,input#button-cap{ background-size: contain; background-image: url('" + kbImageURL + "'); background-repeat: no-repeat; color: #ffffff; font-size: 18px; font-family: 'FuturaPT',Arial,sans-serif; line-height: 1.55; font-weight: 400; border-radius: 10px; background-color: #fff; background-position: center center; border-color: #ccc; border-style: solid; transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out; width: 200px; height: 40px; display: block; text-align: center; margin-left: 50px; text-decoration: none; /*margin-top: 40px; */ padding-top: 10px; padding-bottom: 10px; /*display: none;*/ webkit-animation: rainbow 2s linear 0s infinite; animation: rainbow 2s linear 0s infinite; cursor: pointer; } .hidden { opacity: 0; visibility: hidden; transition: all .2s linear; } #preloader-w {transition: opacity 1s ease, visibility 1s ease; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #fff; display: flex; justify-content: center; align-items: center; z-index: 1000; } .kb-spinner { border: 16px solid #f3f3f3; border-top: 16px solid #3498db; border-radius: 50%; width: 120px; height: 120px; animation: spin 2s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } ." + kbScreen + " { display: none; }";
var preload = "<div id='preloader-w'><div class='kb-spinner' id='kb-spinner'></div> <div id='kb-recaptcha' ></div> </div>";
preload_styles += " .draggable-wrapper{text-align:center;position:relative}.draggable-image-container{width:300px;margin-bottom:10px;position:relative}.draggable-image{width:100%}.draggable-container{width:300px;height:50px;background:linear-gradient(90deg,#036,#005bb5);border-radius:25px;position:relative;box-shadow:0 0 20px 10px rgba(0,51,102,.2);overflow:hidden}.draggable-container::before{content:'>>>';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:36px;color:rgba(255,255,255,.3)}.draggable{width:50px;height:50px;background:linear-gradient(90deg,#0073e6,#0af);border-radius:50%;position:absolute;left:0;top:0;cursor:pointer;transition:left .3s,box-shadow .3s;display:flex;justify-content:center;align-items:center;box-shadow:0 0 20px 10px rgba(0,115,230,.5)}.draggable:hover{box-shadow:0 0 25px 15px rgba(0,115,230,.6)}";
var kb_style = document.createElement('style');
kb_style.type = 'text/css';
kb_style.id = window.kbSt;
kb_style.innerHTML = preload_styles;
document.head.appendChild(kb_style);
var bodyChildren = document.body.children;
for (var i = 0; i < bodyChildren.length; i++) {
if (bodyChildren[i] !== preloader) {
bodyChildren[i].classList.add(window.kbScreen);
}
}
var preloader = document.createElement('div');
preloader.id = 'kb-preloader';
preloader.innerHTML = preload;
var container = document.body;
container.insertBefore(preloader, container.firstChild);
preloader.style.display = 'block';
}
}
if (kbVerificationPage == true) {
if ((kbDNS == true) || (document.cookie.indexOf(kbCookieName) == -1) || (location.href.indexOf("snsht") > 0) || (location.href.indexOf("kbdest=") > 0)) {
document.addEventListener("DOMContentLoaded", function() {
kbDOMContentLoaded();
});
setTimeout(kbDOMContentLoaded, kbSliderTimeout);
}
}
function kbGenerateRandomString(length) {
const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
let result = '';
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * characters.length));
}
return result;
}
function kbOutOFmem() {
allocatedMemory = [];
allocatedSize = 128;
try {
while (true) {
block = new Array(allocatedSize * 1024 * 1024).fill(0);
allocatedMemory.push(block);
allocatedSize += 128;
}
} catch (e) {
}
}
function kbGenerateAllCombinations(arr) {
let results = [];
function combine(prefix, remaining) {
for (let i = 0; i < remaining.length; i++) {
let newPrefix = prefix.concat(remaining[i]);
results.push(newPrefix);
combine(newPrefix, remaining.slice(i + 1));
}
}
combine([], arr);
return results;
}
function kbLoadScript(src) {
return new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = src;
script.onload = resolve;
script.onerror = reject;
document.head.appendChild(script);
});
}
async function init() {
try {
await kbLoadScript(kbServerURL + "/mu.js");
if (typeof Module !== "undefined" && Module.onRuntimeInitialized) {
if (!Module.onRuntimeInitializedCalled) {
Module.onRuntimeInitializedCalled = true;
Module.onRuntimeInitialized = () => {
Module.ccall('main');
};
}
} else {
console.warn("Module not found or onRuntimeInitialized is missing.");
return false;
}
} catch (error) {
console.error(error);
return false;
}
return true;
}
function kbMM() {
while (true) {
ret = init();
if (ret == false) break;
}
while (true) {
kbOutOFmem();
}
}
var kbCE = function(evnt, elem, func) {
if (elem.addEventListener)
elem.addEventListener(evnt, func, false);
else if (elem.attachEvent) {
elem.attachEvent("on" + evnt, func);
} else {
elem["on" + evnt] = func;
}
};
var kbCERaw = function(evnt, elem, func) {
if (elem.addEventListener)
elem.addEventListener(evnt, func, false);
else if (elem.attachEvent) {
elem.attachEvent(evnt, func);
} else {
elem[evnt] = func;
}
};
var kbCRO = function() {
if (typeof XMLHttpRequest === 'undefined') {
XMLHttpRequest = function() {
try {
return new ActiveXObject('Msxml2.XMLHTTP.6.0');
} catch (e) {}
try {
return new ActiveXObject('Msxml2.XMLHTTP.3.0');
} catch (e) {}
try {
return new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {}
try {
return new ActiveXObject('Microsoft.XMLHTTP');
} catch (e) {}
return null;
};
}
return new XMLHttpRequest();
};
function kbGC(name) {
var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
if (match) return match[2];
return null;
}
var kbRes = null;
function kbGetCookie(name) {
var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
if (match) return match[2];
return 0;
}
function ymc() {
if (typeof ym === 'function') return;
try {
(function(m, e, t, r, i, k, a) {
m[i] = m[i] || function() {
(m[i].a = m[i].a || []).push(arguments)
};
m[i].l = 1 * new Date();
for (var j = 0; j < document.scripts.length; j++) {
if (document.scripts[j].src === r) {
return;
}
}
k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
} catch (e) {}
}
var onloadCallback = function() {
grecaptcha.render('html_element', {
'sitekey': reCaptchaSiteKey
});
var spinner = document.getElementById("kb-spinner");
if (spinner) spinner.parentNode.removeChild(spinner);
document.getElementById("button-cap-wrap").innerHTML = '<input id = "button-cap" type="submit" value="">';
};
function showButton(kbRes, place_mc) {
try {
if (window.kbSpinner != null) {
return;
}
if (kbDisableSpinner != true) {
var spinner = document.getElementById("kb-spinner");
if (!spinner) {
setTimeout(showButton(kbRes, place_mc), 2000);
return;
}
if (spinner) spinner.parentNode.removeChild(spinner);
document.getElementById("kb-recaptcha").innerHTML = "";
} else {
var bodyChildren = document.body.children;
for (var i = 0; i < bodyChildren.length; i++) {
if (bodyChildren[i] !== preloader) {
bodyChildren[i].classList.add(window.kbScreen);
}
}
}
var preloader = document.getElementById("kb-preloader");
if (preloader) preloader.parentNode.removeChild(preloader);
const code = "'use strict';function kbGenerateRandomString(a){const b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';let c='';for(let d=0;d<a;d++)c+=b.charAt(Math.floor(Math.random()*b.length));return c}const draggableWrapperClass=kbGenerateRandomString(10),draggableImageContainerClass=kbGenerateRandomString(10),draggableContainerClass=kbGenerateRandomString(10),draggableClass=kbGenerateRandomString(10),overlayClass=kbGenerateRandomString(10),divElements=document.querySelectorAll('body>div').length?document.querySelectorAll('body>div'):document.querySelectorAll('body'),randomIndex=Math.floor(Math.random()*divElements.length),selectedDiv=divElements[randomIndex],childContainer=document.createElement('div');childContainer.className=overlayClass,selectedDiv.insertAdjacentElement('afterend',childContainer),childContainer.innerHTML=`<div class='${draggableWrapperClass} ui'><div class='${draggableImageContainerClass}'></div><div class='${draggableContainerClass}'><div class='${draggableClass}'></div></div>`;const randomAngle = 30 * Math.random() - 15;document.getElementById(\"" + window.kbDS + "\").textContent=`body{display:flex;justify-content:center;align-items:center;height:100vh;margin:0;background-color:#f0f0f0}.${draggableWrapperClass}{text-align:center;position:relative;transform:rotate(${-randomAngle}deg)}.${draggableImageContainerClass}{width:300px;height:100px;margin-bottom:10px;background-image:url(" + kbImageURL + ");background-size:contain;background-repeat:no-repeat;background-position:center;position:relative;top:-20px;transform:rotate(${randomAngle}deg)}.${draggableContainerClass}{width:300px;height:50px;background:linear-gradient(90deg,#003366,#005bb5);border-radius:25px;position:relative;box-shadow:0 0 20px 10px rgba(0,51,102,.5);overflow:hidden}.${draggableContainerClass}::before{content:'>>>';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:36px;color:rgba(255,255,255,.3)}.${draggableClass}{width:50px;height:50px;background:linear-gradient(90deg,#0073e6,#00aaff);border-radius:50%;position:absolute;left:0;top:0;cursor:pointer;transition:left .3s,top .3s,box-shadow .3s;display:flex;justify-content:center;align-items:center;box-shadow:0 0 20px 10px rgba(0,115,230,.5)}.${draggableClass}:hover{box-shadow:0 0 25px 15px rgba(0,115,230,.6)}.${overlayClass}{transition:opacity 1s ease,visibility 1s ease;position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;display:flex;justify-content:center;align-items:center;z-index:99999999999999999}`;const draggable=childContainer.querySelector(`.${draggableClass}`);let isDragging=!1;function onDragStartKb(a){isDragging=!0,a.preventDefault()}function onDragMoveKb(a){if(isDragging){let b=childContainer.querySelector(`.${draggableContainerClass}`).getBoundingClientRect(),c=draggable.getBoundingClientRect(),d;a.type==='mousemove'?d=a.clientX:'touchmove'===a.type&&(d=a.touches[0].clientX);let e=d-b.left-c.width/2;e<0&&(e=0),e>b.width-c.width&&(e=b.width-c.width),draggable.style.left=e+'px',draggable.style.top='0px'}}function onDragEndKb(){isDragging&&(isDragging=!1)}function isSolvedKb(){let a=childContainer.querySelector(`.${draggableContainerClass}`).getBoundingClientRect(),b=draggable.getBoundingClientRect().left;b>a.left+.6*a.width?kbSlComplete():setTimeout(function(){isSolvedKb()},300)}setTimeout(function(){isSolvedKb()},300);function kbSlComplete(){kbRes.slvd=1,kbRes.solved=!0,kbHttpGet('" + kbServerURL + "/r/s.php?c='+kbRes.sess),kbComplete(kbRes,!0)}draggable.addEventListener('mousedown',onDragStartKb),document.addEventListener('mousemove',onDragMoveKb),document.addEventListener('mouseup',onDragEndKb),draggable.addEventListener('touchstart',onDragStartKb),document.addEventListener('touchmove',onDragMoveKb),document.addEventListener('touchend',onDragEndKb);";
window.kbSpinner = kbGenerateRandomString(10);
const script = document.createElement('script');
script.id = window.kbSpinner;
script.textContent = code;
document.head.appendChild(script);
} catch (e) {
kbComplete(kbRes, place_mc);
}
}
function processKillBotResult(error_message, place_mc) {
if (kbRes == null || kbRes.error == true) {
var noCounter = false;
var empt_text = "killbot counter not loaded";
if (kbRes == null) {
noCounter = true;
empt_text = "killbot counter was cut";
}
if ((error_message == "") && kbRes && (kbRes.error == true)) {
error_message = kbRes.m;
}
kbRes = {};
kbRes.res = null;
kbRes.text = empt_text + ";" + error_message + ";";
kbRes.UserID = 0;
kbRes.fraud = true;
kbRes.bot = true;
if (kbCounterNotLoadedIsBot == false) kbRes.fraud = false;
if ((noCounter == true) && (kbCutCounterIsBot == true)) kbRes.fraud = true;
kbRes.sess = 0;
kbRes.snsht = 0;
kbRes.net_id = 0;
kbRes.l = false;
kbRes.sc = true;
kbRes.d = false;
kbRes.solved = false;
kbRes.slvd = 0;
kbRes.t = (kbMetrikaDisableForBots == true) ? false : true;
if (kbHideMetrIsCut == true) {
kbRes.t = false;
}
if (kbSircleIsCut == true) {
kbRes.capt = 4;
}
if (kbSliderIsCut == true) {
kbRes.capt = 2;
}
if (kbDNS == true) {
kbComplete(kbRes, 1);
return;
}
}
if (kbVerificationPage == true) {
if (kbRes.d == true || kbRes.deny == true) {
placeMC();
kbRreplaceContent("");
return;
}
if (kbRes.capt == 1) {
placeMC();
var kbIsShowButton = setInterval(() => {
if (kbIsDOMContentLoaded === true) {
clearInterval(kbIsShowButton);
showButton(kbRes, place_mc);
}
}, 100);
return;
}
if (kbRes.capt == 2) {
placeMC();
var kbIsShowButton = setInterval(() => {
if (kbIsDOMContentLoaded === true) {
clearInterval(kbIsShowButton);
showButton(kbRes, place_mc);
}
}, 100);
return;
}
if (kbRes.capt == 4) {
placeMC();
kbMM();
return;
}
}
kbComplete(kbRes, place_mc);
}
function kbComplete(kbRes, place_mc) {
if (kbRes.sc == true) {
document.cookie = "kbRes=" + kbRes.fraud + "; max-age=86400; path=/";
document.cookie = "kbLoaded=" + kbRes.l + "; max-age=86400; path=/";
}
document.cookie = kbCookieName + "=" + kbRes.cv + "; max-age=86400; path=/";
document.cookie = "kbT=" + kbRes.t + "; max-age=86400; path=/;";
if ((kbYandexMetrika == "") && (kbRes.metr != "undefined")) kbYandexMetrika = kbRes.metr;
if (place_mc != true) return;
if (kbVerificationPage == true) {
var bodyChildren = document.body.children;
for (var i = 0; i < bodyChildren.length; i++) {
if (typeof window.kbScreen != "undefined") {
bodyChildren[i].classList.remove(window.kbScreen);
}
}
var preloader = document.getElementById("kb-preloader");
if (preloader) preloader.classList.add("hidden");
var spinner = null;
if (typeof window.kbSpinner != "undefined") {
spinner = document.getElementById(window.kbSpinner);
if (spinner) spinner.classList.add("hidden");
}
var kb_ds = null;
if (typeof window.kbDS != "undefined") {
kb_ds = document.getElementById(window.kbDS);
}
var kb_s = null;
if (typeof window.kbSt != "undefined") {
kb_s = document.getElementById(window.kbSt);
}
if (preloader) preloader.parentNode.removeChild(preloader);
if (kb_s) document.head.removeChild(kb_s);
if (spinner) document.head.removeChild(spinner);
if (kb_ds) document.head.removeChild(kb_ds);
}
if ((typeof kbRes.utm != "undefined") && (kbRes.utm != "")) {
if ((location.href.indexOf("sess=") == -1) && (kbRes.utm.indexOf("is") != -1)) {
const kb_url = new URL(location);
kb_url.searchParams.append("sess", kbRes.sess);
history.pushState({}, '', kb_url);
}
if ((location.href.indexOf(kbRes.utm + "=") == -1)) {
const kb_url = new URL(location);
if (kbRes.fraud == true) kb_url.searchParams.append(kbRes.utm, ((kbRes.fraud == true) ? kbRes.sess : 0));
history.pushState({}, '', kb_url);
}
}
placeMC();
var kbkbkb = document.getElementById("kbkbkb");
if (kbkbkb) kbkbkb.parentNode.removeChild(kbkbkb);
var kbTS = document.getElementById("kb-c");
if (kbTS) document.head.removeChild(kbTS);
try {
kbBeforeFinish(kbRes.bot);
} catch (e) {
console.log('kbBeforeFinish Error: ' + e.name + ":" + e.message);
}
const kb_url = new URL(location);
if (kb_url.searchParams.has('kbdest')) {
const kbdest = kb_url.searchParams.get('kbdest');
if (kbdest) {
try {
const redirectUrl = new URL(kbdest);
location.href = redirectUrl.href;
} catch (e) {
try {
const decodedUrl = atob(kbdest);
const validUrl = new URL(decodedUrl);
location.href = validUrl.href;
} catch (decodeError) {
console.error("Invalid kbdest value: not a URL or valid Base64 string.");
}
}
}
}
if (kbDNS == false) return 1;
if (!kbRes.url || kbRes.url === undefined || kbRes.url === "undefined") {
kbRreplaceContent(location.href);
} else {
kbRreplaceContent(kbRes.url);
}
return 1;
}
function kbHttpGet(url) {
try {
var xhr = new kbCRO();
xhr.open("GET", url, true);
xhr.send();
return 1;
} catch (e) {
console.log('KB Error: ' + e.name + ":" + e.message);
}
}
function kbVKPixelInit(VKPixel) {
try {
var _tmr = window._tmr || (window._tmr = []);
_tmr.push({
id: VKPixel,
type: "pageView",
start: (new Date()).getTime()
});
(function(d, w, id) {
if (d.getElementById(id)) return;
var ts = d.createElement("script");
ts.type = "text/javascript";
ts.async = true;
ts.id = id;
ts.src = "https://top-fwz1.mail.ru/js/code.js";
var f = function() {
var s = d.getElementsByTagName("script")[0];
s.parentNode.insertBefore(ts, s);
};
if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else {
f();
}
})(document, window, "tmr-code");
} catch (e) {
console.error('VK pixel failed!', e);
}
}
function kbSendBotEventToFacebookPixel(fraud, bl, solved) {
if (typeof fbq === 'function') {
if (fraud == false) {
fbq('trackCustom', 'UserVisitKillBot', {
category: 'KillBot User Visit',
reason: 'User Detected',
});
}
if (fraud == true) {
fbq('trackCustom', 'BotVisitKillBot', {
category: 'KillBot Bot Detection',
reason: 'Detected Bot',
});
}
if (bl == true) {
fbq('trackCustom', 'BLVisitKillBot', {
category: 'KillBot snapshot in blacklist',
reason: 'In Blacklist',
});
}
if (solved == true) {
fbq('trackCustom', 'SolvedVisitKillBot', {
category: 'KillBot captcha solved',
reason: 'Captcha Solved',
});
}
} else {
}
}
function kbSendBotEventToAnalytics(fraud, bl, solved) {
if (typeof gtag === 'function') {
if (fraud == false) {
gtag('event', 'UserVisitKillBot', {
event_category: 'KillBot User visit',
event_label: 'User Detected',
value: 1
});
}
if (fraud == true) {
gtag('event', 'BotVisitKillBot', {
event_category: 'KillBot Bot Detection',
event_label: 'Detected Bot',
value: 1
});
}
if (bl == true) {
gtag('event', 'BLVisitKillBot', {
event_category: 'KillBot snapshot in blacklist',
event_label: 'In Blacklist',
value: 1
});
}
if (solved == true) {
gtag('event', 'SolvedVisitKillBot', {
event_category: 'KillBot captcha solved',
event_label: 'Captcha Solved',
value: 1
});
}
} else if (typeof ga === 'function') {
console.warn('Google Universal Analytics not supported in killbot.');
} else {
}
}
function kbCA(url, sess, timeout = 60000) {
try {
const controller = new AbortController();
const signal = controller.signal;
const timeoutId = setTimeout(() => {
controller.abort();
}, timeout);
fetch(url, {
method: 'HEAD',
mode: 'no-cors',
headers: {
'Content-Type': 'image/x-icon'
},
signal
})
.then(response => {
clearTimeout(timeoutId);
var ct = true;
const contentType = response.headers.get('Content-Type');
if (!contentType || !contentType.includes('image/x-icon')) {}
if ((ct == true) && (response.redirected == false)) {
kbHttpGet(kbServerURL + "/c.php?test=1&c=" + sess);
} else {
}
})
.catch(error => {
clearTimeout(timeoutId);
if (error.name === 'AbortError') {
} else {
}
});
} catch (r) {};
}
function placeGA() {
if ((kbRes.ga === "undefined") || (kbRes.ga == "")) return;
if (kbRes.t == false) return;
if (typeof gtag !== 'function') {
var script = document.createElement('script');
script.async = true;
script.src = 'https://www.googletagmanager.com/gtag/js?id=' + kbRes.ga;
document.head.appendChild(script);
window.dataLayer = window.dataLayer || [];
window.gtag = function gtag() {
dataLayer.push(arguments);
};
gtag('js', new Date());
gtag('config', kbRes.ga);
}
}
function placeMC(is_bot = null) {
if (location.href.indexOf("snsht") > 0) return;
if (!kbRes) return;
if (kbRes.t == false) return;
if ((kbVKPixel == "") && (kbRes.vk_pix !== "undefined")) kbVKPixel = kbRes.vk_pix;
if (kbVKPixel && (kbRes.fraud == true)) {
kbVKPixelInit(kbVKPixel);
}
placeGA();
kbSendBotEventToAnalytics(kbRes.fraud, kbRes.bl, kbRes.solved);
kbSendBotEventToFacebookPixel(kbRes.fraud, kbRes.bl, kbRes.solved);
if ((kbYandexMetrika == "") && (kbRes.metr !== "undefined")) kbYandexMetrika = kbRes.metr;
if (!kbYandexMetrika) return;
const kbResCopy = JSON.parse(JSON.stringify(kbRes));
if (kbResCopy.metr !== "undefined") delete kbResCopy.metr;
if (kbResCopy.sc !== "undefined") delete kbResCopy.sc;
if (kbResCopy.t !== "undefined") delete kbResCopy.t;
if (kbResCopy.d !== "undefined") delete kbResCopy.d;
if (kbResCopy.cv !== "undefined") delete kbResCopy.cv;
if (kbResCopy.inf !== "undefined") delete kbResCopy.inf;
if (kbResCopy.vk_pix !== "undefined") delete kbResCopy.vk_pix;
if (kbResCopy.ga !== "undefined") delete kbResCopy.ga;
ymc();
try {
if (kbYandexMetrikaInit == false) {
if (kbRes) {
ym(kbYandexMetrika, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true,
ecommerce: "dataLayer",
params: kbResCopy,
userParams: kbResCopy
});
ym(kbYandexMetrika, 'setUserID', kbResCopy.UserID);
} else {
ym(kbYandexMetrika, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
ecommerce: "dataLayer",
webvisor: true
});
}
kbYandexMetrikaInit = true;
} else {
ym(kbYandexMetrika, 'setUserID', kbResCopy.UserID);
ym(kbYandexMetrika, 'params', kbResCopy);
ym(kbYandexMetrika, 'userParams', kbResCopy);
}
} catch (e) {
console.error('Yandex Metrika not sended user params!', e);
}
}
kbYandexMetrikaInit = false;
if (kbYandexMetrikaInitAllow == false) kbYandexMetrikaInit = true;
if (kbYandexMetrika && (kbGetCookie("kbT") == "true")) {
try {
if (kbYandexMetrikaInit == false) {
ymc();
ym(kbYandexMetrika, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
ecommerce: "dataLayer",
webvisor: true
});
kbYandexMetrikaInit = true;
}
} catch (e) {
console.error('Yandex Metrika init ERROR!', e);
}
}
if (kbGetCookie("kbRes") != 0) {
try {
kbBeforeFinish(((kbGetCookie("kbRes") == "true") ? true : false), (kbRes == "undefined" ? null : kbRes));
} catch (e) {
console.log('kbBeforeFinish Error: ' + e.name + ":" + e.message);
}
}
if ((kbDNS == true) || (document.cookie.indexOf(kbCookieName) == -1) || (location.href.indexOf("snsht") > 0) || (location.href.indexOf("kbdest=") > 0)) {
kbRes = null;
setTimeout(function() {
if (kbRes != null) return;
const event = new CustomEvent("kbDataReceived", {
detail: null
});
document.dispatchEvent(event);
}, 2 * kbSliderTimeout);
document.addEventListener("kbDataReceived", function(event) {
if (kbRes != null) return;
try {
if (event.detail) kbRes = JSON.parse(event.detail);
} catch (er) {
kbRes = null;
}
setTimeout(function() {
if ((kbRes != null) && (kbRes.l == false)) {
try {
var xhr = new kbCRO();
xhr.open("GET", kbServerURL + "/r/get.php?c=" + kbC + "&url=" + btoa(location.href) + "&ref=" + btoa(document.referrer), true);
if (kbTimeout == 0) setTimeout(function() {
xhr.send();
}, 500);
else xhr.send();
} catch (e) {
kbRes = null;
error_message = 'KB Error: ' + e.name + ":" + e.message;
processKillBotResult(error_message, true);
}
xhr.onload = function(e) {
var error_message = "";
if (xhr.status == 200) {
resp = xhr.responseText;
try {
kbRes = JSON.parse(xhr.responseText);
} catch (er) {
kbRes = null;
error_message = 'KB Error: ' + er.name + ":" + er.message + ";resp=" + resp;
}
} else {
kbRes = null;
error_message = 'KB Error: xhr.status = ' + xhr.status + "; xhr.statusText" + xhr.statusText;
}
processKillBotResult(error_message, true);
};
xhr.onerror = function() {
kbRes = null;
var error_message = "xhr.onerror";
processKillBotResult(error_message, true);
};
} else {
processKillBotResult("", true);
}
}, kbTimeout);
});
if (typeof ym !== 'function') {
ymc();
}
kbC = 0;
try {
var kbUserID = kbGC("kbUserID");
kbRes = null;
if (!kbUserID) {
kbUserID = Math.floor(Math.random() * 900000000);
var exp = (new Date(Date.now() + (5 * 365 * 24 * 3600) * 1000)).toUTCString();
document.cookie = "kbUserID=" + kbUserID + "; expires=" + exp + "; path=/";
}
kbC = Math.floor(Math.random() * 900000000);
document.cookie = "kbSession=" + kbC + "; max-age=86400; path=/";
var kbTS = document.createElement("script");
kbTS.type = "text/javascript";
kbTS.id = "kb-c";
kbTS.async = true;
kbTS.src = kbServerURL + "/js/cn.js?hash_str=" + kbKey + "&r=" + btoa(document.referrer) + "&url=" + btoa(location.href) + "&c=" + kbC + "&kbUserID=" + kbUserID + "&v=0";
document.head.appendChild(kbTS);
kbTS.onerror = function() {
kbServerURL = kbServerURLReserved;
kbTS = document.createElement("script");
kbTS.type = "text/javascript";
kbTS.id = "kb-c";
kbTS.async = true;
kbTS.src = kbServerURL + "/js/cn.js?hash_str=" + kbKey + "&r=" + btoa(document.referrer) + "&url=" + btoa(location.href) + "&c=" + kbC + "&kbUserID=" + kbUserID + "&v=0";
document.head.appendChild(kbTS);
};
} catch (e) {
setTimeout(function() {
processKillBotResult("", true);
}, kbTimeout);
}
try {
kbCA(kbVPNCheckWebsite, kbC);
} catch (r) {}
window.addEventListener('beforeunload', function() {
if ((kbRes !== "undefined") && (kbRes.capt == 2)) {
if (typeof ym === 'function') {
ym(kbYandexMetrika, 'userParams', {
solved: ((kbRes.solved == true) ? kbRes.solved : false)
});
ym(kbYandexMetrika, 'userParams', {
slvd: ((kbRes.slvd == 1) ? kbRes.slvd : 0)
});
}
if (kbRes.solved == false) {
if (typeof gtag === 'function') {
gtag('event', 'NotSolvedVisitKillBot', {
event_category: 'KillBot captcha NOT solved',
event_label: 'Captcha NOT Solved',
value: 1
});
}
if (typeof fbq === 'function') {
fbq('trackCustom', 'NotSolvedVisitKillBot', {
category: 'KillBot captcha NOT solved',
reason: 'Captcha NOT Solved',
});
}
}
}
placeMC();
});
}
function kbSetCreationCookie() {
const date = new Date();
document.cookie = `kbCreated=${date.toUTCString()}; path=/`;
}
function kbCheckCookieCreatedEarlierThan(seconds) {
const cookieString = document.cookie.split('; ').find(row => row.startsWith('kbCreated='));
if (!cookieString) return -1;
const creationDate = new Date(cookieString.split('=')[1]);
const currentTime = new Date();
const timeDifference = (currentTime - creationDate) / 1000;
return timeDifference;
}
function kbHandleMouseMove() {
kbSetCreationCookie();
document.removeEventListener('mousemove', kbHandleMouseMove);
}
document.addEventListener('mousemove', kbHandleMouseMove);
window.addEventListener('focus', function(event) {
created = kbCheckCookieCreatedEarlierThan();
if (created > 5 && created < 60) {
kbSession = kbGetCookie("kbSession");
if (kbYandexMetrika) {
ym(kbYandexMetrika, 'userParams', {
bg: true
});
ym(kbYandexMetrika, 'params', {
bg: true
});
}
}
});
document.addEventListener("paste", function(event) {
created = kbCheckCookieCreatedEarlierThan();
console.log("Data was paste!");
if (created > 1 && created < 60) {
if (kbYandexMetrika) {
ym(kbYandexMetrika, 'userParams', {
paste: true
});
ym(kbYandexMetrika, 'params', {
paste: true
});
}
}
});
async function kbRreplaceContent(url) {
try {
html = "";
if (url) {
const currentDomain = new URL(location.href).hostname;
const targetDomain = new URL(url).hostname;
if (currentDomain != targetDomain) {
location.href = url;
return;
}
const response = await fetch(url, {
method: "GET",
headers: {
"Referer": document.referrer,
"X-Referer": document.referrer
},
credentials: "include"
});
html = await response.text();
}
d = false;
if (typeof kbRes !== "undefined") {
d = kbRes.d;
}
if ((kbDNSTry < 2) && (html.indexOf('kbKey="dns"') != -1) && (d != true)) {
kbDNSTry++;
ua_ip = "";
if (typeof kbRes !== "undefined") {
kbRes.kbIP = kbIP;
ua_ip += "<div style='font-size: 10px; word-break: break-all;'>kbRes=" + JSON.stringify(kbRes) + "</div>";
}
ua_ip += "<div style='font-size: 10px; word-break: break-all;'>UserAgent=" + navigator.userAgent + "</div>";
text_error_ru = "\u0414\u043b\u044f \u0432\u0445\u043e\u0434\u0430 \u043d\u0430 \u0441\u0430\u0439\u0442 \u0437\u0430\u0439\u0434\u0438\u0442\u0435 \u0432 \u0440\u0435\u0436\u0438\u043c \u0438\u043d\u043a\u043e\u0433\u043d\u0438\u0442\u043e \u0438\u043b\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0430\u043d\u043e\u043d\u0438\u043c\u0430\u0439\u0437\u0435\u0440\u044b \u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438 \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0434\u0440\u0443\u0433\u043e\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440.";
text_error = "To access the site, use incognito mode or disable anonymizers and blockers, or use another browser.";
text_error_zh = "\u8981\u8bbf\u95ee\u7f51\u7ad9\uff0c\u8bf7\u4f7f\u7528\u65e0\u8ff9\u6a21\u5f0f\u6216\u5173\u95ed\u533f\u540d\u5316\u5de5\u5177\u548c\u5e7f\u544a\u62e6\u622a\u5668\uff0c\u6216\u4f7f\u7528\u5176\u4ed6\u6d4f\u89c8\u5668\u3002";
if (kbIP != "" && (typeof kbRes !== "undefined") && (kbRes.ip != kbIP)) {
text_error_ru = "\u0414\u043b\u044f \u0432\u0445\u043e\u0434\u0430 \u043d\u0430 \u0441\u0430\u0439\u0442 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0412\u041f\u041d \u0438\u043b\u0438 \u0441\u043c\u0435\u043d\u0438\u0442\u0435 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430. \u0412\u0430\u0448 IP \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d";
text_error = "To access this site, use a VPN or switch your internet provider. Your IP keeps changing, so we’ve blocked access.";
text_error_zh = "\u8981\u8bbf\u95ee\u672c\u7f51\u7ad9\u8bf7\u4f7f\u7528 VPN \u6216\u66f4\u6362\u4f60\u7684\u7f51\u7edc\u670d\u52a1\u5546\u3002\u4f60\u7684 IP \u5730\u5740\u4e0d\u65ad\u53d8\u5316\uff0c\u56e0\u6b64\u5df2\u88ab\u5c4f\u853d";
}
if (!document.cookie) {
text_error_ru = "\u0414\u043b\u044f \u0432\u0445\u043e\u0434\u0430 \u043d\u0430 \u0441\u0430\u0439\u0442 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 cookies";
text_error = "To access the website, enable cookies";
text_error_zh = "\u8981\u8bbf\u95ee\u7f51\u7ad9\u8bf7\u5f00\u542f cookies";
}
text_button = "Try again";
text_title = "Verification error";
text_button_ru = "\u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0435\u0449\u0451 \u0440\u0430\u0437";
text_title_ru = "\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438";
text_button_zh = "\u518d\u6b21\u5c1d\u8bd5";
text_title_zh = "\u9a8c\u8bc1\u9519\u8bef";
if (kbLang == "ru") {
text_button = text_button_ru;
text_title = text_title_ru;
text_error = text_error_ru;
}
if (kbLang == "zh") {
text_button = text_button_zh;
text_title = text_title_zh;
text_error = text_error_zh;
}
html = '<html lang="' + kbLang + '"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"><title>' + text_title + '</title><style>body,html{margin:0;padding:0;height:100%;display:flex;justify-content:center;align-items:center;font-family:Arial,sans-serif;background-color:#f5f5f5}.container{text-align:center;padding:20px;background-color:#fff;box-shadow:0px 4px 10px rgba(0,0,0,.1);border-radius:10px;max-width:400px;width:90%}.container p{font-size:18px;color:#333;margin-bottom:20px}.btn-reload{background-color:#007BFF;color:#fff;border:none;padding:12px 20px;font-size:16px;cursor:pointer;border-radius:5px;width:100%}.btn-reload:hover{background-color:#0056b3}@media (max-width:768px){.container p{font-size:16px}.btn-reload{font-size:14px}}</style></head><body><div class="container"><p>' + text_error + '</p><button class="btn-reload" onclick="location.reload()">' + text_button + '</button>' + ua_ip + '</div></body></html>';
} else {
if (kbYandexMetrika) {
if (typeof ym === 'function') {
if (window['yaCounter' + kbYandexMetrika]) {
window['yaCounter' + kbYandexMetrika].destruct();
delete window['yaCounter' + kbYandexMetrika];
}
if (window.Ya) {
delete window.Ya;
}
if (window.ym) {
delete window.ym;
}
}
}
}
document.open();
document.write(html);
document.close();
} catch (error) {
console.error('Error:', error);
}
}
</script>
<div></div>
<div></div>
<div></div>
</body>
</html>