86 lines
7.4 KiB
Markdown
86 lines
7.4 KiB
Markdown
# Auto Mirror Switcher
|
|
|
|

|
|
|
|
Расширение для 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.
|