Skip to main content

Xtream provider quick setup

Minimal working configuration for a single Xtream Codes provider. Provider details used in this example:
  • URL: http://fantastic.provider.xyz:8080
  • Username: tvjunkie
  • Password: junkie.secret

Multiple provider merging

Combine two providers into a single target by listing both input names under sources.inputs:
source.yml

Filtering examples

Include all channels

Live channels only

Only shopping

Exclude shopping

French and German channels, no shopping

Exclude a single channel

Exclude a channel within a specific group only

Template-based filter composition

Define named templates and compose them with !name!:
source.yml
Use in a target:
source.yml

Mapping and rename example

Rename group prefixes and enrich with quality labels:
mapping.yml
Simple rename rule in source.yml:
source.yml

VLC seek problem with user_access_control

Seeking can generate very fast reconnects and byte-range requests. If stale provider connections have not yet disappeared, the user can briefly appear above max_connections. Typical mitigation:
config.yml

Docker with Traefik

Deploy tuliprox behind Traefik with path-based routing:
docker-compose.yml
When Traefik terminates TLS and proxies to tuliprox, add the path offset to api-proxy.yml:
api-proxy.yml
Forward real IP headers in Traefik or nginx so tuliprox sees the client address:

Local library CLI commands

Custom fallback video generation

Convert a still image into a .ts fallback stream for use with custom_stream_response_path:
Place the generated .ts file in the custom_stream_response_path directory and name it one of:
  • channel_unavailable.ts
  • user_connections_exhausted.ts
  • provider_connections_exhausted.ts
  • low_priority_preempted.ts
  • user_account_expired.ts
  • panel_api_provisioning.ts