Worker Generator v3

Генератор _worker.js для Cloudflare Pages

Тип воркера
📋 Тільки логування
🛡 Фільтрація + логування
Воркер тільки пише в Google Sheets. Нічого не блокує — всі юзери проходять на сайт. Ідеально для головного ленду або для аналізу трафіку.
🚧 Показати всім заглушку
Тимчасово показує заглушку всім без виключень. Налаштування зберігаються — вимкни коли не потрібно.
Логування
Фільтри
Домени & UTM
IP & ASN
Заглушка
Скрипти
Розширені
Основні перевірки
Cloudflare захист
Verified bot
CF визначив як верифікований бот
CF Bot Score
Блокувати нижче порогу (1–99)
User-Agent фільтри
Bot UA patterns
bot, crawl, headless, python, okhttp...
Додаткові UA патерни (крім дефолтних):
Тип пристрою
Тільки мобільні
Тільки десктоп
Всі
Nexus 5 Build/MRA58N
Puppeteer дефолтний UA при автоматизації
Актуально завжди — реальних юзерів з цим UA не існує
Mac headless (10_15_7 без Mobile)
Playwright/Puppeteer на macOS — macOS 10.15 Catalina без мобільного UA
Актуально якщо кампанія тільки мобільна. Якщо дозволяєш десктоп — вимкни
Емулятори
bluestacks, nox, genymotion, ldplayer, x86...
Версії браузерів та ОС
Chrome мін. версія
Актуальна: 136+. Рек. поріг: 120
Safari мін. версія
Актуальна: 18+. Рек. поріг: 16
Firefox мін. версія
Актуальна: 130+. Рек. поріг: 100
iOS версія
Мін: блокує старі (iOS 14 і нижче часто боти). Макс: блокує фейкові (iOS 26 реальна, 30+ явний бот)
Android версія
Мін: блокує старі (Android 9 і нижче — часто боти). Макс: блокує фейкові (Android 15 реальна, 20+ явний бот)
Геолокація
GEO whitelist
Тільки дозволені країни
Accept-Language
IPinfo hosting check
API перевірка хостингу (токен вбудований)
Тип воронки
Без воронки
Ленд + Prelend1
Ленд + Prelend1 + Prelend2
Воркер ставиться прямо на головний сайт або на єдиний лендінг. GTM не потрібен для cookie. Referer check, HV cookie і gclid перевірка вимикаються автоматично — бо немає попередніх кроків які б їх встановлювали.
Воронка — перевірки
Referer check
Тільки трафік з попереднього кроку воронки
Human verify (hv cookie)
Юзер клікнув кнопку на ленді — GTM ставить cookie hv=1
Click ID (gclid / gbraid / fbclid)
gclid / gbraid — Google Ads | fbclid — Facebook
Click ID (gclid / gbraid / fbclid)
gclid / gbraid — Google Ads | fbclid — Facebook
Click ID валідація формату
gclid/gbraid: довжина 20+, A-Za-z0-9_- | fbclid: довжина 20+, не починається з http
Домени
Головний:
Назва логу:
UTM валідація
Перевіряє що вказані UTM параметри не пусті. Динамічні теги {campaignid} або {{campaign.name}} вважаються заповненими. Статичні promo2024 — перевіряє точну відповідність. Порожнє — завжди блок.
Рекламна платформа — заповнює значення автоматично:
Google Ads
Facebook / Instagram
Кастом
utm_source
Джерело трафіку
utm_medium
Канал
utm_campaign
Кампанія
utm_content
Оголошення
utm_keyword
Ключове слово
Click ID параметр
Автоматично підставляється платформою
Додаткові UTM параметри:
Blocked IP & ranges
Blocked IP фільтр
Формат: одиночний IP → 1.2.3.4 | діапазон → 34.19.0.0/16 | префікс → 34.19.
Blocked ASN (датацентри)
ASN фільтр
Тільки число без AS. Популярні: 15169 Google, 16509 AWS, 8075 Microsoft, 14061 DigitalOcean, 24940 Hetzner, 51167 Contabo, 13335 Cloudflare
Логіка відображення

Хто що бачить після перевірки фільтрів.

Стандартна
Інвертована
Реальний юзер — пройшов всі фільтри → бачить лендинг
Бот — не пройшов фільтри → бачить заглушку (налаштовуй нижче)
Що показувати

Показується боту (стандартна) або реальному юзеру (інвертована).

