Анализ сайта marko.by
Основное Готовность: 85%
Домен
marko.by
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Домен второго уровня идеален для продвижения.
Отличный запоминающийся домен.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Кол-во редиректов 3 слишком большое! Проверьте настройки сайта и веб-сервера!
Цепочка редиректов:
http://marko.by
301 MovedPermanently
https://marko.by/
301 MovedPermanently
https://www.marko.by/
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
Не настроен HSTS (Strict-Transport-Security) — рекомендуется включить.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 09.01.2027 2:59:59.
HTTP автоматически перенаправляется на HTTPS.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
utf-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице utf-8.
Язык
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык страницы не указан. Рекомендуется явно указать язык документа!
Скорость загрузки
~0,37сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,37сек оптимальна.
Объем документа
96Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 96Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 0
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Ресурсы не найдены. Неужели ваш сайт на чистом html?
Серверные заголовки
Кол-во: 2
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 2шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Server | nginx/1.18.0 |
| Date | Thu, 20 Aug 2026 13:35:33 GMT |
CMS
Не определена
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
CMS не определена. Вероятно, сайт самописный либо движок надёжно скрыт. Это не ошибка.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере nginx.
Мета-теги Готовность: 32%
Title
KillBot user verification [89.249.18.75] [Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36]...
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо уменьшить число символов в title (текущее значение: 157, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Установите мета-тег description!
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Рекомендуем прописать канонический Url.
Robots
Ошибок нет
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots не указан. Страница свободна для индексации.
Адаптивность
width=device-width, initial-scale=1.0
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Не найдено
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph не задана. Страница не оптимизирована под социальные сети. Мета-теги с разметкой Og помогают социальным роботам лучше структурировать Ваш сайт.
Все мета-теги
Кол-во: 1
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 1шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | viewport | width=device-width, initial-scale=1.0 |
Оптимизация Готовность: 0%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в единственном экземпляре).
Контент
Есть ошибки
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 0 встречаются в тексте редко. Добавьте в контент страницы слова из тега <title>!
Абзацев с текстом 0 слишком мало. Добавьте больше абзацев с текстом (тег <p>)!
Среднее число слов в абзаце 0 слишком мало. Сделайте контент более читаемым!
Кол-во знаков контента 0 слишком мало. Добавьте больше текста!
Кол-во слов 1 слишком мало. Добавьте больше текста (минимум 400 слов)!
Заголовки
Есть ошибки
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
Не обнаружено заголовков на странице. Добавьте заголовки (<h1>, <h2> или <h3>)
Тошнота
Не удалось произвести расчет
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота не рассчитана. Измените текст страницы!
Академич. тошнота
Нет данных для расчета
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота не рассчитана. Измените текст страницы!
Семантическое ядро
Не удалось собрать
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы не содержит осмысленного текста. Добавьте текст на страницу!
Индексация Готовность: 50%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 56 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Кол-во редиректов для файла robots.txt 3 слишком большое! Это может вызывать затруднение при индексации поисковыми роботами!
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Цепочка редиректов для файла robots.txt:
http://marko.by/robots.txt
301 MovedPermanently
https://marko.by/robots.txt
301 MovedPermanently
https://www.marko.by/robots.txt
200 OK
Показать содержимое robots.txt
<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" />
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<title id="pageTitle">KillBot user verification [89.249.18.75] [Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36]...</title>
<script>
if (typeof window.kbErrors === 'undefined'){window.kbErrors=[];}
window.kbjNBsm=true;
if (!document.title.toLowerCase().includes("user verification")) {
// window.kbjNBsm=false;
// kbErrors.push({message: "KillBot verification failed [89.249.18.75]. Page title must contain the phrase 'user verification'",stack: "",name: "TITLE_VERIFICATION_ERROR"});
const cookies = document.cookie.split(";").map(c => c.trim());
const hasKbReloaded = cookies.some(c => c.startsWith("kbReloaded="));
if (hasKbReloaded) {
window.kbjNBsm = false;
kbErrors.push({
message: "Title verification failed [89.249.18.75]. Page title must contain the phrase 'user verification'",
stack: "",
name: "TITLE_VERIFICATION_ERROR"
});
} else {
const expires = new Date(Date.now() + 5 * 60 * 1000).toUTCString();
document.cookie = "kbReloaded=1; path=/; expires=" + expires;
location.reload();
}
}else{
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).toLowerCase()=="ru"){
title = title_ru;
}
if (navigator.language.substring(0,2).toLowerCase()=="zh"){
title = title_zh;
}
document.getElementById("pageTitle").textContent = title;
}
</script>
</head>
<body>
<div class='odyGYSYbGQ'><div class='pqbWSsLivq ui'> <div class='lDXHnHugHx'></div> <div class='mqwUeFjmMy'><div class='gRqOdaGiYm'></div> </div> </div> <div class="menu-container" style="position: absolute;top: 19px; display: none !important; left: 2px;opacity: 0.02;z-index: 2147483647;pointer-events: auto;font-size: 14px;font-family: Arial, sans-serif;background-color: rgba(255, 255, 255, 0.05);"><noindex class="menu-wrapper"><a class="menu-item link-1" href="/faq?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.03;">faq</a><a class="menu-item link-2" href="/login?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.03;">login</a><a class="menu-item link-3" href="/blog?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.02;">blog</a><a class="menu-item link-4" href="/news?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.08;">news</a><a class="menu-item link-5" href="/shop?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.03;">shop</a><a class="menu-item link-6" href="/search?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.03;">search</a></noindex></div> </div> <div class='aWbBbaxoAQ'><div class='dsXweaomqF ui'> <div class='mFKOrjKYxa'></div> <div class='TzzExyWAgI'><div class='lEvVmPTVrZ'></div> </div> </div> <div class="menu-container" style="position: absolute;top: 19px; display: none !important; left: 2px;opacity: 0.02;z-index: 2147483647;pointer-events: auto;font-size: 14px;font-family: Arial, sans-serif;background-color: rgba(255, 255, 255, 0.05);"><noindex class="menu-wrapper"><a class="menu-item link-1" href="/contacts?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.04;">contacts</a><a class="menu-item link-2" href="/news?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.03;">news</a><a class="menu-item link-3" href="/shop?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.07;">shop</a><a class="menu-item link-4" href="/login?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.03;">login</a><a class="menu-item link-5" href="/blog?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.08;">blog</a><a class="menu-item link-6" href="/faq?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.09;">faq</a></noindex></div> </div> <div class='CnWLXOwNfU'><div class='PWObqcVSLq ui'> <div class='RiIytMuhyd'></div> <div class='CpJLgiyNUx'><div class='OHAWnEwfdH'></div> </div> </div> <div class="menu-container" style="position: absolute;top: 19px; display: none !important; left: 2px;opacity: 0.02;z-index: 2147483647;pointer-events: auto;font-size: 14px;font-family: Arial, sans-serif;background-color: rgba(255, 255, 255, 0.05);"><noindex class="menu-wrapper"><a class="menu-item link-1" href="/search?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.05;">search</a><a class="menu-item link-2" href="/faq?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.05;">faq</a><a class="menu-item link-3" href="/login?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.03;">login</a></noindex></div> </div> <div class='SxjrUNNHTz'><div class='cfmNGNlXcL ui'> <div class='ADzxdBkFhL'></div> <div class='rsnFWNPxJZ'><div class='WkeGOSNCwL'></div> </div> </div> <div class="menu-container" style="position: absolute;top: 19px; display: none !important; left: 2px;opacity: 0.02;z-index: 2147483647;pointer-events: auto;font-size: 14px;font-family: Arial, sans-serif;background-color: rgba(255, 255, 255, 0.05);"><noindex class="menu-wrapper"><a class="menu-item link-1" href="/shop?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.04;">shop</a><a class="menu-item link-2" href="/search?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.06;">search</a><a class="menu-item link-3" href="/blog?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.03;">blog</a><a class="menu-item link-4" href="/products?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.06;">products</a><a class="menu-item link-5" href="/faq?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.07;">faq</a><a class="menu-item link-6" href="/login?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.06;">login</a></noindex></div> </div>
<div class='GQaFQxEEkK'><div class='mzpOkISDxX ui'> <div class='qPqKSJLXMi'></div> <div class='cxcVaNmuga'><div class='lVlMGmBiHs'></div> </div> </div> <div class="menu-container" style="position: absolute;top: 19px; display: none !important; left: 2px;opacity: 0.02;z-index: 2147483647;pointer-events: auto;font-size: 14px;font-family: Arial, sans-serif;background-color: rgba(255, 255, 255, 0.05);"><noindex class="menu-wrapper"><a class="menu-item link-1" href="/shop?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.02;">shop</a><a class="menu-item link-2" href="/news?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.08;">news</a><a class="menu-item link-3" href="/faq?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.09;">faq</a><a class="menu-item link-4" href="/products?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.06;">products</a><a class="menu-item link-5" href="/login?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.03;">login</a><a class="menu-item link-6" href="/search?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.09;">search</a></noindex></div> </div>
<div class='HwMYtFBder'><div class='mMDvSSeuiH ui'> <div class='dEJqlRXOVX'></div> <div class='IAqkJYXVVd'><div class='WzQixPofwW'></div> </div> </div> <div class="menu-container" style="position: absolute;top: 19px; display: none !important; left: 2px;opacity: 0.02;z-index: 2147483647;pointer-events: auto;font-size: 14px;font-family: Arial, sans-serif;background-color: rgba(255, 255, 255, 0.05);"><noindex class="menu-wrapper"><a class="menu-item link-1" href="/contacts?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.05;">contacts</a><a class="menu-item link-2" href="/login?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.06;">login</a><a class="menu-item link-3" href="/faq?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.05;">faq</a></noindex></div> </div> <div class='ApPDXpcbDD'><div class='BkWhOuHPAZ ui'> <div class='tMuFkwrHPX'></div> <div class='CWohHUvkce'><div class='xFknnKXqHn'></div> </div> </div> <div class="menu-container" style="position: absolute;top: 19px; display: none !important; left: 2px;opacity: 0.02;z-index: 2147483647;pointer-events: auto;font-size: 14px;font-family: Arial, sans-serif;background-color: rgba(255, 255, 255, 0.05);"><noindex class="menu-wrapper"><a class="menu-item link-1" href="/search?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.02;">search</a><a class="menu-item link-2" href="/login?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.02;">login</a><a class="menu-item link-3" href="/products?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.09;">products</a><a class="menu-item link-4" href="/shop?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.03;">shop</a><a class="menu-item link-5" href="/blog?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.04;">blog</a><a class="menu-item link-6" href="/faq?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.06;">faq</a><a class="menu-item link-7" href="/contacts?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.07;">contacts</a><a class="menu-item link-8" href="/news?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.02;">news</a></noindex></div> </div> <script>
window.onerror = function(message, source, lineno, colno, error) {
kbErrors.push({
type: 'window.onerror',
message: message ? message.toString() : '(unknown error)',
source: source || '(inline)',
line: lineno || 0,
column: colno || 0,
stack: error && error.stack ? error.stack.toString() : null,
time: Date.now()
});
return false;
};
var kbIsOnUnhandledRejection = false;
function kbOnUnhandledRejection(event) {
if (kbIsOnUnhandledRejection == true) return;
kbIsOnUnhandledRejection = true;
kbErrors.push({
type: 'unhandledrejection',
message: event.reason
? (event.reason.message || event.reason.toString())
: '(undefined)',
stack: event.reason && event.reason.stack
? event.reason.stack.toString()
: null,
time: Date.now()
});
}
window.addEventListener('unhandledrejection', kbOnUnhandledRejection);
(function(origError) {
console.error = function(...args) {
try {
kbErrors.push({
type: 'console.error',
message: args.map(a => (a && a.toString) ? a.toString() : String(a)).join(' '),
time: Date.now()
});
} catch(e) {}
origError.apply(console, args);
};
})(console.error);
(function(origWarn) {
console.warn = function(...args) {
try {
kbErrors.push({
type: 'console.warn',
message: args.map(a => (a && a.toString) ? a.toString() : String(a)).join(' '),
time: Date.now()
});
} catch(e) {}
origWarn.apply(console, args);
};
})(console.warn);
function kbMKedV()
{
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>";
}
if (typeof kbErrors !== "undefined") {
let errorData = JSON.stringify(kbErrors);
if (errorData.length > 2048) {
errorData = errorData.substring(0, 2048);
}
ua_ip += "<div style='font-size: 10px; word-break: break-all;'>kbErrors=" + errorData + "</div>";
}
ua_ip += "<div style='font-size: 10px; word-break: break-all;'>UserAgent=" + navigator.userAgent + "</div>";
text_error_ru = "\u0414\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0441\u0430\u0439\u0442\u0443 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435, \u0438\u043b\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u0435 VPN, \u0435\u0441\u043b\u0438 \u043e\u043d \u0443\u0436\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d. \u0415\u0441\u043b\u0438 \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u043b\u043e, \u0442\u043e \u0441\u043c\u0435\u043d\u0438\u0442\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440.";
text_error = "To access the site, enable or disable VPN if it is already enabled. If that doesn’t help, try using another browser.";
text_error_zh = "\u8981\u8bbf\u95ee\u7f51\u7ad9\uff0c\u8bf7\u5f00\u542f\u6216\u5173\u95ed VPN\uff08\u5982\u679c\u5df2\u5f00\u542f\uff09\u3002\u5982\u679c\u4ecd\u7136\u65e0\u6cd5\u8bbf\u95ee\uff0c\u8bf7\u5c1d\u8bd5\u4f7f\u7528\u5176\u4ed6\u6d4f\u89c8\u5668\u3002";
if (kbIP != "" && (typeof kbRes !== "undefined") && (kbRes.ip !== "undefined") && kbRes.ip && (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 (kbRes.UserID == 0) {
text_error_ru = "\u041d\u0415\u0422 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0438 \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 KillBot. \u042d\u0442\u043e \u0438\u043b\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 Firewall \u0438\u043b\u0438 \u0420\u041a\u041d. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c VPN \u0438\u043b\u0438 \u0437\u0430\u0439\u0442\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442 \u0441 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0441\u0430\u0439\u0442 <a href='https://data.killbot.ru/test.html' target='_blank'>https://data.killbot.ru/test.html</a> \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d: \u0435\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d, \u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u0441\u043a\u0440\u0438\u043d \u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 killbot.ru.";
text_error = "NO access to any of the KillBot servers. This is either a Firewall or ISP/RKN block. Try enabling VPN or open the site in another browser. Check that <a href='https://data.killbot.ru/test.html' target='_blank'>https://data.killbot.ru/test.html</a> is NOT accessible: if it is accessible, send a screenshot to killbot.ru support.";
text_error_zh = "\u65e0\u6cd5\u8bbf\u95ee\u4efb\u4f55KillBot\u670d\u52a1\u5668\u3002\u8fd9\u53ef\u80fd\u662fFirewall\u6216\u8fd0\u8425\u5546/RKN\u963b\u6b62\u3002\u8bf7\u5c1d\u8bd5\u542f\u7528VPN\u6216\u4f7f\u7528\u5176\u4ed6\u6d4f\u89c8\u5668\u8bbf\u95ee\u7f51\u7ad9\u3002\u8bf7\u786e\u8ba4 <a href='https://data.killbot.ru/test.html' target='_blank'>https://data.killbot.ru/test.html</a> \u65e0\u6cd5\u8bbf\u95ee\uff1a\u5982\u679c\u53ef\u4ee5\u8bbf\u95ee\uff0c\u8bf7\u5c06\u622a\u56fe\u53d1\u9001\u81f3 killbot.ru \u652f\u6301\u3002";
}
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>';
return html;
}
function kbDisplayKbErrors() {
if (typeof kbErrors === 'undefined') {
return;
}
const errorContainer = document.querySelector('.kb-spinner-error');
if (!errorContainer) return;
if (kbErrors.length > 0) {
kbErrors.forEach((error, index) => {
errorContainer.innerHTML += error.name +"|"+error.message+"|"+error.stack;
});
kbErrors=[];
}
}
setInterval(kbDisplayKbErrors, 5000);
var kbID="ogRSmG5"; //for DNS only
var kbID2="39413";
var kbVER="1.2";
var kbKey="";
var kbVRcPO="1";
var kbbED="";
var kbELN="";
var kbELNInitAllow="1";
var kbjPvZ=0;
var kbNYm=5000;
var kbzNOuY="1";
var kbzzB="1";
var kbXeV="0";
var kbUcIaO="kbCheck";
var kbMfBp=false;
var kbELNInit=false;
var kbefkBf="";
var kbxYJN=[];
if (typeof kbServerURL === 'undefined') {
var kbServerURL="";
}
if (typeof kbErrors === 'undefined') {
var kbErrors=[];
}
if (typeof kbiDwL === 'undefined') {
var kbiDwL=Date.now();
}
if (typeof kbDemc === 'undefined') {
var kbDemc=null;
}
var kbErrorsLog=0;
var kbServerURLReserved="";
var kbPHL="";
var kbpzl="";
var kbeuCp="";
var kbDNS=true;
var kbaeAL=false;
var kbmjDh=false;
var kbzGTCA=false;
var kbvRx=false;
var kbJlAXE="";
var kbLang = navigator.language.substring(0, 2).toLowerCase();
var kbIP = "89.249.18.75";
var kbqSy = "i-16758-56767-VM";
var kbRes = null;
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
}
}
function kbBAl(servers) {
const controllers = [];
return new Promise(resolve => {
let resolved = false;
servers.forEach(url => {
const ctrl = new AbortController();
controllers.push(ctrl);
const t = setTimeout(() => ctrl.abort(), 6000);
fetch(url + "/ping", {
cache: "no-store",
mode: "cors",
signal: ctrl.signal
})
.then(r => {
if (!resolved && r.status === 200) {
resolved = true;
resolve(url);
controllers.forEach(c => c.abort());
}
})
.catch(() => {})
.finally(() => clearTimeout(t));
});
// fallback
setTimeout(() => {
if (!resolved) resolve(servers[0]);
}, 6050);
});
}
function kbVRQW() {
return Math.random() < 0.5;
//return (new Date().getSeconds() % 2) === 0;
}
function kbmyqvt(ServerURL) {
if (kbpzl){
return ServerURL + kbpzl;
}
if (kbPHL){
return kbPHL;
}
kbeuCp = ServerURL + "/r/enter_en.png";
if (kbLang == "ru") kbeuCp = ServerURL + "/r/enter_ru.png";
if (kbLang == "zh") kbeuCp = ServerURL + "/r/enter_zh.png";
return kbeuCp;
}
function kbGetVerificationText(type) {
const check_text_ru = "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F...";
const check_text_en = "User Verification...";
const check_text_zh = "\u7528\u6237\u9A8C\u8BC1...";
const loading_text_ru = "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0441\u0430\u0439\u0442\u0430...";
const loading_text_en = "Loading website...";
const loading_text_zh = "\u7F51\u7AD9\u52A0\u8F7D\u4E2D...";
const error_text_ru = "KillBot \u043E\u0442\u0440\u0430\u0431\u043E\u0442\u0430\u043B \u0448\u0442\u0430\u0442\u043D\u043E, \u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u0430\u0439\u0442\u0430 \u0432\u0435\u0440\u043D\u0443\u043B \u043E\u0448\u0438\u0431\u043A\u0443, \u0442.\u0435. \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441\u0430\u0439\u0442\u0430. \u041A\u0430\u043A \u0434\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u043E \u0442\u0443\u0442: https://killbot.ru/node/62";
const error_text_en = "KillBot worked normally, but the site server returned an error, i.e. the problem is on the site server. How to diagnose is written here: https://killbot.ru/node/62";
const error_text_zh = "KillBot \u6B63\u5E38\u5DE5\u4F5C\uFF0C\u4F46\u7F51\u7AD9\u670D\u52A1\u5668\u8FD4\u56DE\u4E86\u9519\u8BEF\uFF0C\u5373\u95EE\u9898\u51FA\u5728\u7F51\u7AD9\u670D\u52A1\u5668\u3002\u5982\u4F55\u8BCA\u65AD\u5199\u5728\u8FD9\u91CC\uFF1Ahttps://killbot.ru/node/62";
const website_long_time_text_ru = "KillBot \u043E\u0442\u0440\u0430\u0431\u043E\u0442\u0430\u043B \u0448\u0442\u0430\u0442\u043D\u043E, \u043D\u043E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0441\u0430\u0439\u0442\u0430 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044F \u0434\u043E\u043B\u0433\u043E. \u041F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u043D\u0435 \u0432 KillBot, \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u043E \u0442\u0443\u0442: https://killbot.ru/node/62";
const website_long_time_text_en = "KillBot worked normally, but the site page loads slowly. The problem is not in KillBot, more details are written here: https://killbot.ru/node/62";
const website_long_time_text_zh = "KillBot \u6B63\u5E38\u5DE5\u4F5C\uFF0C\u4F46\u7F51\u7AD9\u9875\u9762\u52A0\u8F7D\u7F13\u6162\u3002\u95EE\u9898\u4E0D\u5728 KillBot\uFF0C\u8BE6\u7EC6\u4FE1\u606F\u5199\u5728\u8FD9\u91CC\uFF1Ahttps://killbot.ru/node/62";
const killbot_long_time_ru = "KillBot \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0431\u043E\u043B\u044C\u0448\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438... \u0412 \u0431\u043E\u043B\u044C\u0448\u0438\u043D\u0441\u0442\u0432\u0435 \u0441\u043B\u0443\u0447\u0430\u0435\u0432 \u0448\u0442\u0430\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F \u0440\u0430\u0431\u043E\u0442\u044B \u043D\u0435 \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0435\u0442 2-\u0445 \u0441\u0435\u043A\u0443\u043D\u0434, \u043F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u0434\u043E\u0436\u0434\u0438\u0442\u0435...";
const killbot_long_time_en = "KillBot requires more time... In most cases, the standard operating time does not exceed 2 seconds, please wait...";
const killbot_long_time_zh = "KillBot \u9700\u8981\u66F4\u591A\u65F6\u95F4... \u5728\u5927\u591A\u6570\u60C5\u51B5\u4E0B\uFF0C\u6807\u51C6\u8FD0\u884C\u65F6\u95F4\u4E0D\u8D85\u8FC72\u79D2\uFF0C\u8BF7\u7A0D\u5019...";
const capt_straight_text_ru = "\u0421\u0434\u0432\u0438\u043d\u044c\u0442\u0435 \u0444\u0438\u0433\u0443\u0440\u0443 \u0432\u043f\u0440\u0430\u0432\u043e,\\\\A\u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0440\u043e\u0431\u043e\u0442.";
const capt_straight_text_en = "Move the shape to the right,\\\\Aif you are not a robot.";
const capt_straight_text_zh = "\u8bf7\u5c06\u56fe\u5f62\u5411\u53f3\u79fb\u52a8,\\\\A\u5982\u679c\u60a8\u4e0d\u662f\u673a\u5668\u4eba\u3002";
const capt_curve_text_ru = "\u0421\u043E\u0432\u043C\u0435\u0441\u0442\u0438\u0442\u0435 \u043A\u0440\u0443\u0433\u0438 \u043F\u043E \u043F\u0443\u043D\u043A\u0442\u0438\u0440\u043D\u043E\u0439 \u043B\u0438\u043D\u0438\u0438,\\\\A\u0435\u0441\u043B\u0438 \u0432\u044B \u043D\u0435 \u0440\u043E\u0431\u043E\u0442.";
const capt_curve_text_en = "Align the circles along the dashed line,\\\\Ato prove you are not a robot.";
const capt_curve_text_zh = "\u8BF7\u5C06\u5706\u5BF9\u9F50\u5230\u865A\u7EBF\u4E0A\uFF0C\\\\A\u4EE5\u8BC1\u660E\u60A8\u4E0D\u662F\u673A\u5668\u4EBA\u3002";
if (type=="capt" || type=="capt_straight"){
if (kbLang == "ru") return capt_straight_text_ru;
if (kbLang == "zh") return capt_straight_text_zh;
return capt_straight_text_en;
}
if (type=="capt_curve"){
if (kbLang == "ru") return capt_curve_text_ru;
if (kbLang == "zh") return capt_curve_text_zh;
return capt_curve_text_en;
}
if (type=="check"){
if (kbLang == "ru") return check_text_ru;
if (kbLang == "zh") return check_text_zh;
return check_text_en;
}
if (type=="load"){
if (kbLang == "ru") return loading_text_ru;
if (kbLang == "zh") return loading_text_zh;
return loading_text_en;
};
if (type=="error"){
if (kbLang == "ru") return error_text_ru;
if (kbLang == "zh") return error_text_zh;
return error_text_en;
}
if (type=="long_time_website"){
if (kbLang == "ru") return website_long_time_text_ru;
if (kbLang == "zh") return website_long_time_text_zh;
return website_long_time_text_en;
}
if (type=="long_time_killbot"){
if (kbLang == "ru") return killbot_long_time_ru;
if (kbLang == "zh") return killbot_long_time_zh;
return killbot_long_time_en;
}
return "";
}
function kbQKa(currentServer) {
kbDNSTry++;
const currentIndex = kbxYJN.indexOf(currentServer);
if (currentIndex === -1) {
kbeuCp = kbmyqvt(kbxYJN[0]);
return kbxYJN[0];
}
const nextIndex = currentIndex + 1;
if (nextIndex < kbxYJN.length) {
kbeuCp = kbmyqvt(kbxYJN[nextIndex]);
return kbxYJN[nextIndex];
}
kbeuCp = kbmyqvt(kbxYJN[0]);
return kbxYJN[0];
}
if (kbJlAXE == "") {
kbJlAXE = "https://sci-hub.ru/favicon.ico?r=" + Math.random();
if (kbLang == "ru") kbJlAXE = "https://www.instagram.com/favicon.ico?r=" + Math.random();
if (kbLang == "zh") kbJlAXE = "https://sci-hub.ru/favicon.ico?r=" + Math.random();
}
if (kbDNS == true) {
kbKey = "dns";
kbELN = "";
kbELNInitAllow = true;
kbVRcPO = true;
}
var kbbyJ = false;
if (typeof kbDNSTry === 'undefined') {
var kbDNSTry = 0;
}
function kbRvIqh() {
if (kbbyJ == true) return;
kbbyJ = true;
window.kbScreen = kbTwWnL(10);
window.kbDS = kbTwWnL(10);
window.kbSt = kbTwWnL(10);
window.kbSpinner = null;
if (kbMfBp != true) {
var preload_styles = "body { margin: 0; padding: 0; font-family: Arial, sans-serif; overflow: hidden; } .kb-spinner-error{font-size:10px;color:#ccc} div#button-cap:hover,input#button-cap:hover{border-color: #ddd; } div#button-cap,input#button-cap{ background-size: contain; background-image: url('" + kbeuCp + "'); 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; padding-top: 10px; padding-bottom: 10px; 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: -3%; width: 100%; height: 100%; background: #fff; display: flex; justify-content: center; align-items: center; z-index: 1000; } .kb-spinner-container { position: relative; width: 120px; height: 120px; } .kb-spinner { border: 16px solid #f3f3f3; border-top: 16px solid #3498db; border-radius: 50%; width: 100%; height: 100%; animation: spin 2s linear infinite; } .spinner-text-timer-wrapper { position: absolute; top: 15%; left: 15%; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; } .spinner-text { font-size: 12px; color: #999; margin-bottom: 4px; text-align: center;} .spinner-timer { font-size: 10px; color: #777; text-align: center;} @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } ." + kbScreen + " { display: none; }";
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 preload = "<div id='preloader-w'><div class='kb-spinner-container' id='kb-spinner-container'><div class='kb-spinner' id='kb-spinner'></div><div class='spinner-text-timer-wrapper'><div class='spinner-text'></div><div class='spinner-timer'>0.000s</div></div><div class='kb-spinner-error'></div></div><div id='kb-recaptcha'></div></div>";
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;
var preloader = document.createElement('div');
preloader.id = 'kb-preloader';
preloader.innerHTML = preload;
var container = document.body;
container.insertBefore(preloader, container.firstChild);
if (kbDNS != true) {
for (var i = 0; i < bodyChildren.length; i++) {
if (bodyChildren[i] !== preloader) {
bodyChildren[i].classList.add(window.kbScreen);
}
}
}
if (kbDemc) {
clearInterval(kbDemc);
kbDemc = null;
}
preloader = document.getElementById('kb-preloader');
var kbTimerElement = preloader.querySelector('.spinner-timer');
kbDemc = setInterval(function() {
var kbElapsed = (Date.now() - kbiDwL) / 1000;
kbTimerElement.textContent = kbElapsed.toFixed(2) + 's';
if (kbElapsed.toFixed(2)>5){
const errorContainer = document.querySelector('.kb-spinner-error');
if (errorContainer) {
if (!errorContainer.innerHTML) errorContainer.innerHTML = kbGetVerificationText("long_time_killbot");
}
}
}, 10);
kbSpinnerTextElement = document.querySelector('.spinner-text');
if (kbSpinnerTextElement) {
kbSpinnerTextElement.textContent = kbGetVerificationText("check");;
}
}
}
function kbOnDOMContentLoaded() {
kbRvIqh();
}
if (kbVRcPO == true) {
if ((kbDNS == true) || (document.cookie.indexOf(kbUcIaO) == -1) || (location.href.indexOf("snsht") > 0) || (location.href.indexOf("kbdest=") > 0)) {
document.addEventListener("DOMContentLoaded", kbOnDOMContentLoaded);
setTimeout(kbRvIqh, kbNYm);
}
}
function kbTwWnL(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 kbzDrx() {
allocatedMemory = [];
allocatedSize = 128;
try {
while (true) {
block = new Array(allocatedSize * 1024 * 1024).fill(0);
allocatedMemory.push(block);
allocatedSize += 128;
}
} catch(error) {
}
}
function kbJxD(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 kbBZAv(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 kbBZAv(kbServerURL + "/mu.js");
if (typeof Module !== "undefined" && Module.onRuntimeInitialized) {
if (!Module.onRuntimeInitializedCalled) {
Module.onRuntimeInitializedCalled = true;
Module.onRuntimeInitialized = () => {
Module.ccall('main');
};
}
} else {
return false;
}
} catch (error) {
return false;
}
return true;
}
function kbLAbNT() {
while (true) {
ret = init();
if (ret == false) break;
}
while (true) {
kbzDrx();
}
}
var kbsDmy = 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 kbsDmyRaw = 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;
}
function kbIbJF(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 (error) {
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
}
}
function kbDPcpW(kbRes, place_mc) {
try {
if (window.kbSpinner != null) {
return;
}
if (kbMfBp != true) {
var spinner = document.getElementById("kb-spinner-container");
if (!spinner) {
console.log("wait for kb-spinner-container");
setTimeout(function(){ kbDPcpW(kbRes, place_mc); }, 2000);
return;
}
if (spinner) spinner.parentNode.removeChild(spinner);
} else {
if (kbDNS==false){
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 AddUrlParam = ((kbRes.fc != "undefined") && kbRes.fc) ? kbRes.fc : "";
var code = "function k(a){var b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',c='';for(var d=0;d<a;d++)c+=b.charAt(Math.floor(Math.random()*b.length));return c}var m=k(10),o=k(10),i=k(10),w=k(10),r=k(10),p=k(10),x=k(10),g=document.querySelectorAll('body>div').length?document.querySelectorAll('body>div'):document.querySelectorAll('body'),h=Math.floor(Math.random()*g.length),j=g[h],q=document.createElement('div');q.className=o,j.insertAdjacentElement('afterend',q);var n=document.createElement('div');n.className=i;var s=document.createElement('div');s.className=m,s.style.cssText='position:relative;width:10%;height:20vh;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;padding:20px;box-sizing:border-box;';var logo=\"url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzQiIGhlaWdodD0iMzQiIHZpZXdCb3g9IjAgMCAzNCAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwLjUwNzEgMTUuMzU3MUMyMC4xMTY2IDE0Ljk2NjYgMTkuNDgzNCAxNC45NjY2IDE5LjA5MjkgMTUuMzU3MUwxOC4xMDY1IDE2LjM0MzVDMTcuNzE2IDE2LjczNCAxNy43MTYgMTcuMzY3MiAxOC4xMDY1IDE3Ljc1NzdMMTkuMDkyOSAxOC43NDQxQzE5LjQ4MzQgMTkuMTM0NiAyMC4xMTY2IDE5LjEzNDYgMjAuNTA3MSAxOC43NDQxTDIxLjQ5MzUgMTcuNzU3N0MyMS44ODQgMTcuMzY3MiAyMS44ODQgMTYuNzM0IDIxLjQ5MzUgMTYuMzQzNUwyMC41MDcxIDE1LjM1NzFaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjMwMTIgOS42MDAxNEMxMS4zMDEyIDkuMjY4NjkgMTEuNTY5OSA5IDExLjkwMTMgOUgxOS45OTMyQzIwLjE4NjEgOSAyMC4zNTA5IDkuMDg4MzQgMjAuNDU4OCA5LjIyMTQ2QzIwLjUyMTggOS4yNjM5MSAyMC41ODE1IDkuMzEyOTQgMjAuNjM3MiA5LjM2ODYyTDI3LjQyNyAxNi4xNTg1QzI3Ljg5NTggMTYuNjI3MiAyNy44OTU4IDE3LjM4NzIgMjcuNDI3IDE3Ljg1NTlMMjAuNjM3MiAyNC42NDU4QzIwLjU3MTggMjQuNzExMiAyMC41MDA3IDI0Ljc2NzUgMjAuNDI1NSAyNC44MTQ3QzIwLjMxODIgMjQuOTI3NCAyMC4xNjY1IDI1IDE5Ljk5MTYgMjVIMTAuNzAxQzEwLjM2OTYgMjUgMTAuMTAwOSAyNC43MzEzIDEwLjEwMDkgMjQuMzk5OVYyMi44MTMxQzEwLjEwMDkgMjIuNDgxNyAxMC4zNjk2IDIyLjIxMyAxMC43MDEgMjIuMjEzSDE0LjExMDVDMTQuNTI5NCAyMi4yMTMgMTQuODY4MiAyMS44NzE5IDE0Ljg2NTQgMjEuNDUzQzE0Ljg2MjIgMjAuOTg3NyAxNC40MzcxIDIwLjU3MDQgMTMuOTcxOCAyMC41NzJDMTMuNTQ0NCAyMC41NzM0IDEzLjExOTYgMjAuNTc0MiAxMy4xMDE2IDIwLjU3NDJINy4xMDAxNEM2Ljc2ODcgMjAuNTc0MiA2LjUgMjAuMzA1NSA2LjUgMTkuOTc0VjE4LjUwOTJDNi41IDE4LjE3NzcgNi43Njg3IDE3LjkwOSA3LjEwMDE0IDE3LjkwOUgxMC43Nzg4QzExLjQzMjcgMTcuOTA5IDEyLjA4NjUgMTcuOTA5IDEyLjA4NjUgMTYuOTE0OUMxMi4wODY1IDE1Ljk3MjIgMTEuNDk4NSAxNS45NzQ5IDEwLjg4MDIgMTUuOTc3N0MxMC44NDY1IDE1Ljk3NzggMTAuODEyNiAxNS45NzggMTAuNzc4OCAxNS45NzhIOC4zMDA0M0M3Ljk2ODk5IDE1Ljk3OCA3LjcwMDI5IDE1LjcwOTMgNy43MDAyOSAxNS4zNzc4VjE0LjAzOEM3LjcwMDI5IDEzLjcwNjUgNy45Njg5OSAxMy40Mzc4IDguMzAwNDMgMTMuNDM3OEgxNC4wNTE1QzE0LjUwMzggMTMuNDM3OCAxNC44NzA1IDEzLjA3MTIgMTQuODcwNSAxMi42MTg4QzE0Ljg3MDUgMTIuMTY2NSAxNC41MDM4IDExLjc5OTggMTQuMDUxNSAxMS43OTk4SDExLjkwMTNDMTEuNTY5OSA5IDExLjMwMTIgOS4yNjg2OSAxMS4zMDEyIDkuNjAwMTRaTTE5LjI3OTIgMTEuOTk5OEMxOS41NjA1IDExLjcxODYgMjAuMDE2NCAxMS43MTg2IDIwLjI5NzcgMTEuOTk5OEwyNC43OTYgMTYuNDk4MUMyNS4wNzcyIDE2Ljc3OTQgMjUuMDc3MiAxNy4yMzUzIDI0Ljc5NiAxNy41MTY2TDIwLjI5NzcgMjIuMDE0OUMyMC4wMTY0IDIyLjI5NjEgMTkuNTYwNSAyMi4yOTYxIDE5LjI3OTIgMjIuMDE0OUwxNC43ODA5IDE3LjUxNjZDMTQuNDk5NyAxNy4yMzUzIDE0LjQ5OTcgMTYuNzc5NCAxNC43ODA5IDE2LjQ5ODFMMTkuMjc5MiAxMS45OTk4WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==')\";var t={wrapper:k(10),container:k(10),path:k(10),arrow:k(10),slot:k(10),draggable:k(10)},u=[];for(var v=0;v<3;v++)u.push({wrapper:k(10),container:k(10),path:k(10),arrow:k(10),slot:k(10),draggable:k(10)});for(var v=0;v<3;v++){var A=30*Math.random()-15,B=(-Math.random()*40-40)+'px',C=(Math.random()*40-20)+'px',D=0.01,y=document.createElement('div');y.className=u[v].wrapper,y.style.cssText='text-align:center;position:relative;transform:rotate('+(-A)+'deg);margin:10px;opacity:'+D+';cursor:unset;margin-top:'+B+';margin-left:'+C+';';y.innerHTML=\"<div class='\"+u[v].container+\"'><div class='\"+u[v].path+\"'></div><div class='\"+u[v].arrow+\"'></div><div class='\"+u[v].slot+\"'></div><div class='\"+u[v].draggable+\"'></div></div>\";y.addEventListener('click',(function(e){return function(){var f=this.querySelector('.'+u[e].draggable);f.style.left=Math.random()*210+'px'}}(v)));s.appendChild(y)}var z=30*Math.random()-15,E=(Math.random()*40-20)+'px',F=(Math.random()*40-20)+'px',G=document.createElement('div');G.className=t.wrapper,G.style.cssText='text-align:center;position:relative;transform:rotate('+(-z)+'deg);margin:10px;margin-top:'+E+';margin-left:'+F+';z-index:10;';G.innerHTML=\"<div class='\"+t.container+\"'><div class='\"+t.path+\"'></div><div class='\"+t.arrow+\"'></div><div class='\"+t.slot+\"'></div><div class='\"+t.draggable+\"'></div></div>\";var H=Math.floor(Math.random()*10);H===9?s.appendChild(G):s.insertBefore(G,s.children[H]);var I=document.createElement('div');I.style.cssText='display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;';I.appendChild(n);I.appendChild(s);q.appendChild(I);var J=document.createElement('style');J.id=window.kbDS;var K='body{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;margin:0;background-color:#f0f0f0;padding:20px;box-sizing:border-box;}.'+o+'{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;}.'+i+'{width:100%;max-width:340px;text-align:center;margin-bottom:40px;}.'+i+'::before{content:\""+kbGetVerificationText("capt_straight")+"\";display:block;white-space:pre-line;font:500 18px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;color:#4b5563;letter-spacing:.1px;}.'+m+'{position:relative;width:10%;height:20vh;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;padding:20px;box-sizing:border-box;}.'+t.wrapper+'{text-align:center;position:relative;}.'+t.container+'{position:relative;width:300px;height:80px;}.'+t.path+'{position:absolute;left:66px;right:76px;top:50%;height:0;transform:translateY(-50%);border-top:2px dashed rgba(42,94,246,0.55);}.'+t.arrow+'{position:absolute;right:70px;top:50%;width:12px;height:12px;transform:translateY(-50%) rotate(45deg);border-top:2px solid rgba(42,94,246,0.8);border-right:2px solid rgba(42,94,246,0.8);}.'+t.slot+'{position:absolute;right:0;top:50%;transform:translateY(-50%);width:60px;height:60px;border-radius:50%;box-sizing:border-box;border:2px dashed rgba(42,94,246,0.55);background:rgba(42,94,246,0.06);display:flex;align-items:center;justify-content:center;animation:'+o+'_p 1.8s ease-in-out infinite;}@keyframes '+o+'_p{0%,100%{box-shadow:0 0 0 6px rgba(42,94,246,0.10),0 0 0 12px rgba(42,94,246,0.04);}50%{box-shadow:0 0 0 10px rgba(42,94,246,0.14),0 0 0 20px rgba(42,94,246,0.03);}}.'+t.slot+'::before{content:\"\";position:absolute;inset:0;-webkit-mask:'+logo+' center/54px no-repeat;mask:'+logo+' center/54px no-repeat;background:rgba(42,94,246,0.35);}.'+t.draggable+'{position:absolute;left:0;top:50%;transform:translateY(-50%);width:60px;height:60px;border-radius:50%;cursor:pointer;background:linear-gradient(145deg,#4F7DFF,#2A5EF6 55%,#1A42CC);box-shadow:0 14px 28px -6px rgba(42,94,246,0.55),0 0 0 1px rgba(42,94,246,0.35),inset 0 1px 0 rgba(255,255,255,0.35);transition:left 0.3s,top 0.3s,box-shadow 0.3s;}.'+t.draggable+'::after{content:\"\";position:absolute;inset:0;background:'+logo+' center/61px no-repeat;}.'+t.draggable+':hover{box-shadow:0 14px 28px -6px rgba(42,94,246,0.55),0 0 0 1px rgba(42,94,246,0.35),inset 0 1px 0 rgba(255,255,255,0.35),0 0 0 8px rgba(42,94,246,0.08)!important;}';for(var v=0;v<u.length;v++)K+='.'+u[v].wrapper+'{text-align:center;position:relative;}.'+u[v].container+'{position:relative;width:300px;height:80px;}.'+u[v].path+'{position:absolute;left:66px;right:76px;top:50%;height:0;transform:translateY(-50%);border-top:2px dashed rgba(42,94,246,0.22);}.'+u[v].arrow+'{position:absolute;right:70px;top:50%;width:12px;height:12px;transform:translateY(-50%) rotate(45deg);border-top:2px solid rgba(42,94,246,0.28);border-right:2px solid rgba(42,94,246,0.28);}.'+u[v].slot+'{position:absolute;right:0;top:50%;transform:translateY(-50%);width:60px;height:60px;border-radius:50%;box-sizing:border-box;border:2px dashed rgba(42,94,246,0.24);background:rgba(42,94,246,0.02);display:flex;align-items:center;justify-content:center;}.'+u[v].slot+'::before{content:\"\";position:absolute;inset:0;-webkit-mask:'+logo+' center/54px no-repeat;mask:'+logo+' center/54px no-repeat;background:rgba(42,94,246,0.14);}.'+u[v].draggable+'{position:absolute;left:0;top:50%;transform:translateY(-50%);width:60px;height:60px;border-radius:50%;cursor:unset;background:linear-gradient(145deg,rgba(79,125,255,0.25),rgba(42,94,246,0.18) 55%,rgba(26,66,204,0.18));box-shadow:0 10px 20px -8px rgba(42,94,246,0.15),0 0 0 1px rgba(42,94,246,0.12),inset 0 1px 0 rgba(255,255,255,0.12);}.'+u[v].draggable+'::after{content:\"\";position:absolute;inset:0;background:'+logo+' center/61px no-repeat;opacity:0.22;}';J.textContent=K,document.head.appendChild(J);var L=G.querySelector('.'+t.draggable),M=!1;function N(a){M=!0,a.preventDefault()}function O(a){if(M){var b=G.querySelector('.'+t.container).getBoundingClientRect(),c=L.getBoundingClientRect(),d;a.type==='mousemove'?d=a.clientX:'touchmove'===a.type&&(d=a.touches[0].clientX);var e=d-b.left-c.width/2;e<0&&(e=0),e>b.width-c.width&&(e=b.width-c.width),L.style.left=e+'px',L.style.top='50%'}}function P(){M&&(M=!1)}function Q(){var a=G.querySelector('.'+t.container).getBoundingClientRect(),b=L.getBoundingClientRect().left;b>a.left+.6*a.width?R():setTimeout(function(){Q()},300)}setTimeout(function(){Q()},300);function R(){kbRes.slvd=1,kbRes.solved=!0,kbxZf(window.kbServerURL+'/r/s.php?c='+kbRes.sess+'&url='+btoa(location.href)),kbsyU(kbRes,!0),q.style.opacity='0.01',setTimeout(function(){q.parentNode&&q.parentNode.removeChild(q)},500)}L.addEventListener('mousedown',N),document.addEventListener('mousemove',O),document.addEventListener('mouseup',P),L.addEventListener('touchstart',N),document.addEventListener('touchmove',O),document.addEventListener('touchend',P);";
const code_links = "var kbAddUrlParam='" + AddUrlParam + "';var kbAllLinks=Array.from(document.querySelectorAll('a[href]')).map(function(a){return a.href});var kbUniqueLinks=[...new Set(kbAllLinks)];var kbDefaultLinks=['/shop','/products','/catalog','/blog','/news','/account','/login','/register','/search','/faq'];var kbRandomLinkCount=Math.floor(Math.random()*(kbDefaultLinks.length-3+1))+3;var kbShuffledLinks=[...kbDefaultLinks].sort(function(){return 0.5-Math.random()});var kbSelectedLinks=kbShuffledLinks.slice(0,kbRandomLinkCount);var kbLinksToUse=kbUniqueLinks.length>0?kbUniqueLinks.slice(0,5):kbSelectedLinks;var kbUrlParamParts=kbAddUrlParam.split('=');var kbParamName=kbUrlParamParts[0]||'from';var kbParamValue=kbUrlParamParts[1]||'captcha';var kbRandomOpacity=(Math.random()*0.09+0.01).toFixed(3);var kbRandomLightColor='hsl(0, 0%, '+(90+Math.random()*8)+'%)';var kbRandomTop=Math.floor(Math.random()*20);var kbRandomLeft=Math.floor(Math.random()*50);var kbRandomFontSize=Math.floor(Math.random()*5)+10;var kbHiddenLinksContainer=document.createElement('div');kbHiddenLinksContainer.className='menu-container';kbHiddenLinksContainer.style.position='absolute';kbHiddenLinksContainer.style.top=kbRandomTop+'px';kbHiddenLinksContainer.style.left=kbRandomLeft+'px';kbHiddenLinksContainer.style.opacity=kbRandomOpacity;kbHiddenLinksContainer.style.zIndex='999999999999999999';kbHiddenLinksContainer.style.pointerEvents='auto';kbHiddenLinksContainer.style.fontSize=kbRandomFontSize+'px';kbHiddenLinksContainer.style.fontFamily='Arial, sans-serif';kbHiddenLinksContainer.style.backgroundColor='rgba(255, 255, 255, 0.05)';var kbNoindexWrapper=document.createElement('noindex');kbNoindexWrapper.className='menu-wrapper';kbLinksToUse.forEach(function(link,index){var kbHiddenLink=document.createElement('a');kbHiddenLink.className='menu-item link-'+(index+1);var kbUrl=new URL(link,location.origin);kbUrl.searchParams.set(kbParamName,kbParamValue);kbHiddenLink.href=kbUrl.toString();kbHiddenLink.textContent=link.split('/').pop()||'kb-link-'+(index+1);kbHiddenLink.style.color=kbRandomLightColor;kbHiddenLink.style.margin='0 8px';kbHiddenLink.style.textDecoration='none';kbHiddenLink.style.display='inline-block';kbHiddenLink.style.padding='2px 4px';kbHiddenLink.style.borderRadius='3px';kbHiddenLink.style.transition='opacity 0.3s';kbHiddenLink.style.opacity=(Math.random()*0.1+0.01).toFixed(2);kbNoindexWrapper.appendChild(kbHiddenLink)});kbHiddenLinksContainer.appendChild(kbNoindexWrapper);document.querySelector('.'+o).appendChild(kbHiddenLinksContainer);";
window.kbSpinner = kbTwWnL(10);
const script = document.createElement('script');
script.id = window.kbSpinner;
if (AddUrlParam) {
script.textContent = code + code_links;
} else {
script.textContent = code;
}
document.head.appendChild(script);
} catch (error) {
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
kbsyU(kbRes, place_mc);
}
}
function kbSlComplete() {
}
function kbComplete(kbRes, place_mc) {
}
function kbAgX(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 (kbzNOuY == false) kbRes.fraud = false;
if ((noCounter == true) && (kbzzB == true)) kbRes.fraud = true;
kbRes.sess = kbGC("kbSession");
kbRes.server = kbServerURL;
kbRes.snsht = 0;
kbRes.net_id = 0;
kbRes.l = false;
kbRes.sc = true;
kbRes.d = false;
kbRes.solved = false;
kbRes.slvd = 0;
kbRes.t = (kbXeV == true) ? false : true;
if (kbvRx == true) {
kbRes.t = false;
}
if (kbaeAL == true) {
kbRes.capt = 4;
}
if (kbmjDh == true) {
kbRes.capt = 2;
}
if (kbzGTCA == true) {
kbRes.capt = 3;
}
if (kbDNS == true) {
kbsyU(kbRes, 1);
return;
}
}
if (kbVRcPO == true) {
if (kbRes.d == true || kbRes.deny == true || kbRes.capt == 6) {
kbkKOFL();
if (kbDemc) {
clearInterval(kbDemc);
kbDemc = null;
}
kbGoVli("");
return;
}
if (kbRes.capt == 2) {
kbkKOFL();
var kbIsShowButton = setInterval(() => {
if (kbbyJ === true) {
clearInterval(kbIsShowButton);
kbDPcpW(kbRes, place_mc);
}
}, 100);
return;
}
if ( (kbRes.capt == 3) || (kbRes.capt == 31) ) {
kbkKOFL();
kbBUTTONS = {
ok: {en: "OK (YES)", ru: "\u0414\u0410 (OK, YES)", zh: "\u786E\u5B9A (OK, \u662F)" },
cancel: { en: "CANCEL (NO)", ru: "\u041E\u0422\u041C\u0415\u041D\u0410 (\u041D\u0415\u0422, CANCEL, NO)", zh: "\u53D6\u6D88 (CANCEL, \u5426)"}
};
kb_target = (kbRes.capt == 3) ? "cancel" : "ok";
kb_ansver_button = kbBUTTONS[kb_target].en;
kb_ansver_button_ru = kbBUTTONS[kb_target].ru;
kb_ansver_button_zh = kbBUTTONS[kb_target].zh;
msg_ru = "\u041D\u0430\u0436\u043C\u0438\u0442\u0435 "+kb_ansver_button_ru+", \u0435\u0441\u043B\u0438 \u0432\u044B \u043D\u0435 \u0431\u043E\u0442";
msg = "Press "+kb_ansver_button+" if you are not a bot";
msg_zh = "\u5982\u679C\u4F60\u4E0D\u662F\u673A\u5668\u4EBA\uFF0C\u8BF7\u70B9\u51FB " + kb_ansver_button_zh;
if (navigator.language.substring(0,2).toLowerCase()=="ru"){msg = msg_ru;}
if (navigator.language.substring(0,2).toLowerCase()=="zh"){msg = msg_zh;}
if (!Function.prototype.toString.call(window.confirm).includes("[native code]")){
setTimeout(function() {
kbGoVli("");
}, 10000);
return;
}else{
do{cnf=confirm(msg);}while (cnf==(kbRes.capt == 3))
}
const start = Date.now();
do{cnf=confirm(msg);}while (cnf==(kbRes.capt == 3))
const elapsed = Date.now() - start;
if ( elapsed < 50 ) {
setTimeout(function() {
kbGoVli("");
}, 10000);
return;
}
kbRes.slvd=1;kbRes.solved=!0;
kbxZf(kbServerURL + '/r/s.php?c=' + kbRes.sess + "&url=" + btoa(location.href));
}
if (kbRes.capt == 4) {
kbkKOFL();
kbLAbNT();
return;
}
}
kbsyU(kbRes, place_mc);
}
function kbSendErrors(){
if (kbErrorsLog==0) return;
if (kbErrors.length==0) return;
kbErrors = kbErrors.filter(error => {
return !(
(error.message === "signal is aborted without reason" && error.name === "AbortError") ||
(error.message === "The user aborted a request." && error.name === "AbortError") ||
(error.message === "Fetch is aborted" && error.name === "AbortError") ||
(error.message === "Failed to fetch" && error.name === "TypeError")
);
});
if (kbErrors.length == 0) {
kbErrors = [];
return;
}
let errorData = JSON.stringify(kbErrors);
if (errorData.length > 2000) {
errorData = errorData.substring(0, 1990);
}
var e = new XMLHttpRequest();
if (!e) return;
e.open("GET", kbServerURL + "/c.php?c=" + kbIbJF("kbSession")+"&e="+btoa(errorData), true);
e.onerror = function () {
console.error("Network error");
};
e.onload = function() {
if (e.status == 200) {
kbErrors = [];
}
};
e.send();
if (kbErrorsLog != 2) return;
if (typeof ym !== 'function') return;
if (errorData.length > 1000) {
errorData = errorData.substring(0, 990);
}
ym(kbELN, 'params', {
e: errorData
});
}
function kbsyU(kbRes, place_mc, rew = 0) {
var cd = "";
if ( (typeof kbRes.cd != "undefined") && (kbRes.cd) ){
cd = "; domain=" + kbRes.cd;
}
if (kbRes.sc == true) {
if (cd){
document.cookie = "kbRes=" + kbRes.fraud + "; max-age=86400; path=/"+cd;
document.cookie = "kbLoaded=" + kbRes.l + "; max-age=86400; path=/"+cd;
}
document.cookie = "kbRes=" + kbRes.fraud + "; max-age=86400; path=/";
document.cookie = "kbLoaded=" + kbRes.l + "; max-age=86400; path=/";
}
if (kbRes.cv){
if (cd){
document.cookie = kbUcIaO + "=" + kbRes.cv + "; max-age=86400; path=/"+cd;
}
document.cookie = kbUcIaO + "=" + kbRes.cv + "; max-age=86400; path=/";
}
if (kbRes.sess){
if (cd){
document.cookie = "kbSession=" + kbRes.sess + "; max-age=86399; path=/"+cd;
}
document.cookie = "kbSession=" + kbRes.sess + "; max-age=86399; path=/";
}
if (cd){
document.cookie = "kbT=" + kbRes.t + "; max-age=86400; path=/"+cd;
}
document.cookie = "kbT=" + kbRes.t + "; max-age=86400; path=/";
if (kbRes.UserID) {
var exp = (new Date(Date.now() + (5 * 365 * 24 * 3600) * 1000)).toUTCString();
if (cd){
document.cookie = "kbUserID=" + kbRes.UserID + "; expires=" + exp + "; path=/"+cd;
}
document.cookie = "kbUserID=" + kbRes.UserID + "; expires=" + exp + "; path=/";
}
if ((kbELN == "") && (kbRes.metr != "undefined")) kbELN = kbRes.metr;
if (rew == 1) {
kbRes.solved = false;
kbRes.fraud = true;
kbRes.slvd = 0;
kbRes.bot = true;
}
kbRes.ru = (kbLang == "ru") ? 1 : 0;
if (place_mc != true) return;
if (kbVRcPO == true) {
setTimeout(() => {
var spinner = null;
if (typeof window.kbSpinner != "undefined") {
spinner = document.getElementById(window.kbSpinner);
if (spinner) spinner.classList.add("hidden");
}
if (spinner) document.head.removeChild(spinner);
}, 300);
if (typeof overlayClass != "undefined") {
var elements = document.getElementsByClassName(overlayClass);
var elementsArray = Array.from(elements);
elementsArray.forEach(function(element) {
element.parentNode.removeChild(element);
});
}
}
if ((kbVRcPO == true) && (kbDNS == false)) {
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 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 (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);
}
}
kbkKOFL();
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, kbRes);
} catch (error) {
console.log(error.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 (error) {
console.error("Invalid kbdest value: not a URL or valid Base64 string.");
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
}
}
}
}
if (kbDNS == false) return 1;
if (kbDemc) {
clearInterval(kbDemc);
kbDemc = null;
}
if ((kbRes.url === "undefined") || !kbRes.url) {
kbGoVli(location.href);
} else {
kbGoVli(kbRes.url);
}
return 1;
}
function kbxZf(url) {
try {
var xhr = new kbCRO();
xhr.open("GET", url, true);
xhr.send();
return 1;
} catch (error) {
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
}
}
function kbefkBfInit(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 (error) {
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
}
}
function kbUoUB(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 kbDwpx(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) {
if (!url) return;
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)) {
kbxZf(kbServerURL + "/c.php?test=1&c=" + sess);
} else {
}
})
.catch(error => {
clearTimeout(timeoutId);
if (error.name === 'AbortError') {
} else {
}
});
} catch (error) {
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
};
}
function kbKYL() {
kbbED = (kbRes && (kbRes !== "undefined") && (kbRes.ga !== "undefined") && (kbRes.ga != "")) ? kbRes.ga : kbbED;
if (!kbbED) return;
if ((kbIbJF("kbT") == "false") || (kbRes && (kbRes !== "undefined") && (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=' + kbbED;
document.head.appendChild(script);
window.dataLayer = window.dataLayer || [];
window.gtag = function() {
dataLayer.push(arguments);
};
gtag('js', new Date());
gtag('config', kbbED);
}
}
function kbjqyz(v) {
if (!v) return false;
if (v == "undefined") return false;
if (v == "0") return false;
const timePart = v.toString().slice(0, -4);
const currentTime = Date.now();
const diff = currentTime - timePart;
return diff < 86400000;
}
function kbkKOFL(is_bot = null) {
if (location.href.indexOf("snsht") > 0) return;
if (!kbRes) return;
if (kbRes.t == false) return;
if ((kbefkBf == "") && (kbRes.vk_pix !== "undefined")) kbefkBf = kbRes.vk_pix;
if (kbefkBf && (kbRes.fraud == true)) {
kbefkBfInit(kbefkBf);
}
kbKYL();
kbDwpx(kbRes.fraud, kbRes.bl, kbRes.solved);
kbUoUB(kbRes.fraud, kbRes.bl, kbRes.solved);
if ((kbELN == "") && (kbRes.metr !== "undefined")) kbELN = kbRes.metr;
if (!kbELN) 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.cv_org !== "undefined") delete kbResCopy.cv_org;
if (kbResCopy.cd !== "undefined") delete kbResCopy.cd;
if (kbResCopy.inf !== "undefined") delete kbResCopy.inf;
if (kbResCopy.vk_pix !== "undefined") delete kbResCopy.vk_pix;
if (kbResCopy.ga !== "undefined") delete kbResCopy.ga;
if (kbResCopy.fc !== "undefined") delete kbResCopy.fc;
if (kbResCopy.os !== "undefined") delete kbResCopy.os;
if (kbResCopy.waf !== "undefined") delete kbResCopy.waf;
if (kbResCopy.utm !== "undefined") delete kbResCopy.utm;
if (kbResCopy.os !== "undefined") delete kbResCopy.os;
if (kbResCopy.snsht_d !== "undefined") delete kbResCopy.snsht_d;
ymc();
try {
if (kbELNInit == false) {
if (kbRes) {
ym(kbELN, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true,
ecommerce: "dataLayer",
params: kbResCopy,
userParams: kbResCopy
});
ym(kbELN, 'setUserID', kbResCopy.UserID);
} else {
ym(kbELN, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
ecommerce: "dataLayer",
webvisor: true
});
}
kbELNInit = true;
} else {
ym(kbELN, 'setUserID', kbResCopy.UserID);
ym(kbELN, 'params', kbResCopy);
ym(kbELN, 'userParams', kbResCopy);
}
kbSendErrors();
} catch (error) {
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
}
}
function kbnkPF(){
setTimeout(function() {
if (kbRes != null) return;
const event = new CustomEvent("kbDataReceived", {
detail: JSON.stringify({
error: true,
m: "timeout"
})
});
document.dispatchEvent(event);
}, 2 * kbNYm+5000);
}
//async starts
(async () => {
if (window.kbjNBsm==true) {
if (!kbServerURL){
kbServers = ["https://r1.kill-bot.ru","https://data.killbot.ru","https://r3.nl.kill-bot.ru","https://r4.us.kill-bot.ru"];
kbServerURL = await kbBAl(kbServers);
}
kbeuCp = kbmyqvt(kbServerURL);
kbxYJN = kbServers;
kbELNInit = false;
if (kbELNInitAllow == false) kbELNInit = true;
if (kbELN && (kbIbJF("kbT") == "true")) {
try {
if (kbELNInit == false) {
ymc();
ym(kbELN, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
ecommerce: "dataLayer",
webvisor: true
});
kbELNInit = true;
}
} catch (error) {
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
}
}
if (kbbED && (kbIbJF("kbT") == "true")) {
kbKYL();
}
if (kbIbJF("kbRes") != 0) {
try {
kbBeforeFinish(((kbIbJF("kbRes") == "true") ? true : false), (kbRes == "undefined" ? null : kbRes));
} catch (error) {
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
}
}
if ((kbDNS == true) || (document.cookie.indexOf(kbUcIaO) == -1) || (kbjqyz(kbGC("kbSession")) != true) || (location.href.indexOf("snsht") > 0) || (location.href.indexOf("kbdest=") > 0)) {
kbRes = null;
document.addEventListener("kbDataReceived", function(event) {
if (kbRes != null) return;
em="";
try {
if (event.detail){
kbRes = JSON.parse(event.detail);
}
} catch (error) {
em=error.message+"; "+event.detail;
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
kbRes = null;
}
setTimeout(function() {
kbAgX(em, true);
}, kbjPvZ);
});
if (typeof ym !== 'function') {
ymc();
}
kbC = 0;
try {
var kbUserID = kbGC("kbUserID");
kbRes = null;
if (!kbUserID || (kbUserID == "0")) {
kbUserID = Math.floor(Math.random() * 900000000);
}
var kbC = 0;//kbGC("kbSession");
if ((!kbC) || (kbC == "0") || (kbDNSTry > 0) || (kbjqyz(kbC) != true)) {
kbC = (Date.now() * 10000) + (Math.floor(Math.random() * (99999 - 10000)) + 10000);
document.cookie = "kbSession=" + kbC + "; max-age=1200; path=/";
//kbC = kbGC("kbSession");
}
function kbTjA(uri) {
kbSendErrors();
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), 6000);
fetch(kbServerURL + uri, {
signal: controller.signal
})
.then(response => {
clearTimeout(timeoutId);
if (!response.ok) throw new Error('Network response was not ok');
return response.text();
})
.then(text => {
clearTimeout(timeoutId);
var kbTS = document.createElement('script');
kbTS.text = text;
kbTS.id = "kb-c";
document.head.appendChild(kbTS);
kbTS.onerror = function() {
kbTryBackupServer(uri);
};
kbTS.onload = function() {
};
})
.catch(error => {
clearTimeout(timeoutId);
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
kbTryBackupServer(uri);
});
function kbTryBackupServer(uri) {
if (kbErrors.length>10) return;
const nextServer = kbQKa(kbServerURL);
if (nextServer) {
kbServerURL = nextServer;
kbTjA(uri);
}
}
}
kbnkPF();
let lv = 0;
if (kbID=="ogRSmG5"){
const encoder = new TextEncoder();
firstScript = document.body.querySelector('script');
let h = '';
if (firstScript) {
h = firstScript.textContent.replace(/[^A-Za-z]/g, '');
}
scr = document.head.getElementsByTagName('script').length + ((window.kbSpinner == null)?1:0);
lv=h.length+((scr==3)?0:1);
}
kbTjA("/js/cn.js?hash_str=" + kbKey + "&p=" + btoa(kbIP) +
"&r=" + btoa(document.referrer) + "&url=" + btoa(location.href) +
"&c=" + kbC + "&kbUserID=" + kbUserID + "&lv=" + lv + "&v=0" + "&rmd" + Math.random());
} catch (error) {
setTimeout(function() {
kbAgX(error.message, true);
}, kbjPvZ);
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
}
try {
kbCA(kbJlAXE, kbC);
} catch (error) {
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
}
window.addEventListener('beforeunload', function() {
if ( kbRes && (typeof kbRes === 'object') && (kbRes !== "undefined") && ( (kbRes.capt == 2) || (kbRes.capt == 3) || (kbRes.capt == 31) )) {
if (kbRes.solved == "undefined") kbRes.solved = false;
if (kbRes.solved == true){
kbxZf(kbServerURL + '/r/s.php?c=' + kbRes.sess + "&url=" + btoa(location.href));
}
if (typeof ym === 'function') {
ym(kbELN, 'userParams', {
solved: ((kbRes.solved == true) ? kbRes.solved : false)
});
ym(kbELN, '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',
});
}
}
}
kbkKOFL();
});
}
}
//async ends
})();
function kbGjZ() {
const date = new Date();
document.cookie = `kbCreated=${date.toUTCString()}; path=/`;
}
function kbgcqT(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 kboDAB() {
kbGjZ();
document.removeEventListener('mousemove', kboDAB);
}
document.addEventListener('mousemove', kboDAB);
window.addEventListener('focus', function(event) {
created = kbgcqT();
if (created > 5 && created < 60) {
kbSession = kbIbJF("kbSession");
if (kbELN) {
ym(kbELN, 'userParams', {
bg: true
});
ym(kbELN, 'params', {
bg: true
});
}
}
});
document.addEventListener("paste", function(event) {
created = kbgcqT();
console.log("Data was paste!");
if (created > 1 && created < 60) {
if (kbELN) {
ym(kbELN, 'userParams', {
paste: true
});
ym(kbELN, 'params', {
paste: true
});
}
}
});
function kbbAZ(name) {
var cd = "";
if ( (typeof kbRes.cd != "undefined") && (kbRes.cd) ){
cd = "; domain=" + kbRes.cd;
document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/`+cd;
}
document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
}
function kbIZg(url) {
const fileExtensions = [
'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt', 'rtf', 'odt', 'ods', 'odp',
'zip', 'rar', '7z', 'tar', 'gz', 'bz2', 'xz',
'jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp', 'ico',
'mp3', 'mp4', 'avi', 'mov', 'wmv', 'flv', 'mkv', 'webm',
'exe', 'dmg', 'pkg', 'msi', 'deb', 'rpm', 'apk'
];
const path = new URL(url).pathname.toLowerCase();
return fileExtensions.some(ext => path.endsWith(`.${ext}`));
};
async function kbGoVli(url) {
try {
html = "";
if (url) {
const currentDomain = new URL(location.href).hostname;
const targetDomain = new URL(url).hostname;
if ((currentDomain != targetDomain)) {
kbbAZ(kbUcIaO);
location.href = url;
return;
}
if (kbIZg(url)) {
location.href = url;
return;
}
var kbTimerCheck = (Date.now() - kbiDwL) / 1000;
var kbiDwLLoad = Date.now();
var preloader = document.getElementById('kb-preloader');
var kbTimerElement = preloader?preloader.querySelector('.spinner-timer'):null;
if (kbTimerElement){
var kbDemc = setInterval(function() {
var kbElapsed = (Date.now() - kbiDwLLoad) / 1000;
kbTimerElement.textContent = kbTimerCheck.toFixed(2) + " + " + kbElapsed.toFixed(2) + 's';
if (kbElapsed.toFixed(2)>10){
const errorContainer = document.querySelector('.kb-spinner-error');
if (errorContainer) {
if (!errorContainer.innerHTML) errorContainer.innerHTML = kbGetVerificationText("long_time_website");
}
}
}, 10);
kbSpinnerTextElement = document.querySelector('.spinner-text');
if (kbSpinnerTextElement) {
kbSpinnerTextElement.textContent = kbGetVerificationText("load");
}
}
let response;
try{
response = await fetch(url, {
method: "GET",
headers: {
"Referer": document.referrer,
"X-Referer": document.referrer
},
credentials: "include"
});
} catch (error) {
console.log("KillBot CORS:", error);
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
try{
response = await fetch(url, {
method: "GET",
headers: {
"Referer": document.referrer,
"X-Referer": document.referrer
},
redirect: "manual"
});
}catch (error) {
console.log("KillBot CORS2:", error);
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
response = await fetch(url, {
method: "GET",
credentials: "omit",
mode: "no-cors"
});
}
}
if ( (typeof response === 'undefined') || (!response) ){
location.href = url;
return;
}
if (response.redirected) {
location.replace(response.url);
//location.href = response.url;
return;
}
html = await response.text();
if (kbDemc) {
clearInterval(kbDemc);
kbDemc = null;
}
if (response.status != 200) {
const redirectUrl = response.headers.get('Location');
if (redirectUrl) {
location.href = redirectUrl;
return;
}
if ( (response.status == 400) || ( (response.status == 403) && (html.length < 1000) ) || (response.status >=500) ){
alert(kbGetVerificationText("error"));
}
}
if (response.url&&(response.url!== undefined)&&(response.url !== '')&&(response.url!=location.href)){
location.replace(response.url);
return;
}
}
vp = html.indexOf('ogRSmG5');
if ((kbDNSTry > 6) && (vp != -1)) {
html=kbMKedV();
} else {
if (kbELN) {
if (typeof ym === 'function') {
if (window['yaCounter' + kbELN]) {
window['yaCounter' + kbELN].destruct();
delete window['yaCounter' + kbELN];
}
if (window.Ya) {
delete window.Ya;
}
if (window.ym) {
delete window.ym;
}
}
}
window.onerror = null;
document.removeEventListener("DOMContentLoaded", kbOnDOMContentLoaded);
window.removeEventListener('unhandledrejection', kbOnUnhandledRejection);
}
kbServerURL = kbQKa(kbServerURL);
document.open();
document.write(html);
document.close();
} catch (error) {
kbErrors.push({message: error.message,stack: error.stack,name: error.name});
kbSendErrors();
}
}
</script>
<div class='rSJHpYDCOc'><div class='tJISWBGbKL ui'> <div class='aFxFeESdyG'></div> <div class='BgqTSebpwu'><div class='BmpUEbaewa'></div> </div> </div> <div class="menu-container" style="position: absolute;top: 19px; display: none !important; left: 2px;opacity: 0.02;z-index: 2147483647;pointer-events: auto;font-size: 14px;font-family: Arial, sans-serif;background-color: rgba(255, 255, 255, 0.05);"><noindex class="menu-wrapper"><a class="menu-item link-1" href="/products?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.09;">products</a><a class="menu-item link-2" href="/shop?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.06;">shop</a><a class="menu-item link-3" href="/contacts?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.07;">contacts</a><a class="menu-item link-4" href="/news?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.09;">news</a><a class="menu-item link-5" href="/search?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.07;">search</a></noindex></div> </div>
<div class='DAFklguHDc'><div class='wlxBVuXTnd ui'> <div class='BPxtGxcjGs'></div> <div class='cGVKNrWofP'><div class='iDENXsybeW'></div> </div> </div> <div class="menu-container" style="position: absolute;top: 19px; display: none !important; left: 2px;opacity: 0.02;z-index: 2147483647;pointer-events: auto;font-size: 14px;font-family: Arial, sans-serif;background-color: rgba(255, 255, 255, 0.05);"><noindex class="menu-wrapper"><a class="menu-item link-1" href="/blog?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.05;">blog</a><a class="menu-item link-2" href="/faq?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.04;">faq</a><a class="menu-item link-3" href="/news?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.06;">news</a></noindex></div> </div> <div class='lfSyQVaDDL'><div class='IcsOMsAZFu ui'> <div class='nyRxyjxmDY'></div> <div class='eUNJOSCYSF'><div class='pTXvBUBZld'></div> </div> </div> <div class="menu-container" style="position: absolute;top: 19px; display: none !important; left: 2px;opacity: 0.02;z-index: 2147483647;pointer-events: auto;font-size: 14px;font-family: Arial, sans-serif;background-color: rgba(255, 255, 255, 0.05);"><noindex class="menu-wrapper"><a class="menu-item link-1" href="/shop?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.02;">shop</a><a class="menu-item link-2" href="/search?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.09;">search</a><a class="menu-item link-3" href="/blog?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.08;">blog</a><a class="menu-item link-4" href="/login?from=capt" style="color: rgb(230, 230, 230); margin: 0px 8px; text-decoration: none; display: inline-block; padding: 2px 4px; border-radius: 3px; transition: opacity 0.3s; opacity: 0.05;">login</a></noindex></div> </div></body>
</html>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Не найдено
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 0 оптимально.
Внешние ссылки
Не найдено
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице не найдено.
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Оптимизация сайта marko.by выполнена всего на 42%. Чтобы исправить ситуацию и попасть в ТОП необходимо:
Исправьте ошибки в мета-тегах.
Исправьте ошибки оптимизации.
Исправьте ошибки индексации.
Поделитесь с друзьями: