source.yml defines upstream inputs, provider aliases, and the targets Tuliprox publishes to clients.
Top-level entries
For new setups, prefer the global
template_path in config.yml. Inline templates in source.yml are still supported.templates
Templates reduce repeated regular expressions. Reference another template by wrapping its name in ! characters.
inputs
Each input defines one upstream provider connection.
Input fields
URL schemes
If an
m3u or xtream input uses a batch:// URL, Tuliprox automatically treats it as m3u_batch or xtream_batch.Input types
options fields
Xtream skip options
Xtream skip options
Metadata and probe options
Metadata and probe options
EPG configuration
Inputs can define multiple XMLTV sources with priorities and smart matching.Aliases
Aliases let one logical provider input expose multiple credentials — useful when you have several accounts on the same provider.Batch inputs
Batch inputs load multiple provider aliases from a CSV file.xtream_batch CSV columns:
m3u_batch CSV columns:
panel_api
Tuliprox can provision or renew provider accounts through a panel API.
Supported operations: account_info, client_info, client_new, client_renew, client_adult_content
Staged inputs
staged lets Tuliprox read playlist data from an alternate source during updates while still using the main input for streaming and API details.
sources
Each source entry groups one or more inputs and binds them to one or more targets.
inputs list references input names defined in the top-level inputs section.
targets
Each target controls how content is processed, filtered, and exposed to clients.
Target fields
output types
- xtream
- m3u
- strm
- hdhomerun
Target options
sort
Sorting consists of an ordered list of rules.
processing_order
Controls the execution order of Filter, Rename, and Map operations.
filter expressions
Filter expressions support boolean logic, regex matching, and type comparisons.
Operators:
~ (regex match), NOT, AND, OR