A high-performance streaming proxy written in Rust. A lightweight, drop-in-compatible reimplementation of MediaFlow Proxy, optimised for throughput and low latency.
Custom request header, e.g. h_Authorization=Bearer token
Channels DVR setup: paste /proxy/epg?d=<url>&api_password=<key> as your XMLTV source URL.
Extractor
Method
Path
Description
GET/HEAD
/extractor/video
Extract stream URL from a video host
GET/HEAD
/extractor/video.<ext>
Same, with extension hint for players
Parameters:host=<name> (see extractor table above), d=<page_url>, api_password.
Xtream Codes
Path
Description
/player_api.php
XC player API
/xmltv.php
XC EPG/XMLTV endpoint
/get.php
M3U playlist export
/<u>/<p>/<id>.<ext>
Short stream URL
Acestream
Path
Description
/proxy/acestream/manifest.m3u8
HLS manifest for Acestream content
/proxy/acestream/stream
MPEG-TS stream
/proxy/acestream/status
Session status
Telegram
Path
Description
/proxy/telegram/stream
Stream Telegram media
/proxy/telegram/info
Media info
/proxy/telegram/status
Connection status
Utilities
Method
Path
Description
GET
/proxy/ip
Public IP of the proxy server
POST
/generate_url
Generate signed/encrypted proxy URL
POST
/base64/encode
Base64-encode a URL
POST
/base64/decode
Decode a base64 URL
GET
/base64/check
Check if a string is base64-encoded
GET
/health
Health check (unauthenticated)
GET
/metrics
Request metrics — requires ?api_password=… (same credential as other endpoints)
GET
/playlist/builder
M3U playlist builder
GET
/speedtest
Speed test UI
Example Usage
bash
1# Generic stream2mpv "http://localhost:8888/proxy/stream?d=https://example.com/video.mp4&api_password=secret"34# HLS with custom headers5mpv "http://localhost:8888/proxy/hls/manifest.m3u8?d=https://example.com/live.m3u8&h_Referer=https://example.com&api_password=secret"67# EPG proxy (for Channels DVR, Plex, etc.)8curl"http://localhost:8888/proxy/epg?d=http://provider.com/epg.xml&api_password=secret"910# Extract stream URL from a video host11curl"http://localhost:8888/extractor/video?host=vidoza&d=https://vidoza.net/abc123&api_password=secret"1213# Get proxy server public IP (for Debrid allowlisting)14curl"http://localhost:8888/proxy/ip"
Benchmarking
A reproducible, production-quality benchmark suite lives in
tools/benchmark/. It uses a Go client (no GIL) against
a native nginx upstream and measures latency, throughput, CPU and memory.
bash
1cd tools/benchmark
23# 1. Build the client4go build -o bench bench.go
56# 2. Start nginx upstream (serves /tmp/test.bin on :9997)7ddif=/dev/urandom of=/tmp/test.bin bs=1M count=78nginx -c $(pwd)/nginx-bench.conf
910# 3. With both proxies running (Rust on :8888, Python on :8889), run:11BENCH_UPSTREAM="http://127.0.0.1:9997/test.bin" ./bench