reCAPTCHA Robust Auto-Refresh — GLOBAL

Универсальный скрипт: надёжно перезагружает / пересоздаёт Google reCAPTCHA iframe (включая динамические сайты). НЕ РЕШАЕТ капчу — только обновляет/рестартует виджет. Работает на всех сайтах; имеет UI, настройки и persist через localStorage.

作者
STELLAR STELS
日安装量
0
总安装量
2
评分
0 0 0
版本
2.0.0
创建于
2025-09-30
更新于
2025-09-30
大小
15.3 KB
许可证
暂无
适用于
所有网站

Полное описание скрипта (что делает, как работает, какие есть настройки, ограничения и советы по отладке)
1) Что делает

Автоматически находит iframe Google reCAPTCHA на странице и пытается их перезагрузить или пересоздать с параметром ?reload=TIMESTAMP, чтобы iframe действительно перезагрузился (кэш-обход).

Если сайт использует стандартный API grecaptcha, скрипт сначала попытается вызвать grecaptcha.reset().

Работает в динамических страницах: отслеживается MutationObserver, который реагирует на появление новых элементов/iframe и запускает перезагрузку.

Скрипт не решает капчу и не контактирует с антикапча-сервисами — он только перезагружает/рестартует виджеты.

Работает на всех страницах (в @match установлен *://*/*), но запускает авто только при включённом флаге и при обнаружении признаков капчи, либо по вручную нажатию кнопки.

2) UI и настройки

Внизу справа появится кнопка ⟳ Refresh CAPTCHA — ручная принудительная перезагрузка.

Над кнопкой — панель настроек (интервал, джиттер, включение/выключение авто, режим отладки).

Настройки сохраняются в localStorage (ключ rc_auto_global_settings_v2) и persist между перезагрузками страниц.

По умолчанию авто включено и установлен интервал 60 с ±8 с (рандом), чтобы уменьшить вероятность блокировок со стороны Google.

3) Важные константы и их смысл

DEFAULT_REFRESH_SECONDS — базовый интервал (в секундах) между автоматическими попытками.

RANDOM_JITTER_SECONDS — случайный добавочный интервал, чтобы не делать точные повторяющиеся запросы.

MIN_TOKEN_LENGTH — длина токена g-recaptcha-response, при которой капча считается решённой и скрипт останавливается.

DEBUG — если включён, будет больше логов (console.log).

4) Как и когда он не поможет (ограничения)

CSP (Content Security Policy): если сайт блокирует загрузку внешних iframe/ресурсов (или запрещает вставку/перезапись iframe), скрипт не сможет заставить браузер загрузить капчу.

Блокировщики: AdBlock / uBlock / privacy-расширения могут блокировать google.com/recaptcha — отключи их для теста.

reCAPTCHA v3 / Invisible: если сайт использует invisible reCAPTCHA v3 (без видимого чекбокса), видимый iframe может отсутствовать; в таком случае логика должна работать с grecaptcha.execute() на стороне сайта — этот скрипт в основном для видимой v2 checkbox/frame.

Серверные ограничения Google: слишком частые запросы/перезагрузки могут привести к тому, что Google будет временно показывать ошибки или блокировать виджеты — поэтому есть интервал и джиттер.

Если сайт создаёт капчу в новом окне/попапе — скрипт работает в контексте этой вкладки; если капча находится в другом окне, нужно запустить скрипт и там.

5) Отладка — что смотреть, если не работает

Открой DevTools → Console: там будут лог-сообщения ([rc-auto]) — если включён debug режим будет больше логов.

Network → фильтр recaptcha / bframe: посмотри код ответа (200/403/404/500).

Console → ищи ошибки вида Refused to load ... — это CSP/blocked.

Отключи расширения блокировщиков и попробуй снова.

Убедись, что на странице действительно есть iframe или элемент с data-sitekey / .g-recaptcha — иначе скрипт просто наблюдает DOM.

6) Безопасность и приватность

Скрипт не отправляет данные никуда — всё локально. Он только меняет iframe.src, вызывает grecaptcha.reset() если доступно, и взаимодействует с DOM.

Настройки хранятся в localStorage в браузере.

7) Что ещё можно добавить (по желанию)

Поддержка автоспецифических правил (настройки по доменам).

Сохранение настроек через GM_setValue для синхронизации между устройствами (если нужен — могу добавить).

Логирование в файл / экспорт логов.

Интеграция с антикапча-сервисами (только если хочешь и понимаешь риски/политику) — это уже отдельная бОльшая фича.