Files
Auto-Mirror-Switcher/docs/README.en.md
T

88 lines
3.1 KiB
Markdown

# Auto Mirror Switcher
Browser extension for Chrome, Manifest V3. It switches failed mirror hosts to the next configured candidate while preserving the original page path, query parameters, and hash.
## Version 1.4.3
- Hid the host RegExp field for fixed host-list rules.
- Fixed list-mode matching so `customHosts` defines the handled source hosts without requiring a RegExp.
## Version 1.4.2
- Applied the false-positive guard to every built-in blocked-page marker, not only Cloudflare and `forbidden`.
- Added coverage that embeds each default marker inside a long normal page and verifies it does not stop browsing.
## Version 1.4.1
- Reduced false blocked-page detections from generic `forbidden` text embedded in otherwise working pages.
- Stopped pages now list hosts checked by `probe` mode, not only the source host.
## Version 1.4.0
- Added automatic UI language detection: Russian is used for `ru*` browser locales, English is used otherwise.
- Added English localization for the options page, stopped page, runtime messages, validation errors, and extension manifest metadata.
## Version 1.3.1
- Reduced false blocked-page detections when Cloudflare/522 text is embedded inside an otherwise working page.
- Ignored hidden/script/template HTML while probing candidate mirrors for blocked-page markers.
## Version 1.3.0
- Expanded the in-page usage guide with behavior details from the redirect logic.
- Replaced concrete browser/domain examples in the guide and settings placeholders with Chrome and example.com examples.
## Install In Chrome
1. Open `chrome://extensions`.
2. Enable Developer mode.
3. Click `Load unpacked`.
4. Select the unpacked extension folder.
5. Click the extension icon to open settings.
## Basic Setup
1. Enable the extension with the top toggle.
2. Select or create a rule.
3. Set `hostRegex`, `strategy`, and either `template` or a custom host list.
4. Click `Apply to rule`, then `Save`.
5. If autosave is enabled, changes are saved automatically and the manual save button is disabled.
## Example Rule
Source page:
```text
https://mirror1.example.com/path/page.html?view=full#top
```
Numeric mirror rule:
```text
hostRegex: ^mirror\d+\.example\.com$
template: mirror{n}.example.com
strategy: number
numberStart: 1
numberEnd: 100
```
If the current host fails, the extension can try:
```text
https://mirror2.example.com/path/page.html?view=full#top
https://mirror3.example.com/path/page.html?view=full#top
```
The host changes; path, query, and hash stay the same.
## How Switching Works
- `step` mode immediately opens the next candidate when a navigation error, HTTP 5xx/403/451, or blocked-page marker is detected.
- `probe` mode checks candidates in the background and opens the first host that responds with a 2xx/3xx status and no blocked-page markers.
- A successfully loaded page stores its host as the last working host for that rule.
- If the cached host later fails, the cache is cleared and the search starts again.
## Diagnostics
Use the diagnostics log in the options page when a rule does not switch as expected. You can also inspect the extension service worker from `chrome://extensions` and look for `[Auto Mirror Switcher]` logs.