tuliprox supports several authentication mechanisms depending on the API surface.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/euzu/tuliprox/llms.txt
Use this file to discover all available pages before exploring further.
Credential-based auth (M3U, Xtream, XMLTV)
Playlist and stream endpoints identify users by username + password supplied as URL query parameters.POST form body:
api-proxy.yml:
Token-based auth
If a user entry has atoken field set, that token can be used in place of username + password:
Tokens must be unique across all users. tuliprox rejects duplicate tokens at save time.
Authentication error status
When credentials are invalid or missing, tuliprox returns a configurable HTTP status code. The default is403 Forbidden.
Change it in api-proxy.yml:
/player_api.php, /get.php, /xmltv.php, stream paths, and resource paths. The management API (/api/v1/) always uses its own fixed status codes.
Proxy mode
Each user has aproxy setting that controls how tuliprox handles stream traffic:
| Value | Behaviour |
|---|---|
redirect | tuliprox returns the provider’s stream URL to the client (HTTP redirect) |
reverse | tuliprox proxies all stream traffic through itself |
reverse[live] | Reverse proxy only for live streams |
reverse[live,vod] | Reverse proxy for live and VOD, redirect for series |
Server selection
The optionalserver field in a user’s credentials selects which server block (from the server: list in api-proxy.yml) is used to build stream URLs that tuliprox returns to that user.
Access control fields
Whenuser_access_control: true is set in config.yml, tuliprox also enforces:
| Field | Description |
|---|---|
status | Must be Active |
exp_date | Unix timestamp; access is denied after this date |
max_connections | Maximum simultaneous streams allowed for this user |
403 response.
JWT auth — web UI and management API
The management API (/api/v1/) and web UI are protected by JWT bearer tokens. These are issued by the login endpoint of the user API and must be included in the Authorization header:
HDHomeRun basic auth
HDHomeRun devices can optionally require HTTP Basic Auth on the/lineup.json endpoint. Enable it by setting basic_auth: true in the hdhr device configuration in config.yml.
Priority
Userpriority controls which user’s streams get provider connections when capacity is limited:
- Lower number = higher priority (e.g.,
-1beats0) - Negative values are allowed
- Higher-priority users can preempt lower-priority connections when all provider slots are exhausted
max_connectionsis enforced independently of priority