MediaFlow Proxy is a streaming proxy for HTTP(S), HLS (M3U8), and MPEG-DASH—including ClearKey DRM and real-time DASH-to-HLS conversion. It also supports IPTV (Xtream Codes), Acestream, Telegram media, transcoding, and advanced routing.
Full documentation: mhdzumair.github.io/mediaflow-proxy (built from the docs/ folder with MkDocs Material).
docker run -p 8888:8888 -e API_PASSWORD=your_password mhdzumair/mediaflow-proxy- DASH (ClearKey) to HLS, HLS manipulation, generic HTTP(S) proxy with custom headers
- Xtream Codes API proxy, Acestream, Telegram (MTProto) streaming
- Optional GPU transcoding (fMP4 H.264/AAC), pre-buffering, segment skip, stream transformers
- Redis-backed rate limiting, encrypted URL generation, reverse-proxy–friendly forwarded headers
| Resource | Link |
|---|---|
| User & operator manual | Documentation site |
| Markdown sources | docs/ in this repository |
| Build docs locally | uv sync --group docs then uv run mkdocs serve |
For lower memory usage and higher throughput — especially on constrained hardware (small VPS, NAS, Raspberry Pi) — see MediaFlow Proxy Light, a Rust reimplementation that is fully API-compatible with this proxy. Benchmarks show 7–8× less memory, 1.7–3.4× less CPU per request, and up to 4× higher throughput. Existing tokens, encrypted URLs, and client integrations work without changes.
Contributions are welcome! see Contributing in the docs and open a Pull Request on GitHub.
This project is for educational purposes only. The developers of MediaFlow Proxy are not responsible for any misuse of this software. Please ensure that you have the necessary permissions to access and use the media streams you are proxying.
