u/Curious_User17

Image 1 —
Image 2 —

Background: I built this project because I wanted to run Stremio in a way that felt like a "set it and forget it," repeatable, and a lot safer than just hoping my VPN client was connected in the background in a Linux environment. If you are hosting the streaming server on a linux machine, you know what i am talking about. The whole point of this project was to make that safer path the default, so I could use my own server routed with a domain via HTTPS and not have to constantly think whether traffic was escaping the VPN or one small misconfiguration was exposing more than I intended.

It runs Stremio behind a Gluetun VPN container with a real firewall-based kill switch, startup verification, public-IP leak checks, and a background watchdog. I also added a small patch layer to improve reverse-proxy / HTTPS behavior and smooth out some annoying mobile playback edge cases.

Main focus:

  • easier first-run setup
  • safer torrent/VPN routing with a kill switch locked under a container
  • better routing behavior behind a domain/reverse proxy
  • cleaner logs and contributor-friendly structure
  • VPN tunnel drop watch dog

Optional quality-of-life patches

  • Keeps Stremio’s external redirect pointed at your public HTTPS domain instead of an internal/self-reported URL. In my case, when I routed a public domain to the server, Stremio would not consistently preserve HTTPS on its own; instead, it would stick with a bare HTTP URL.
  • Rewrites Stremio’s self-probe media URLs back to loopback so reverse proxies do not break playback internals.
  • Cuts down noisy repeated hardware probe checks on reconnects when the probe-skip option is enabled.
  • Returns an empty /casting response when casting is disabled, so the web client does not show a false “server offline” warning in the verbose logs.
  • Ignores favicon requests that were creating misleading parser noise in the logs.
  • Separates playback-critical patches from cosmetic ones so harmless upstream drift degrades softly instead of breaking the whole build.

If you run Stremio in Docker/Linux and want something a bit more locked down, I’d love for people to try it and tell me what works, what breaks, and what should be simpler.

Repo: https://github.com/EphremTil17/StremioGuard/tree/main

u/Curious_User17 — 15 days ago