7.4 KiB
Auto Mirror Switcher
Расширение для Chrome, которое переключает недоступное зеркало сайта на рабочий адрес. Путь страницы, параметры запроса и якорь сохраняются.
Версия 1.4.3 · Manifest V3 · русский и английский интерфейс
Установить из Chrome Web Store · Скачать ZIP из релиза · English documentation
Возможности
- Правила для зеркал с номерами, буквами или готовым списком адресов.
- Обнаружение ошибок навигации, заданных HTTP-ошибок и страниц блокировки.
- Режим
probe: проверка кандидатов в фоне с выбором работающего зеркала. - Режим
step: переход к следующему адресу при ошибке загрузки. - Запоминание последнего работающего зеркала.
- Импорт и экспорт настроек, локальный журнал диагностики.
- Автоматический выбор русского или английского языка.
- Страница остановки с информацией о проверенных адресах, когда подходящего зеркала нет.
Например, https://mirror1.example.com/page?id=42#comments может стать https://mirror2.example.com/page?id=42#comments: меняется адрес зеркала, контекст страницы сохраняется.
Установка
Рекомендуемый способ — Chrome Web Store; обновления доставляет браузер.
Для ручной установки:
- Скачайте
auto-mirror-switcher-1.4.3-chrome-web-store.zipиз релиза 1.4.3. - Распакуйте архив в постоянную папку.
- Откройте
chrome://extensions, включите режим разработчика и нажмите «Загрузить распакованное расширение». - Выберите папку, в которой находится
manifest.json. - Нажмите на значок расширения, чтобы открыть настройки.
При ручной установке новую версию нужно распаковать самостоятельно и обновить расширение на странице chrome://extensions.
Настройка
Включите расширение, создайте или выберите правило и задайте адреса зеркал. Для готового списка достаточно перечислить хосты; для шаблонов с номерами или буквами задайте фильтр хоста и диапазон перебора. Нажмите «Применить к правилу», затем «Сохранить». При включённом автосохранении изменения сохраняются автоматически.
Пример числового правила:
hostRegex: ^mirror\d+\.example\.com$
template: mirror{n}.example.com
strategy: number
numberStart: 1
numberEnd: 100
Для неизвестного сайта расширение не создаёт зеркала самостоятельно: подходящие адреса и правила задаются в настройках. Оно использует обычные HTTP(S)-запросы и переходы браузера; работа выбранных зеркал зависит от самих сайтов и сети.
Данные и разрешения
Правила, настройки, кэш работающих хостов и диагностические записи хранятся в браузере. В журнале могут быть URL страниц, названия вкладок, ошибки и адреса переходов. Журнал ограничен последними 1200 записями; очистка и экспорт доступны в настройках.
В коде нет аналитики, аккаунтов и сервера сбора данных. Проверки выполняются по адресам зеркал из правил и могут следовать HTTP-перенаправлениям сайтов. При проверке зеркалу отправляются сохранённые путь и параметры запроса; фоновая проверка использует credentials: omit.
| Разрешение | Назначение |
|---|---|
storage |
Локальные настройки, кэш и диагностика; состояние текущей работы в хранилище сессии, если оно доступно. |
tabs |
Чтение адреса вкладки и переход на выбранное зеркало. |
webNavigation |
События навигации и ошибки загрузки главной страницы. |
webRequest |
Чтение HTTP-статусов главной страницы для определения ошибок. |
| Доступ к HTTP(S)-сайтам | Пользователь может настроить произвольные зеркала; контентный скрипт проверяет маркеры блокировки на страницах с подходящими правилами. |
Подробности — PRIVACY.md.
Релиз 1.4.3
Для правил с готовым списком хостов поле RegExp скрыто и больше не требуется. Список хостов определяет, на каких исходных адресах работает правило. Также версия включает локализацию, исправления ложного определения блокировок и улучшенную диагностику проверок. Полный список — примечания к релизу.
Проверка исходников
Зависимости и сборщик не требуются. Для проверки с установленным Node.js:
node tests/shared.test.js
node --check shared.js
node --check options.js
node --check i18n.js
Содержимое ZIP в релизе совпадает с исходным пакетом 1.4.3 из предоставленной папки. Контрольные суммы опубликованы рядом с архивом. Папка исходного проекта называется auto-mirror-switcher-mv2, однако текущая версия использует Manifest V3.
