Files

86 lines
7.4 KiB
Markdown

# 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.