[Skip to content](https://github.com/peterdsp/Magnetio/tree/main/addon#start-of-content)

You signed in with another tab or window. [Reload](https://github.com/peterdsp/Magnetio/tree/main/addon) to refresh your session.You signed out in another tab or window. [Reload](https://github.com/peterdsp/Magnetio/tree/main/addon) to refresh your session.You switched accounts on another tab or window. [Reload](https://github.com/peterdsp/Magnetio/tree/main/addon) to refresh your session.Dismiss alert

{{ message }}

[peterdsp](https://github.com/peterdsp)/ **[Magnetio](https://github.com/peterdsp/Magnetio)** Public

- [Notifications](https://github.com/login?return_to=%2Fpeterdsp%2FMagnetio) You must be signed in to change notification settings
- [Fork\\
3](https://github.com/login?return_to=%2Fpeterdsp%2FMagnetio)
- [Star\\
19](https://github.com/login?return_to=%2Fpeterdsp%2FMagnetio)


## Collapse file tree

## Files

main

Search this repository(forward slash)` forward slash/`

/

# addon

/

Copy path

## Directory actions

## More options

More options

## Directory actions

## More options

More options

## Latest commit

[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4&size=40)](https://github.com/apps/dependabot)[dependabot\[bot\]](https://github.com/peterdsp/Magnetio/commits?author=dependabot%5Bbot%5D)

[Bump redis from 6.0.1 to 6.1.0 in /addon in the addon-minor-patch gro…](https://github.com/peterdsp/Magnetio/commit/3300bf1c96c1fc49207e45e234d8d7389eedfc53)

Open commit details

2 days agoJul 2, 2026

[3300bf1](https://github.com/peterdsp/Magnetio/commit/3300bf1c96c1fc49207e45e234d8d7389eedfc53) · 2 days agoJul 2, 2026

## History

[History](https://github.com/peterdsp/Magnetio/commits/main/addon)

Open commit details

[View commit history for this file.](https://github.com/peterdsp/Magnetio/commits/main/addon) History

/

# addon

/

Copy path

Top

## Folders and files

| Name | Name | Last commit message | Last commit date |
| --- | --- | --- | --- |
| ### parent directory<br> [..](https://github.com/peterdsp/Magnetio/tree/main) |
| [lib](https://github.com/peterdsp/Magnetio/tree/main/addon/lib "lib") | [lib](https://github.com/peterdsp/Magnetio/tree/main/addon/lib "lib") | [Fix scraper 429 rotation, add Debrid catalog toggle, document HTTPS/O…](https://github.com/peterdsp/Magnetio/commit/797dfb4886d061906069c51e344f4ec5ecaea99e "Fix scraper 429 rotation, add Debrid catalog toggle, document HTTPS/Oracle setup (#91)  * Scraper resilience, Debrid catalog toggle, HTTPS/Oracle deploy docs  Scraper (#65): - Rotate domains on HTTP 429 (previously bubbled up as an unhandled   status, never tried sibling domains) - Longer cooldown when a domain is rate-limited vs hard-failed - Bumped per-provider timeout from 15s to 25s; the hard scrape budget   is now provider+2s so per-provider timeouts can fire cleanly first - All windows tunable via SCRAPER_* env vars  Addon (#64): - New debridCatalogs config flag (default true); decouples \"Debrid key   set\" from \"Debrid cloud catalog enabled\" - Configure page exposes the toggle inside the Debrid Services card - Manifest skips Debrid catalogs when the flag is off  Docs (#63, #66): - README \"Exposing to the Internet\" rewritten with Caddy and Cloudflare   Tunnel snippets and a why-HTTPS-is-needed note - New \"Oracle Cloud / Free Tier VPS notes\" subsection covering VCN   security list + iptables rules  Generated with Claude Code  * Mention the hosted instance in the self-hosting section  Self-hosting is a choice, not a requirement. Call out magnetio.peterdsp.dev as the \"I just want it working\" path before diving into reverse proxies and Oracle VCN rules.  Generated with Claude Code") | 2 weeks agoJun 18, 2026 |
| [moch](https://github.com/peterdsp/Magnetio/tree/main/addon/moch "moch") | [moch](https://github.com/peterdsp/Magnetio/tree/main/addon/moch "moch") | [Add Torznab, Jackett, Prowlarr, TMDB recommendations, and marketing r…](https://github.com/peterdsp/Magnetio/commit/b00700b48713ed88978d8faf86ec852acdeab039 "Add Torznab, Jackett, Prowlarr, TMDB recommendations, and marketing redesign (#40)  * Add Torznab provider and optional Jackett/Prowlarr containers  Add a Torznab scraper provider that queries any Torznab-compatible endpoint (Jackett, Prowlarr, or standalone). Users configure the Torznab URL and API key in the configure page; the provider is conditionally active only when a URL is set.  Add Jackett and Prowlarr as optional Docker Compose services using profiles. Start them with --profile jackett or --profile prowlarr.   * Fix Torznab URL input missing dark background styling  Wrap the Torznab URL input in a password-wrap div to match the styling of all other input fields on the configure page.   * Redesign configure page with split layout and editorial typography  Inspired by Figma community design #45. Split layout with sticky hero panel (Bitter serif headings, Space Mono body, numbered feature callouts) and scrollable form panel. Warm peach accent (#ffcfaa) replacing the previous green. Pill-shaped buttons, responsive mobile layout with collapsible hero.   * Remove broken logo image from hero panel   * Update README with Torznab, Jackett, and Prowlarr documentation  Add Torznab provider to the provider tables, document Jackett and Prowlarr as optional Docker Compose services with profiles, add torznabUrl/torznabKey to the configuration parameters table, and update Quick Start with profile commands.   * Forward client IP to Real-Debrid API calls  Use AsyncLocalStorage to capture the Stremio client IP from the Express request and pass it as the `ip` parameter on every RD POST call (addMagnet, selectFiles, unrestrict/link). This lets RD associate the unrestricted download with the end user device instead of the server, preventing IP mismatch errors when streaming outside the home network.   * Restyle hero panel with Figma-inspired editorial layout  Update the configure page hero panel with mixed serif/italic headline typography, a 2x2 glassmorphic stats grid with real feature counts, and refined spacing. Keeps all form functionality intact.   * Add similar content recommendations via TMDB API  When a TMDB API key is configured, Magnetio shows a \"Similar\" catalog for every movie and series in Stremio. Recommendations are fetched from TMDB, enriched with IMDb IDs, and cached for 24 hours.  New files: addon/lib/similar.js (TMDB recommendation engine) Modified: manifest.js (register similar catalogs), addon.js (route catalog handler), configuration.js (parse tmdb key), landingTemplate.js (add Recommendations section with TMDB API key field).   * Redesign landing page as full marketing showcase  Dark cinematic theme with gradient accents, glass-morphism cards, and animated floating orbs. Full page sections: hero with gradient headline, stats bar (22+ providers, 8 debrid, 500+ indexers), 6-card feature grid, how-it-works flow, configure form, install bar, and footer. All form IDs and JS logic preserved.   * Add SEO meta tags, structured data, sitemap, and robots.txt  Add comprehensive SEO to the landing page: title tag with keywords, meta description, Open Graph tags, Twitter Card, JSON-LD structured data (SoftwareApplication schema), canonical URL.  Add /robots.txt and /sitemap.xml endpoints to serverless.js.  Update GitHub repo: description, homepage URL, and 20 topic tags covering all key search terms (stremio, debrid, jackett, prowlarr, torznab, self-hosted, etc.).  Update README with additional badges and links to magnetio.peterdsp.dev.   * Address Copilot review: security, caching, encoding, and docs  - Include torznab API key hash in cache keys (scraper + addon) - Validate torznab URL scheme (http/https only) to reduce SSRF risk - Redact full URL from logs, show only origin - Coerce NaN to 0 for parsed numeric torznab fields - Wrap decodeURIComponent in try/catch for malformed encoding - URL-encode torznabKey in config string builder - Use TorrentProvider.TORZNAB constant instead of hardcoded string - Update scrapeAll JSDoc for context parameter") | last monthJun 1, 2026 |
| [static](https://github.com/peterdsp/Magnetio/tree/main/addon/static "static") | [static](https://github.com/peterdsp/Magnetio/tree/main/addon/static "static") | [Apply Magnetio SVG branding across addon and README](https://github.com/peterdsp/Magnetio/commit/bd14408e080c92a29eb636ef05ede90be294952f "Apply Magnetio SVG branding across addon and README  Use the self-hosted Magnetio SVG assets for the addon manifest, landing page logo, favicon, social image tags, and README header so Stremio, the site, and the repo all share the same branding.") | last monthJun 4, 2026 |
| [test](https://github.com/peterdsp/Magnetio/tree/main/addon/test "test") | [test](https://github.com/peterdsp/Magnetio/tree/main/addon/test "test") | [update (](https://github.com/peterdsp/Magnetio/commit/e43489c81c1d0864c0af584215e63baac6e3be57 "update (#82)") [#82](https://github.com/peterdsp/Magnetio/pull/82) [)](https://github.com/peterdsp/Magnetio/commit/e43489c81c1d0864c0af584215e63baac6e3be57 "update (#82)") | 3 weeks agoJun 12, 2026 |
| [.dockerignore](https://github.com/peterdsp/Magnetio/blob/main/addon/.dockerignore ".dockerignore") | [.dockerignore](https://github.com/peterdsp/Magnetio/blob/main/addon/.dockerignore ".dockerignore") | [Initial Magnetio project scaffold](https://github.com/peterdsp/Magnetio/commit/73ad77a53b1eac7f6a4fb953a85b5936a624461b "Initial Magnetio project scaffold  Add full project scaffold for Magnetio: introduces addon and scraper services, Dockerfiles, docker-compose, documentation (README.md, CODE.md) and numerous library modules and entry points. Key additions: addon server (index.js, addon.js, serverless routing), addon libs (manifest, configuration, cache, filter, sort, streamInfo, magnetHelper, logger, namedQueue, landing template, types), moch debrid integrations and static injections, scraper service (index, providers, http client, cache, logger, title helper), package.json files, .env examples and .dockerignore files. Provides Redis-backed caching, Prometheus metrics middleware, configuration parsing/presets, and health endpoints — a ready base for building the Stremio torrent aggregator with multi-debrid support.") | 4 months agoMar 14, 2026 |
| [.env.example](https://github.com/peterdsp/Magnetio/blob/main/addon/.env.example ".env.example") | [.env.example](https://github.com/peterdsp/Magnetio/blob/main/addon/.env.example ".env.example") | [Add subtitle proxy and debrid prewarm](https://github.com/peterdsp/Magnetio/commit/ad7df51725416e57066807c30ff6833c12e17b91 "Add subtitle proxy and debrid prewarm  Introduce stream-specific subtitle proxy + sync pipeline and background debrid prewarm. Adds a new addon/lib/subtitleProxy.js that generates per-stream proxy IDs, computes OpenSubtitles hashes, fetches subtitles, and attempts alignment via ffsubsync/alass (configurable via env). Exposes /proxy/subtitle/:id.srt and wires proxy URL generation into debrid-enhanced streams. Implement background prewarm: new config options (prewarm, prewarmLimit), parsing defaults, landing UI controls, and a scheduling pipeline in moch/moch.js that uses a named queue and cache to pre-add top uncached torrents to supported services. Add prewarm implementations to moch modules (realdebrid, alldebrid, debridlink, offcloud, putio, torbox). Small supporting changes: cacheGet/cacheSet helpers, public base URL handling in serverless router (ADDON_PUBLIC_URL override), OpenSubtitles hash helper exposed, and tests for subtitle proxy, hash helper, and prewarm candidate selection.") | 3 months agoApr 11, 2026 |
| [Dockerfile](https://github.com/peterdsp/Magnetio/blob/main/addon/Dockerfile "Dockerfile") | [Dockerfile](https://github.com/peterdsp/Magnetio/blob/main/addon/Dockerfile "Dockerfile") | [Add deploy workflow and production env/config](https://github.com/peterdsp/Magnetio/commit/5ad2c310e772d318e3403cc642851b349032c84a "Add deploy workflow and production env/config  Add a GitHub Actions workflow to validate (install/test) and deploy the repo over SSH to a user-provided server, using rsync and docker compose, and optionally run a health check. Add a .env.example with production-relevant variables (public URL, metrics creds, OpenSubtitles keys, subtitle sync settings) and document deployment steps and required secrets in README. Update addon Dockerfile to use a Debian-based Node image, install ffmpeg, python3/pip and ffsubsync for subtitle syncing, and create a system user for runtime. Update docker-compose to pass the new env vars into the addon service. These changes enable simple server deploys and production configuration for subtitle sync and health checks.") | 3 months agoApr 11, 2026 |
| [addon.js](https://github.com/peterdsp/Magnetio/blob/main/addon/addon.js "addon.js") | [addon.js](https://github.com/peterdsp/Magnetio/blob/main/addon/addon.js "addon.js") | [update (](https://github.com/peterdsp/Magnetio/commit/e43489c81c1d0864c0af584215e63baac6e3be57 "update (#82)") [#82](https://github.com/peterdsp/Magnetio/pull/82) [)](https://github.com/peterdsp/Magnetio/commit/e43489c81c1d0864c0af584215e63baac6e3be57 "update (#82)") | 3 weeks agoJun 12, 2026 |
| [index.js](https://github.com/peterdsp/Magnetio/blob/main/addon/index.js "index.js") | [index.js](https://github.com/peterdsp/Magnetio/blob/main/addon/index.js "index.js") | [Initial Magnetio project scaffold](https://github.com/peterdsp/Magnetio/commit/73ad77a53b1eac7f6a4fb953a85b5936a624461b "Initial Magnetio project scaffold  Add full project scaffold for Magnetio: introduces addon and scraper services, Dockerfiles, docker-compose, documentation (README.md, CODE.md) and numerous library modules and entry points. Key additions: addon server (index.js, addon.js, serverless routing), addon libs (manifest, configuration, cache, filter, sort, streamInfo, magnetHelper, logger, namedQueue, landing template, types), moch debrid integrations and static injections, scraper service (index, providers, http client, cache, logger, title helper), package.json files, .env examples and .dockerignore files. Provides Redis-backed caching, Prometheus metrics middleware, configuration parsing/presets, and health endpoints — a ready base for building the Stremio torrent aggregator with multi-debrid support.") | 4 months agoMar 14, 2026 |
| [package-lock.json](https://github.com/peterdsp/Magnetio/blob/main/addon/package-lock.json "package-lock.json") | [package-lock.json](https://github.com/peterdsp/Magnetio/blob/main/addon/package-lock.json "package-lock.json") | [Bump redis from 6.0.1 to 6.1.0 in /addon in the addon-minor-patch gro…](https://github.com/peterdsp/Magnetio/commit/3300bf1c96c1fc49207e45e234d8d7389eedfc53 "Bump redis from 6.0.1 to 6.1.0 in /addon in the addon-minor-patch group (#97)  Bumps the addon-minor-patch group in /addon with 1 update: [redis](https://github.com/redis/node-redis).   Updates `redis` from 6.0.1 to 6.1.0 - [Release notes](https://github.com/redis/node-redis/releases) - [Changelog](https://github.com/redis/node-redis/blob/master/CHANGELOG.md) - [Commits](https://github.com/redis/node-redis/compare/redis@6.0.1...redis@6.1.0)  --- updated-dependencies: - dependency-name: redis   dependency-version: 6.1.0   dependency-type: direct:production   update-type: version-update:semver-minor   dependency-group: addon-minor-patch ...  Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>") | 2 days agoJul 2, 2026 |
| [package.json](https://github.com/peterdsp/Magnetio/blob/main/addon/package.json "package.json") | [package.json](https://github.com/peterdsp/Magnetio/blob/main/addon/package.json "package.json") | [Bump redis from 6.0.1 to 6.1.0 in /addon in the addon-minor-patch gro…](https://github.com/peterdsp/Magnetio/commit/3300bf1c96c1fc49207e45e234d8d7389eedfc53 "Bump redis from 6.0.1 to 6.1.0 in /addon in the addon-minor-patch group (#97)  Bumps the addon-minor-patch group in /addon with 1 update: [redis](https://github.com/redis/node-redis).   Updates `redis` from 6.0.1 to 6.1.0 - [Release notes](https://github.com/redis/node-redis/releases) - [Changelog](https://github.com/redis/node-redis/blob/master/CHANGELOG.md) - [Commits](https://github.com/redis/node-redis/compare/redis@6.0.1...redis@6.1.0)  --- updated-dependencies: - dependency-name: redis   dependency-version: 6.1.0   dependency-type: direct:production   update-type: version-update:semver-minor   dependency-group: addon-minor-patch ...  Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>") | 2 days agoJul 2, 2026 |
| [serverless.js](https://github.com/peterdsp/Magnetio/blob/main/addon/serverless.js "serverless.js") | [serverless.js](https://github.com/peterdsp/Magnetio/blob/main/addon/serverless.js "serverless.js") | [update (](https://github.com/peterdsp/Magnetio/commit/e43489c81c1d0864c0af584215e63baac6e3be57 "update (#82)") [#82](https://github.com/peterdsp/Magnetio/pull/82) [)](https://github.com/peterdsp/Magnetio/commit/e43489c81c1d0864c0af584215e63baac6e3be57 "update (#82)") | 3 weeks agoJun 12, 2026 |
| View all files |

You can’t perform that action at this time.