Acestream Proxy
MediaFlow Proxy Light can proxy Acestream P2P streams through a standard HLS or MPEG-TS interface, letting players like VLC, Kodi, mpv, and Stremio play Acestream links without a native Acestream plugin.
How it works
The proxy sits between your player and a local (or remote) Acestream engine:
- Your player requests
/proxy/acestream/manifest.m3u8?id=<infohash>. - The proxy calls the engine's JSON API to start a playback session and obtain a
playback_urlwith anaccess_token. - The proxy fetches and rewrites the HLS manifest, replacing engine-internal URLs with proxy URLs.
- Your player fetches segments through
/proxy/acestream/stream, which the proxy fetches from the engine's getstream endpoint.
When the last client disconnects, the proxy sends a stop command to the engine (with a 30-second grace period to handle player reconnects and probing).
Prerequisites
- A running Acestream engine (desktop or Android).
- The proxy must be able to reach the engine over HTTP (default port
6878). - Proxy configured with
APP__ACESTREAM__HOSTandAPP__ACESTREAM__PORTpointing at the engine.
Endpoints
| Method | Path | Description |
|---|---|---|
GET/HEAD |
/proxy/acestream/manifest.m3u8 |
Start session and return HLS manifest |
GET/HEAD |
/proxy/acestream/stream |
Raw MPEG-TS stream from the engine |
GET/HEAD |
/proxy/acestream/segment.<ext> |
Individual HLS segment proxy |
GET |
/proxy/acestream/status |
Active session registry (JSON) |
Parameters
| Parameter | Required | Description |
|---|---|---|
id |
Yes (or infohash) |
Acestream content ID / infohash (40-char hex) |
infohash |
Yes (or id) |
Same as id — use whichever form your link provides |
api_password |
If auth enabled | API password |
[!NOTE]
idandinfohashare equivalent — use whichever your Acestream link provides. Links from Kodi/Stremio addons typically useid.
Usage examples
HLS (for most players)
# VLC / mpv — HLS manifest
vlc "http://localhost:8888/proxy/acestream/manifest.m3u8?id=dd1e67078381739d14beca697356ab76d49d1a6d&api_password=changeme"
mpv "http://localhost:8888/proxy/acestream/manifest.m3u8?id=dd1e67078381739d14beca697356ab76d49d1a6d&api_password=changeme"
MPEG-TS (for players with better TS support)
# Direct MPEG-TS stream
vlc "http://localhost:8888/proxy/acestream/stream?id=dd1e67078381739d14beca697356ab76d49d1a6d&api_password=changeme"
Kodi
In Kodi, add the manifest URL as a live IPTV source or use the Acestream Kodi plugin pointing at the proxy.
Stremio addon
Stremio addons that resolve Acestream streams can use:
http://<proxy-host>:8888/proxy/acestream/manifest.m3u8?id={infohash}&api_password=changeme
Remote engine
If the Acestream engine runs on a different machine (e.g. Android TV box running the Acestream app), configure the proxy to point at it:
APP__ACESTREAM__HOST=192.168.1.50
APP__ACESTREAM__PORT=6878
Or in TOML:
[acestream]
host = "192.168.1.50"
port = 6878
Engine access token
Some Android Acestream builds lock the HTTP API behind a token. Set it with:
APP__ACESTREAM__ACCESS_TOKEN=your-engine-token
Or in TOML:
[acestream]
access_token = "your-engine-token"
Free vs. premium engine
The proxy handles both automatically:
- Premium / unrestricted engine: uses the JSON API (
/ace/manifest.m3u8?format=json) to get theaccess_tokenand clean playback URL. - Free engine (Android without premium): the JSON API requires premium. The proxy falls back to direct HLS mode (
/ace/manifest.m3u8?id=...) which works without a token, though the engine injects ads into the stream.
Session status
curl "http://localhost:8888/proxy/acestream/status?api_password=changeme"
Returns the list of active sessions with infohash, client count, and session age.
Configuration reference
See Environment variables — Acestream and TOML config for the full list of settings.