Show HN: I pipe free sports streams into Jellyfin – no ads, just HLS

What it does
A new open-source toolkit, hls-restream-proxy, aims to make free HLS/IPTV sources play nicely with self‑hosted media servers like Jellyfin, Emby and Plex. The project sits between your server and upstream HLS hosts, injecting User‑Agent and Referer headers, rewriting m3u8 playlists and proxying .ts segments so everything routes back through a stable /channel/
How it works
It’s refresh‑and‑proxy simplicity: a small Python reverse proxy (stdlib only) plus bash helpers that scrape pages, extract m3u8 links and auto‑detect which headers each stream needs. The proxy caches upstream m3u8s for an hour, auto‑learns referer values, and rewrites playlists so segments are fetched through the same proxy — no more one‑off token URLs that die mid‑game. Requirements are light: Python 3.8+, bash, curl and grep with PCRE. There are systemd units and Docker notes for typical self‑hosted setups (hint: use the Docker gateway IP, not 127.0.0.1).
Why people care
For anyone who’s wrestled with flaky embeds, weird header checks, or ad‑heavy free streams, this is a tidy bit of engineering: automatic header detection removes the guesswork, and stable M3Us mean your media server doesn’t need constant reconfiguration. Who doesn’t love fewer interruptions? It’s also a reminder that small, pragmatic tooling can unlock a surprisingly pleasant UX for self‑hosted services — without lots of moving parts.
Caveats
A quick reality check: free streams can be legally murky. The project is a network tool; it doesn’t validate the legality of particular sources. Use responsibly and check local law and terms of service before plugging in content. The code lives on GitHub (pcruz1905/hls-restream-proxy) and, as with any tooling that touches streaming sources, expect tinkering — but not a lot.
Sources: github.com/pcruz1905, Hacker News
Comments