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

95 lines
3.5 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.
## License
Original project files are licensed under the **[Source Available license](../LICENSE)**.
Viewing the source, building an unmodified version and using the extension as intended are permitted.
Modifications, forks, derivatives and redistribution require written permission from DepressedCat,
subject to the exceptions in the license. Third-party components keep their own licenses.