explaingit

etmedia/iptv-proxy

Analysis updated 2026-05-18

0GoAudience · ops devopsComplexity · 2/5Setup · easy

TLDR

A minimal Go reverse proxy that forwards IPTV live stream requests to an upstream source with immediate, unbuffered writes to keep latency low.

Mindmap

A visual breakdown will appear here once this repo is fully enriched.

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run a local proxy in front of an ISP's IPTV multicast or unicast source.

USE CASE 2

Point a media player at a local address instead of the raw upstream IPTV source.

USE CASE 3

Deploy the prebuilt Linux binary on a router or small local server.

USE CASE 4

Use the included nginx config as an alternative to running the Go binary.

What is it built with?

Go

How does it compare?

etmedia/iptv-proxyaasheeshlikepanner/vasealexzielenski/controller-runtime
Stars00
LanguageGoGoGo
Last pushed2022-04-20
MaintenanceDormant
Setup difficultyeasymoderatehard
Complexity2/54/54/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires your own upstream IPTV source address, the default in the README is a placeholder that must be replaced.

In plain English

iptv-proxy is a small, minimal reverse proxy written in Go for forwarding IPTV live stream requests. It listens on a local address and port, and forwards any incoming request straight through to an upstream IPTV source, keeping the original path and query string unchanged and only swapping out the destination host. The README, written in Chinese, describes the tool as suited for local or router based forwarding of an internet provider's multicast or unicast streaming source. It is built on Go's standard library reverse proxy, with one specific setting turned on: the flush interval is set so that every write to the client happens immediately rather than being buffered, which keeps a live stream's latency low and prevents data from building up unsent. To use it, a person downloads a prebuilt binary for Linux (amd64 or arm64) from the project's releases, or compiles it themselves with Go 1.26 or newer. Running it takes two command line flags: one for the local address and port to listen on, and one for the address and port of the actual upstream IPTV source, which the user must supply themselves. Once running, a media player is pointed at the local listening address instead of the original source, using the same path structure as before. The repository also includes an equivalent nginx configuration file as a reference, for anyone who would rather run the same forwarding behavior through nginx, including handling of redirect responses. The project notes it was built with help from Claude Code.

Copy-paste prompts

Prompt 1
Help me download and run the right iptv-proxy binary for my Linux router.
Prompt 2
Explain what the -listen and -upstream flags do and how to set them for my IPTV source.
Prompt 3
Walk me through compiling iptv-proxy from source with Go 1.26.
Prompt 4
Compare running iptv-proxy versus the included nginx config for the same forwarding behavior.

Frequently asked questions

What is iptv-proxy?

A minimal Go reverse proxy that forwards IPTV live stream requests to an upstream source with immediate, unbuffered writes to keep latency low.

What language is iptv-proxy written in?

Mainly Go. The stack also includes Go.

How hard is iptv-proxy to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is iptv-proxy for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.