Installation
Pre-built binaries
Download the latest binary for your platform from the Releases page.
| Platform | Binary |
|---|---|
| Linux AMD64 | mediaflow-proxy-light-linux-x86_64 |
| Linux ARM64 | mediaflow-proxy-light-linux-aarch64 |
| macOS Intel | mediaflow-proxy-light-macos-x86_64 |
| macOS Apple Silicon | mediaflow-proxy-light-macos-aarch64 |
| Windows 64-bit | mediaflow-proxy-light-windows-x86_64.exe |
Linux / macOS
wget https://github.com/mhdzumair/MediaFlow-Proxy-Light/releases/latest/download/mediaflow-proxy-light-linux-x86_64
chmod +x mediaflow-proxy-light-linux-x86_64
sudo mv mediaflow-proxy-light-linux-x86_64 /usr/local/bin/mediaflow-proxy-light
# Start with a password
APP__AUTH__API_PASSWORD=your-secure-password mediaflow-proxy-light
Windows
Download mediaflow-proxy-light-windows-x86_64.exe, rename it, and run:
$env:APP__AUTH__API_PASSWORD="your-secure-password"
.\mediaflow-proxy-light.exe
Docker
Supports linux/amd64 and linux/arm64.
Quick run
docker run -d \
-p 8888:8888 \
-e APP__SERVER__HOST=0.0.0.0 \
-e APP__SERVER__PORT=8888 \
-e APP__AUTH__API_PASSWORD=your-secure-password \
--name mediaflow-proxy-light \
--restart unless-stopped \
ghcr.io/mhdzumair/mediaflow-proxy-light:latest
Docker Compose
services:
mediaflow-proxy-light:
image: ghcr.io/mhdzumair/mediaflow-proxy-light:latest
ports:
- "8888:8888"
environment:
APP__SERVER__HOST: "0.0.0.0"
APP__AUTH__API_PASSWORD: "your-secure-password"
restart: unless-stopped
With Redis
services:
mediaflow-proxy-light:
image: ghcr.io/mhdzumair/mediaflow-proxy-light:latest
ports:
- "8888:8888"
environment:
APP__AUTH__API_PASSWORD: "your-secure-password"
APP__REDIS__URL: "redis://redis:6379"
depends_on:
- redis
restart: unless-stopped
redis:
image: redis:7-alpine
restart: unless-stopped
See Docker build optimizations for faster multi-platform image builds.
Android & Android TV (APK)
The mediaflow-proxy-android companion app bundles the proxy binary inside an APK and runs it as a persistent foreground service. No root, no Termux, no terminal — just install and tap Start.
Two APK flavors are published:
| Flavor | Package | Best for |
|---|---|---|
| Mobile | com.mediaflow.proxy |
Phones and tablets (Material 3 UI) |
| TV | com.mediaflow.proxy.tv |
Android TV / Fire TV (D-pad Leanback UI) |
Both flavors can be installed on the same device without conflict.
Download
Go to the mediaflow-proxy-android Releases page and download the APK that matches your device:
| APK file | Device CPU |
|---|---|
mediaflow-proxy-mobile-arm64-v8a.apk |
Most phones/tablets (2016+) |
mediaflow-proxy-mobile-armeabi-v7a.apk |
Older 32-bit ARM phones |
mediaflow-proxy-mobile-universal.apk |
Any phone/tablet (larger file) |
mediaflow-proxy-tv-arm64-v8a.apk |
Most Android TV / Fire TV boxes (2018+) |
mediaflow-proxy-tv-armeabi-v7a.apk |
Older 32-bit Android TV boxes |
mediaflow-proxy-tv-universal.apk |
Any Android TV / Fire TV box (larger file) |
If you are unsure which CPU your device has, use the universal APK — it works on all supported chips.
Install the APK (sideloading)
On a phone or tablet:
- Open Settings → Apps → Special app access → Install unknown apps.
- Allow installs from your browser or file manager.
- Open the downloaded APK and tap Install.
On Android TV / Fire TV (via remote):
- Install Downloader by AFTVnews from the TV app store.
- Open Downloader, enter the direct APK URL from the Releases page, and download.
- Downloader will prompt you to install — tap Install.
On Android TV / Fire TV (via adb):
adb connect <device-ip>:5555
adb install mediaflow-proxy-tv-arm64-v8a.apk
Play Protect warning
[!WARNING] Google Play Protect will show "Harmful app blocked" when you install the APK. This is a false positive — tap More details → Install anyway.
The warning is triggered by a combination of factors that are all necessary for the proxy to work: the app spawns a native subprocess, opens a TCP listener on port 8888, and requests battery-optimization exemption so streams do not stall when backgrounded. Nothing is uploaded or exfiltrated. The proxy binary source is at mediaflow-proxy-light and every release is built reproducibly from tagged commits.
First-time setup
- Open the MediaFlow Proxy app.
- Set an API password in the Config tab (strongly recommended).
- Tap Start — the proxy starts as a foreground service and shows a persistent notification.
- The proxy is now reachable at
http://<device-ip>:8888from any device on the same network.
[!NOTE] The app requests "Ignore battery optimizations" on first launch. Grant it to prevent Android from suspending the proxy service during playback.
Auto-start on boot
Enable Start on Boot in the app settings to have the proxy start automatically whenever the device powers on. This is useful for Android TV boxes used as a dedicated proxy server.
Finding your device's IP address
- Phone/tablet: Settings → Wi-Fi → tap your network → IP address
- Android TV: Settings → Network → About → IP address
- Fire TV: Settings → My Fire TV → About → Network
Use this IP when configuring clients (Stremio addons, IPTV players, etc.):
http://<device-ip>:8888
The proxy port can be changed in the app's Config tab.
For Telegram MTProto streaming setup, see Telegram proxy.
Building from source
Prerequisites
- Rust 1.84+
- OpenSSL development libraries
- Ubuntu/Debian:
sudo apt install libssl-dev pkg-config - macOS:
brew install openssl - FFmpeg (optional, required for transcoding feature)
git clone https://github.com/mhdzumair/MediaFlow-Proxy-Light
cd MediaFlow-Proxy-Light
cargo build --release
# Run with a config file
CONFIG_PATH=./config-example.toml ./target/release/mediaflow-proxy-light
Build with all features
cargo build --release --features "redis,transcode"
Build the benchmark tool
cargo build --release --features benchmark --bin benchmark
./target/release/benchmark --help