# Auto Mirror Switcher ![Auto Mirror Switcher](store-assets/large-promo-1400x560.png) Расширение для Chrome, которое переключает недоступное зеркало сайта на рабочий адрес. Путь страницы, параметры запроса и якорь сохраняются. **Версия 1.4.3 · Manifest V3 · русский и английский интерфейс** [Установить из Chrome Web Store](https://chromewebstore.google.com/detail/auto-mirror-switcher/bnlddkbfnjlcopijihiidgokhnnbmndi) · [Скачать ZIP из релиза](https://git.lonarpgproxy.space/OwnerLink/Auto-Mirror-Switcher/releases/tag/v1.4.3) · [English documentation](docs/README.en.md) ## Возможности - Правила для зеркал с номерами, буквами или готовым списком адресов. - Обнаружение ошибок навигации, заданных HTTP-ошибок и страниц блокировки. - Режим `probe`: проверка кандидатов в фоне с выбором работающего зеркала. - Режим `step`: переход к следующему адресу при ошибке загрузки. - Запоминание последнего работающего зеркала. - Импорт и экспорт настроек, локальный журнал диагностики. - Автоматический выбор русского или английского языка. - Страница остановки с информацией о проверенных адресах, когда подходящего зеркала нет. Например, `https://mirror1.example.com/page?id=42#comments` может стать `https://mirror2.example.com/page?id=42#comments`: меняется адрес зеркала, контекст страницы сохраняется. ## Установка Рекомендуемый способ — [Chrome Web Store](https://chromewebstore.google.com/detail/auto-mirror-switcher/bnlddkbfnjlcopijihiidgokhnnbmndi); обновления доставляет браузер. Для ручной установки: 1. Скачайте `auto-mirror-switcher-1.4.3-chrome-web-store.zip` из [релиза 1.4.3](https://git.lonarpgproxy.space/OwnerLink/Auto-Mirror-Switcher/releases/tag/v1.4.3). 2. Распакуйте архив в постоянную папку. 3. Откройте `chrome://extensions`, включите режим разработчика и нажмите «Загрузить распакованное расширение». 4. Выберите папку, в которой находится `manifest.json`. 5. Нажмите на значок расширения, чтобы открыть настройки. При ручной установке новую версию нужно распаковать самостоятельно и обновить расширение на странице `chrome://extensions`. ## Настройка Включите расширение, создайте или выберите правило и задайте адреса зеркал. Для готового списка достаточно перечислить хосты; для шаблонов с номерами или буквами задайте фильтр хоста и диапазон перебора. Нажмите «Применить к правилу», затем «Сохранить». При включённом автосохранении изменения сохраняются автоматически. Пример числового правила: ```text 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](PRIVACY.md). ## Релиз 1.4.3 Для правил с готовым списком хостов поле RegExp скрыто и больше не требуется. Список хостов определяет, на каких исходных адресах работает правило. Также версия включает локализацию, исправления ложного определения блокировок и улучшенную диагностику проверок. Полный список — [примечания к релизу](STORE_RELEASE_NOTES_1.4.3.md). ## Проверка исходников Зависимости и сборщик не требуются. Для проверки с установленным Node.js: ```text 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.