HTML код
Проксі URL
Редірект 302
Контент вбудований прямо у воркер. Не потребує зовнішніх запитів. URL не змінюється.
HTML код

Вставте повний HTML. Backtick символи будуть автоматично екрановані.

Google Sheets
Apps Script URL:
Як налаштувати логування в Google Sheets
GTM — передача UTM параметрів

Ці теги вставляються в Google Tag Manager. Вони автоматично підставляють UTM параметри в href кнопки при завантаженні сторінки. Домени беруться з вкладки "Домени & UTM".

Важливо про кнопку (ctaBtn): Скрипт шукає кнопку по id="ctaBtn". Якщо у твоєму HTML кнопка називається інакше — наприклад id="mainCta", id="action-btn" або будь-яке інше — просто заміни ctaBtn на відповідний id у скопійованому коді. Головне щоб id в HTML і в скрипті співпадали.
Варіант 1: Ленд + Prelend1
Варіант 2: Ленд + Prelend1 + Prelend2
FB WebView → дефолтний браузер (Android)
Розширені JS-фільтри

Ці фільтри потребують додаткового JS-скрипту на лендингу (вкладка Скрипти). Скрипт збирає дані браузера і записує їх у cookie. Воркер потім перевіряє ці cookie. Використовуй коли стандартних фільтрів недостатньо.

Mouse/Touch активність (mv cookie)
Перевіряє що юзер рухав мишею або торкався екрану до кліку. Боти клікають без попередніх touch/mouse подій.
Реалізація: JS на ленді слухає mousemove/touchstart → cookie mv=1
Інструкція встановлення
Scroll depth (sc cookie)
Реальний юзер скролить сторінку перед кліком. Бот одразу клікає без скролу.
Реалізація: JS слухає scroll event → cookie sc=1
Інструкція встановлення
Час на сторінці (ts cookie)
Блокує якщо між завантаженням і кліком менше 2 секунд. Боти клікають миттєво.
Реалізація: JS записує timestamp при завантаженні → voркер порівнює з часом запиту
сек
Інструкція встановлення
navigator.webdriver перевірка (wd cookie)
navigator.webdriver === true — явна ознака Selenium/Puppeteer. Встановлено автоматично браузером при автоматизації.
Реалізація: JS перевіряє navigator.webdriver → cookie wd=0 якщо чисто
Інструкція встановлення
navigator.plugins порожній (pl cookie)
Headless браузери зазвичай мають 0 плагінів. Реальні браузери мають хоча б 1-2.
Реалізація: JS перевіряє navigator.plugins.length → cookie pl=1 якщо є плагіни
Інструкція встановлення
Timezone відповідність GEO (tz cookie)
Якщо IP з Польщі але timezone UTC+8 — VPN або проксі. Порівнює timezone браузера з очікуваним для країни.
Реалізація: JS → Intl.DateTimeFormat timezone → cookie tz=... → воркер порівнює з GEO
Інструкція встановлення
Screen resolution перевірка (sr cookie)
Headless браузери часто мають нестандартні роздільні здатності (800x600, 1280x720). Реальні мобільні мають характерні розміри.
Реалізація: JS → screen.width/height → cookie sr=WxH → воркер перевіряє
Інструкція встановлення
URL для оголошення
Тестування воркера
Тест 1 — обійти фільтри (bypass):
Додай ?test=chkn2024secret до URL prelend2 — воркер пропустить тебе незалежно від фільтрів.
Тест 2 — перевірити заглушку:
Увімкни тумблер "Показати всім заглушку" → згенеруй → задеплой → перевір → вимкни → задеплой знову.
Тест 3 — пройти весь ланцюжок:
Використай тестовий URL нижче — містить всі необхідні параметри. Відкрий з телефона, клікай кнопки і перевір Google Sheets.
Тест 4 — своє GEO через VPN/проксі:
Якщо хочеш перевірити як бачить юзер з конкретної країни — підключись через VPN до тієї країни або використай мобільний проксі. Потім відкрий тестовий URL і перевір Sheets — в колонці Країна має бути потрібне GEO.
Що перевіряти в Google Sheets:
result = allowed — реальний юзер пройшов
HV = 1 — GTM cookie встановлено (клік по кнопці спрацював)
GCLID заповнений — click ID передався
Referrer — містить домен попереднього кроку воронки
result = bad_referer / no_hv / no_gclid — щось не налаштовано
_worker.js