Customers
| Key | Name | Expiry | Packages | Status | Device | Actions |
|---|---|---|---|---|---|---|
New Customer
ⓘ Create the line (username & password) in your provider panel first, then enter it here. Each customer's playlist streams through their own line so connections count against them, not your master line.
Tick the packages this customer should get. Their playlist is the combined channels of all ticked packages.
Optional. Tick the live-TV categories (from the Live TV Organizer) this customer should get. Each gives them every live channel filed under it, on top of the VOD packages above.
Packages
| Name | Channels | Live status | Created | Actions |
|---|---|---|---|---|
New Package
"Check live status" (below) tests channels using this line instead of whatever line the master playlist happened to be fetched with — useful for testing a different provider's credentials without leaving this page. Leave blank to fall back to the master line.
Normally check from This server (VPS). If the provider ever
rate-limits this server's IP (HTTP 461 on every request, even with correct
credentials — usually temporary), switch to Local PC and run
Run-Checker.bat on your computer: it probes from your home connection
and sends results back here.
Checks run one channel at a time with this pause in between (plus a little random jitter) so the traffic looks human and doesn't get the line rate-limited. Higher is safer but slower. Recommended: 5 seconds.
Master Channels
The master M3U is the full playlist from your IPTV provider. All customer packages are subsets of this list.
The address the app fetches everything from. Leave blank to use this domain (normal). To move to a new domain later: point the new domain at this server, enter its full URL here, and installed apps will switch to it on next startup — no app update needed. Keep the old domain alive (redirecting here) until every box has switched.
Add your own channels (e.g. curated free channels). They're kept separate from the provider master (a master refetch never removes them) and appear in the channel picker under their group, so you can assign them to packages or live categories like any channel.
Logos you uploaded for channels whose original logo is missing/dead. They're served from this server, so the link never breaks. Delete any to free up space.
Shown to customers in the app when their subscription is expired, suspended, or blocked (multi-device). No phone number is ever shown to customers automatically — set whatever you want here (e.g. a Telegram group link) and update it anytime, no app update needed.
A separate watchdog process checks the server every N minutes and messages you on Telegram if it goes down (and again when it recovers). Customer playback keeps working from the cached playlist even while this server is down — this is just so you know.
📺 Live TV Organizer
Fix live channel names and categories that the provider ships wrong or in a non-customer-friendly format. This is a display overlay only — it never changes which channels are in a package or who has them, and it does not touch movies or series. Corrections stick to the channel even after a master refresh. Customers see the changes after you press Publish (they don't get nagged while you edit).
Make your own clean category names first, then assign channels to them below.
Search a channel (by its current name), then rename it, move it to one of your categories, or hide it. Only live channels are shown.
🆓 Free Channels
Paste a public/free M3U list URL (e.g. an iptv-org region list), check which channels are live, then add the good ones to your channel pool under a category. Added channels behave like any other channel — assign them to packages or live categories. They never touch your Xtream provider setup.
Maintenance
How long the admin panel stays signed in with no activity. Raise this if you run long live-status checks (a 1000+ channel check can take 30+ minutes) so you don't get logged out mid-check. The check keeps running server-side even if you are logged out, but a longer timeout keeps the progress on screen.
If the app crashes on a customer's device, the stack trace is saved locally and sent here automatically the next time the app opens cleanly — useful for diagnosing an issue you can't reproduce yourself.
Just pick the APK and publish — the version code & name are read from the file itself, so they always match. Customers' apps check this on startup and prompt to update when the published code is higher than what they have installed. Only the newest 3 builds are kept.
Add up to 15 images. Each customer's app shows a random one on every launch (behind the menus, with a dark overlay for readability). Use dark, high-resolution images (1920×1080). If none are set, the app uses its built-in default.
A snapshot of all your data (customers, keys, packages, expiries). The server backs up automatically once a day and keeps the newest 5. Download a copy to your PC regularly until you set up an off-server backup — if the VPS is ever lost, this file is your business.