-magnetowid searches and downloads video-on-demand movies and series through
-Sonarr and Radarr. It provides a Newznab indexer and a SABnzbd-compatible
-download client. No separate SABnzbd installation is needed.
+
+
+
+
+
+
+
+magnetowid brings video-on-demand sites to Sonarr and Radarr. Search for a
+series or a film as you always do, and it arrives in your library as an MP4
+file, with subtitles.
+
+To your apps it is an ordinary indexer and download client: a Newznab indexer
+for each site, and a SABnzbd-compatible client that does the downloading
+itself. No separate SABnzbd installation is needed.
+
+## Supported sites
+
+| Site | Indexer | Good to know |
+|---|---|---|
+| **TVP VOD** | `/tvp` | Polish series and films. [TVP VOD notes](internal/provider/tvp/README.md) |
+| **BBC iPlayer** | `/bbc` | Streams need a UK connection. [BBC iPlayer notes](internal/provider/bbc/README.md) |
-Supported: **TVP VOD** and **BBC iPlayer**.
+Only what a site offers for free is found: DRM-protected, paid and
+region-blocked streams are left out of the results.
+
+## What you get
+
+- **Search and RSS.** Sonarr and Radarr search each site and pick up new
+ episodes and newly available films on their own.
+- **Releases named like any other.** Names carry the resolution, codecs and
+ audio language, so your quality and language profiles keep working.
+- **Subtitles.** Saved beside the video as SRT, labelled with their language.
+- **Downloads that pick up where they stopped.** Pause one, restart
+ magnetowid or lose the connection, and it continues from the last segment.
+- **A web interface.** Watch the queue, pause and remove downloads, and browse
+ the history.
+- **Overrides.** When a title is missed or episodes are paired wrongly,
+ correct the match yourself.
## How it works
@@ -36,10 +76,11 @@ flowchart LR
## Quick start
-Install [Docker with Compose](https://docs.docker.com/compose/install/). The
+You need [Docker with Compose](https://docs.docker.com/compose/install/). The
container image includes ffmpeg.
-Download the [Compose configuration](compose.yaml) and environment template:
+**1. Get the configuration.** Download the [Compose file](compose.yaml) and the
+environment template:
```sh
mkdir magnetowid
@@ -49,55 +90,78 @@ curl -fsSL https://raw.githubusercontent.com/combor/magnetowid/main/.env.example
mkdir -p downloads
```
-Edit `.env` before starting:
+**2. Edit `.env`.**
-- Set `MAGNETOWID_API_KEY` to a long, random key. Use this same key in both Sonarr/Radarr connections.
-- Set `MAGNETOWID_DOWNLOAD_PATH` to your shared download folder, or keep `./downloads`.
-- On Linux, set `MAGNETOWID_UID` and `MAGNETOWID_GID` to the IDs of the account that owns
- that folder. Run `id -u` and `id -g` to check your current account's IDs.
+| Setting | What to enter |
+|---|---|
+| `MAGNETOWID_API_KEY` | A long, random key. Sonarr and Radarr use the same one. |
+| `MAGNETOWID_DOWNLOAD_PATH` | Your shared download folder, or keep `./downloads`. |
+| `MAGNETOWID_UID`, `MAGNETOWID_GID` | On Linux, the IDs of the account that owns that folder. `id -u` and `id -g` show yours. |
-Start magnetowid:
+**3. Start magnetowid.**
```sh
docker compose up -d
```
-Compose pulls `ghcr.io/combor/magnetowid:latest` and exposes the APIs on port **8484**.
-For a native installation, see the
-[Linux service](docs/usage.md#linux-service) or
-[building from source](docs/usage.md#build-from-source).
+Compose pulls `ghcr.io/combor/magnetowid:latest` and serves everything on port
+**8484**.
+
+Not using Docker? Install the [Linux service](docs/usage.md#linux-service) from
+the `.deb`, `.rpm` or AUR package, or
+[build from source](docs/usage.md#build-from-source).
## Connect Sonarr and Radarr
-In each app, add these two connections using the API key from `.env`:
+Open `http://:8484/`, sign in with the API key and go to
+**Setup**. The page lists the values for your install, ready to copy.
-1. **Download client:** open **Settings → Download Clients**, add **SABnzbd** and
- name it `magnetowid`. Enter magnetowid's host and port `8484`. Set the
- category to `tv` in Sonarr or `movies` in Radarr.
-2. **Indexer:** open **Settings → Indexers** and add **Newznab**, one per site.
- For TVP VOD, use `http://:8484/tvp` with API path `/api`;
- for BBC iPlayer, `http://:8484/bbc`. Select categories
- `5000, 5040` in Sonarr or `2000, 2040` in Radarr. Set **Download Client** to
- the `magnetowid` client from step 1.
-3. **Test** and **Save** both connections, then search from Sonarr or Radarr.
+
+
+
+
+
+
-Use a host address reachable from your apps, and make sure both can read the
-download folder. See [Docker networking and shared downloads](docs/usage.md#docker-networking-and-shared-downloads)
-for container hostnames, volume mounts and Remote Path Mappings.
+In each app, add two connections with the API key from `.env`:
+
+1. **Download client.** Under **Settings → Download Clients**, add **SABnzbd**
+ and name it `magnetowid`. Enter magnetowid's host and port `8484`. Set the
+ category to `tv` in Sonarr or `movies` in Radarr.
+2. **Indexers.** Under **Settings → Indexers**, add **Newznab**, one for each
+ site: `http://:8484/tvp` for TVP VOD and
+ `http://:8484/bbc` for BBC iPlayer, both with API path
+ `/api`. Select categories `5000, 5040` in Sonarr or `2000, 2040` in Radarr,
+ and set **Download Client** to the `magnetowid` client from step 1.
+3. **Test** and **Save** both, then search from Sonarr or Radarr.
+
+> [!NOTE]
+> Use a host address your apps can reach, and make sure they can read the
+> download folder. [Docker networking and shared downloads](docs/usage.md#docker-networking-and-shared-downloads)
+> covers container hostnames, volume mounts and Remote Path Mappings.
## Web interface
-Open `http://:8484/` and sign in with the API key to see the
-queue and history, to pause, resume or remove downloads, and to correct matches
-with overrides. Its Setup page lists the values to enter in Sonarr and Radarr.
-See [Web interface](docs/usage.md#web-interface).
+Open `http://:8484/` and sign in with the API key.
+
+| Page | What it is for |
+|---|---|
+| **Queue** | The running download's progress and time left, and what is up next. Pause, resume or remove downloads. |
+| **History** | Finished and failed downloads from the last 30 days, with the error of any that failed. |
+| **Overrides** | Forms to [correct a match](docs/usage.md#correcting-matches) for a series or a film. |
+| **Setup** | The values to enter in Sonarr and Radarr, and whether each site is reachable. |
+
+See [Web interface](docs/usage.md#web-interface) for the details.
+
+## Documentation
-## Help and contributing
+- [Setup and configuration](docs/usage.md): installation options and every setting.
+- [Correcting matches](docs/usage.md#correcting-matches): overrides for titles, seasons and single episodes.
+- [Troubleshooting](docs/usage.md#troubleshooting): help with connections, downloads and imports.
+- [Limitations](docs/usage.md#limitations): what magnetowid can't do.
+- [Adding a site](docs/usage.md#adding-a-site) and the [development guide](docs/usage.md#development).
-- [Setup and configuration](docs/usage.md): installation options and settings.
-- [Troubleshooting](docs/usage.md#troubleshooting): help with connections and downloads.
-- [GitHub Issues](https://github.com/combor/magnetowid/issues): report a bug or suggest an improvement.
-- [Add a provider](docs/usage.md#adding-a-site) or use the [development guide](docs/usage.md#development).
+Found a bug or missing something? [Open an issue](https://github.com/combor/magnetowid/issues).
## License
diff --git a/docs/images/logo-dark.svg b/docs/images/logo-dark.svg
new file mode 100644
index 0000000..64b65cd
--- /dev/null
+++ b/docs/images/logo-dark.svg
@@ -0,0 +1,16 @@
+
diff --git a/docs/images/logo-light.svg b/docs/images/logo-light.svg
new file mode 100644
index 0000000..7aaabbf
--- /dev/null
+++ b/docs/images/logo-light.svg
@@ -0,0 +1,16 @@
+
diff --git a/docs/images/queue-dark.png b/docs/images/queue-dark.png
new file mode 100644
index 0000000..994ad05
Binary files /dev/null and b/docs/images/queue-dark.png differ
diff --git a/docs/images/queue-light.png b/docs/images/queue-light.png
new file mode 100644
index 0000000..b3d02b7
Binary files /dev/null and b/docs/images/queue-light.png differ
diff --git a/docs/images/setup-dark.png b/docs/images/setup-dark.png
new file mode 100644
index 0000000..8bef3a4
Binary files /dev/null and b/docs/images/setup-dark.png differ
diff --git a/docs/images/setup-light.png b/docs/images/setup-light.png
new file mode 100644
index 0000000..10a4fc7
Binary files /dev/null and b/docs/images/setup-light.png differ
diff --git a/docs/usage.md b/docs/usage.md
index 04ff3cf..44bdac8 100644
--- a/docs/usage.md
+++ b/docs/usage.md
@@ -249,8 +249,8 @@ An override replaces magnetowid's matching for everything it covers,
including its checks. An episode it places where the site has none, or only a
paid one, gets no release; other episodes are matched as before. Overrides
apply to searches and RSS, including the title searches Sonarr makes when its
-TVDB ID search finds nothing. Specials are not supported. See each site's
-notes for its numbering.
+TVDB ID search finds nothing. Season rules cover numbered seasons only; pin
+specials one by one, as `S00E01`. See each site's notes for its numbering.
## Docker networking and shared downloads