88 lines
3.1 KiB
Markdown
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.
|