Auto Mirror Switcher
Автоматически переключает неработающие mirror-домены и сохраняет полный путь страницы.
Как пользоваться
Пошаговая настройка правил и объяснение того, когда расширение переключает зеркало.
Главное: после изменений нажимай «Сохранить»
Как пользоваться
Пошаговая настройка правил и объяснение того, когда расширение переключает зеркало.
Глобальный переключатель сверху включает обработку страниц. Внутри редактора у каждого правила есть отдельный чекбокс: выключенное правило не участвует в поиске зеркал.
В поле RegExp укажи, какие host обрабатываются. Проверяется только host без протокола, пути, query и hash, например mirror1.example.com.
Выбери стратегию: числа в шаблоне, буквенные токены или готовый список host. Новый адрес всегда собирается из выбранного host и исходного пути страницы.
После сохранения открой страницу. Расширение сработает при сетевой ошибке, HTTP 5xx/403/451 или найденном маркере блокировки в тексте страницы.
Пример с условным доменом
Если открыта страница:
https://mirror1.example.com/path/page.html?view=full#top
и текущий host считается нерабочим, расширение подбирает следующий host по правилу и открывает тот же путь:
https://mirror2.example.com/path/page.html?view=full#top
https://mirror3.example.com/path/page.html?view=full#top
https://mirror4.example.com/path/page.html?view=full#top
Протокол берётся из настройки правила: всегда https, всегда http или такой же, как в исходном URL. Path, query и hash сохраняются без изменений.
Примеры правил для example.com
Цифры в поддомене
hostRegex: ^mirror\d+\.example\.com$
template: mirror{n}.example.com
strategy: number
Цифры перед доменом
hostRegex: ^\d+\.example\.com$
template: {n}.example.com
strategy: number
Вариант без цифры
hostRegex: ^mirror\d*\.example\.com$
template: mirror{n}.example.com
strategy: number
includeEmpty: on
\d+ означает «одна или больше цифр», а \d* разрешает отсутствие цифры. Включай вариант без цифры только если host вроде mirror.example.com тоже должен быть кандидатом.
Буквы/токены
hostRegex: ^node-[a-z]+\.example\.com$
template: node-{s}.example.com
strategy: letters
Готовый список
mirror1.example.com
mirror2.example.com
mirror3.example.com
Что означают основные поля
- Какие host обрабатывать, RegExp
- Фильтр host, на которых расширение должно включаться в режимах с шаблоном. Проверяется только host: например
mirror1.example.com, безhttps://, пути и параметров. В режиме готового списка это поле скрывается: правило включается на host из списка. - Режим step
- При ошибке сразу выбирает следующий кандидат из списка и открывает его в текущей вкладке. Кандидаты строятся по правилу, уже попробованные host пропускаются.
- Режим probe
- Сначала проверяет кандидатов фоновыми запросами, потом открывает первый ответивший host со статусом 2xx/3xx и без маркеров блокировки в тексте. Количество одновременных проверок задаёт поле «Параллельных проверок».
- Последний рабочий host
- Когда страница загрузилась без маркеров блокировки, content script отправляет сигнал
PAGE_OK, и расширение запоминает этот host. Значение «Кэш рабочего host, часов» = 0 означает «не забывать по времени»: сохранённый host используется, пока сам не даст ошибку или маркер блокировки. - Маркеры страницы блокировки/ошибки
- Content script несколько раз после загрузки проверяет title и текст страницы. Если найден маркер, отправляется
BLOCKED_PAGE_DETECTED, текущий host считается плохим, кэш для него очищается, и расширение ищет следующий вариант. Добавляй сюда точные фразы из страницы ошибки, по одной строке. - Максимум редиректов
- Это защита от бесконечного перебора. Код автоматически поднимает эффективный лимит до размера списка кандидатов плюс запас, но ручное значение всё равно полезно для больших списков.
Экспорт и импорт настроек
Экспорт настроек скачивает JSON-файл со всеми правилами и глобальным переключателем расширения. Сохрани этот файл отдельно, чтобы быстро восстановить конфигурацию после переустановки Chrome или переноса расширения.
Импорт настроек загружает такой JSON-файл обратно и заменяет текущие правила. После успешного импорта настройки сразу сохраняются в расширении.
Кэш последнего рабочего host не экспортируется: он зависит от текущего профиля Chrome и обновляется автоматически при реальном открытии страниц.
Если не сработало
- Проверь, что расширение включено вверху страницы и на странице
chrome://extensions. - После любых изменений нажми «Применить к правилу», затем «Сохранить». Если включено автосохранение, кнопка сохранения отключена, а изменения записываются автоматически.
- Для режимов с шаблоном убедись, что
hostRegexсовпадает именно с host, напримерmirror1.example.com. В режиме готового списка проверь, что текущий host есть в списке. - Если рабочий номер вышел за диапазон, увеличь поле «До». Поле «Макс. редиректов» автоматически расширяется до размера диапазона, но его всё равно можно поднять вручную для больших списков.
- Если открылась страница ошибки с
Host Error,Error 522,Origin is unreachable,Cloudflare Ray IDили похожим текстом и расширение не переключилось, добавь точную фразу из этой страницы в поле «Маркеры страницы блокировки/ошибки». - Если расширение продолжает вести на старый сохранённый host, нажми «Очистить кэш правила» или открой именно проблемную страницу; при DNS/сетевой ошибке, HTTP 5xx/403/451 или найденном маркере блокировки кэш будет сброшен автоматически.
- Для диагностики открой блок «Журнал диагностики» в этих настройках, нажми «Обновить журнал» и экспортируй JSON. Также можно открыть DevTools расширения на
chrome://extensionsи смотреть логи[Auto Mirror Switcher].