Prerequisites
You need the following from your provider:- Base URL (e.g.
http://fantastic.provider.xyz:8080) - Username
- Password
Step 1: Define the input
Open source.yml
Add an entry under The
inputs with type: xtream.source.yml
name is a local identifier you reference later in sources.Create a source and target
Add a
sources block that wires the input to a named target with an xtream output.source.yml
Configure api-proxy.yml
Tell tuliprox which public URL to advertise and create a client credential.Set
api-proxy.yml
proxy: reverse if you want tuliprox to proxy stream traffic instead of redirecting clients directly to the provider.Xtream input options
Pass these underoptions on the input:
| Option | Description |
|---|---|
xtream_skip_live | Do not fetch live channels from this provider |
xtream_skip_vod | Do not fetch VOD entries |
xtream_skip_series | Do not fetch series |
xtream_live_stream_without_extension | Strip file extension from live stream URLs |
xtream_live_stream_use_prefix | Use the stream-URL prefix format instead of numeric IDs |
resolve_tmdb | Enrich VOD/series metadata via TMDB |
probe_stream | Probe streams to detect codec and quality information |
resolve_series | Fetch detailed series metadata |
resolve_vod | Fetch detailed VOD metadata |
source.yml
Xtream output options
Pass these under theoutput entry with type: xtream:
| Field | Default | Description |
|---|---|---|
skip_live_direct_source | true | Hide provider direct-source URL for live |
skip_video_direct_source | true | Hide provider direct-source URL for VOD |
skip_series_direct_source | true | Hide provider direct-source URL for series |
filter | — | Extra per-output filter expression |
Testing the connection
After starting tuliprox, verify the Xtream endpoint responds:user_info and server_info fields.
To fetch the live category list:
Common issues
Empty playlist after boot
Empty playlist after boot
If
update_on_boot: true is set, tuliprox fetches the provider on first start.
Check the logs for HTTP errors from the provider URL.
You can also trigger a manual update from the Web UI.401 or 403 from provider
401 or 403 from provider
Double-check the
username and password fields in source.yml.
Note that tuliprox does not attempt failover for 401 or 403 responses.Streams not playing in client
Streams not playing in client
If
proxy: redirect is set, the client connects directly to the provider.
Switch to proxy: reverse so tuliprox buffers the stream, or ensure the
client can reach the provider URL directly.Series or VOD missing
Series or VOD missing
Check that
xtream_skip_vod and xtream_skip_series are not set to true
unintentionally. Also confirm the provider actually supplies those content
types at the given URL.