Shadow Player - White-Label IPTV App + Full Reseller Portal (APK Builder, Device Management, Cloud DVR)
White-Label IPTV App + Full Reseller SaaS Portal

Not Just an App.
A Complete SaaS for Resellers.

An Android TV / Fire TV / Android player your customers will love — plus the full control plane you need to run your business. Web-based APK build farm, live device dashboard, bulk remote commands, error log ingestion, one-line web player deploy, in-app broadcasts, Cloud DVR, and cross-device favorites sync. Pairs with Shadow Panel for the complete stack.

~50MB
App Size
1-Click
APK Build
☁️
Cloud DVR
OTA
Auto Updates

Why Your Customers Hate Their Current App

The apps they're using were designed a decade ago. Time for something better.

Other IPTV Players

  • 100MB+ app sizes fills up cheap TV boxes
  • "Refresh Playlist" and "Update EPG" buttons everywhere
  • EPG takes 30 seconds to 5 minutes to load
  • Stale data from yesterday's sync
  • Clunky touch-first UI on TV remotes
  • No white-label or per-device fees

Shadow Player

  • Cloud DVR - schedule and watch recordings anytime
  • Zero refresh buttons - data loads automatically
  • Instant EPG - current info every time you open
  • Live TV, Movies & Series - complete entertainment
  • DirecTV-style interface built for D-pad
  • Full white-label with flat monthly pricing

Cloud DVR with Shared Recordings JOINT FEATURE

Your customers schedule recordings right from the app — no local storage, no NAS setup, no DVR box. Recordings run on your Shadow Panel load balancers with shared recording: 50 users recording the same show, one FFmpeg process runs. Playback streams back through the app like any other channel.

  • Schedule from EPG grid — one-tap record
  • Shared recordings: N viewers, 1 FFmpeg on LB (massive disk savings)
  • EPG auto-labeling at record time (title, episode, air date)
  • Records currently-airing programs, not just scheduled future ones
  • Per-user storage quotas, enforced server-side
  • DeltaSync-replicated playback across secondary mains
  • Requires Shadow Panel + Shadow Player together
// Customer taps "Record" on EPG entry
POST /dvr/schedule
  { channel_id: 1076,
    epg_id: "ep_8321",
    start: "2026-04-23T20:00Z" }

// 15s scheduler tick → FFmpeg on LB
  → recording begins at air time
  → title + episode auto-labeled
  → shared with 47 other viewers
     recording the same show
     (one FFmpeg, not 48)

// Playback = just another stream
GET /dvr/play/R12345.ts
  → streams through LB like a channel
  → scrubbing, pause, resume

Built for Shadow Panel BETTER TOGETHER

Shadow Player works great with any Xtream-compatible panel — but it was designed to pair with Shadow Panel. When both run together, your customers get features no other player + panel combo can deliver.

  • Cloud DVR — scheduler on the panel, playback in the app
  • Cloud Favorites Sync — favorites follow the user across devices
  • Bulk EPG API — instant EPG via Shadow API, no refresh cycles
  • 24/7 Virtual Channels with current-position metadata
  • Episode-level series metadata, not season-only
  • Custom EPG stream titles preserved end-to-end
  • Works with Xtream-only panels too — you don't have to use Shadow Panel
// Shadow API — what the app calls
GET /shadow/channels_bulk
  → live + 24/7 channels in one request
  → current EPG per channel
  → 50 upcoming programs per channel
  → poster / logo URLs (cached)
  → synced favorites list

// DVR — panel handles the heavy lifting
POST /dvr/schedule     → record
GET  /dvr/recordings   → list
GET  /dvr/play/"id"    → playback

// Favorites — sync from phone → TV in ~2s
POST /shadow/favorites
  { type: "channel", id: 1076 }

Your Own Reseller Portal FULL SAAS

This isn't just an app — it's a full SaaS control plane. Log in to your portal and build custom-branded APKs, monitor every device, send bulk commands, push settings, watch error reports roll in, and deploy a companion web player in one command. Everything operators used to need five separate tools for, in one place.

APK Build Farm

Pick your app name, colors (primary + accent), logo, splash image, and branch. Click Build. Signed APK ready in 10–15 minutes, versioned and downloadable from the portal.

main / beta branches · build history · stuck-build recovery

Device Management

Live dashboard of every installation: online status, model (Fire TV, NVIDIA Shield, etc.), app version, IP, last seen. Filter by online-only or version. Search by device or IP.

Total · Online Now · Recent (10min) · Active (24h)

Remote Commands

Send messages, clear cache, force updates, restart, kill the app, or wipe data — per-device or in bulk across hundreds of devices with one click. Changes land in seconds.

message · clear_cache · restart · force_update · terminate · wipe

Error Log Monitoring

Your customers' devices report playback errors straight to the portal. Filter by type, drill into stream URL + device + recovery status. Know about problems before they call.

STUCK_PLAYER · PLAYBACK_FAILED · NUCLEAR_RECOVERY

Push Player Settings

Change buffer size, EPG refresh, player options — per device or to every device at once. No app update needed. Settings land on next heartbeat.

bulk settings · per-device settings · heartbeat-driven

One-Line Web Player Deploy

Have a VPS? Paste one command and your branded web player is live. Portal tracks its health, stats, and lets you redeploy or push new branding without SSH'ing in again.

curl installer · node heartbeat · push-branding · redeploy

Broadcast Messages

Announce maintenance, upsell a new tier, or push an urgent notice. Broadcasts land as in-app messages across every active device — or a targeted subset.

all devices · targeted · scheduled

Custom DNS & Reporter

Point your branded app at your own domains. Manage multiple DNS entries per tier from the portal, plus configure the reporter server URL for device error ingestion.

1 / 5 / unlimited DNS entries by tier

Branch & Version Control

Master version bump, per-client version pinning, main/beta branch selection at build time. Roll out updates gradually — test on beta, promote to main when proven.

master version · per-client pin · auto-update flag
Portal › Device Management › Live
Total Devices
1,247
Online Now
318
Recent (10min)
57
Active (24h)
892
F65375E9…
Amazon Fire TV Stick 4K
2.0.128
just now
Send Cmd ›
8C24B853…
NVIDIA Shield TV Pro
2.0.128
2m ago
Send Cmd ›
14725013…
Xiaomi Mi TV Stick
2.0.127
9m ago
Send Cmd ›
10ADE7D9…
Chromecast with Google TV
2.0.128
just now
Send Cmd ›

Features That Set Us Apart

Everything resellers need. Nothing your customers don't.

APK Build Farm in the Portal

Web-based APK builder with color pickers for primary + accent, logo/splash upload, main/beta branch selector, version bumping. Signed APK lands in 10–15 minutes. Full build history with re-download and stuck-build recovery.

Bulk Remote Commands

Pick any subset of devices (or select all), choose from 7 actions — message, clear cache, restart, force update, kill, wipe, push player settings — click Apply. Hundreds of devices updated in seconds.

Live Device Dashboard

Every installation at a glance: Total, Online Now, Recent (10min), Active (24h). Per-device rows show model (Fire TV, Shield, etc.), version, IP, last seen. Filter by version or online-only. Search by device or IP.

Device Error Logs

Devices phone home with playback errors. Filter by type (STUCK_PLAYER, PLAYBACK_FAILED, NUCLEAR_RECOVERY), see stream URL + device + recovery status. Spot provider issues before your customers call.

Push Player Settings

Buffer sizes, EPG refresh intervals, playback options — change them per device or across your whole fleet. Settings land on the next device heartbeat. No app update required.

One-Line Web Player Deploy

Have a VPS? Paste one curl command and your branded web player is live. Portal monitors its heartbeat, shows 24h stats, and lets you redeploy or push new branding without touching the server again.

In-App Broadcasts

Announce maintenance, promote a new tier, or push an urgent notice. Broadcasts land as in-app messages across every active device (or a targeted subset). Compose, send, track delivery.

Main / Beta Branches

Build against beta to test cutting-edge features on a handful of devices. Build against main for the stable release every customer gets. Never ship a regression to your whole fleet again.

Master Version Control

Bump the master version to push updates to every client. Pin specific clients to a prior version if they can't upgrade yet. Auto-update flag controls whether devices prompt or apply silently.

Custom DNS Management

Point your branded app at your own domains — 1 entry on Starter, 5 on Professional, unlimited on Enterprise. Configure the reporter server URL for centralized error ingestion.

Cloud Favorites Sync

Favorites follow the viewer, not the device. Fire TV in the living room, phone in the kitchen, tablet in bed — same favorites, synced in seconds via Shadow Panel.

Proven Freeze Recovery

ExoPlayer dropping to IDLE? Position stalling? Shadow Player detects both, triggers a clean full reset, and reloads. Exponential backoff on errors (1s → 10s, 6 retries), based on Google's official ExoPlayer best practices.

Instant EPG Loading

EPG data streams on-demand. No downloading, no parsing, no waiting. Open a category and see current program info instantly.

Cloud DVR

Schedule recordings from the EPG. Watch anytime. Manage storage from the app. Your customers get true DVR without hardware.

No Refresh Required

Forget "Refresh Playlist" and "Update EPG" buttons. Shadow Player fetches fresh data automatically every time.

Classic Satellite UI

DirecTV-style grid EPG with channel numbers and lightning-fast D-pad navigation. Your customers already know how to use it.

OTA Updates

Push updates to all your customers instantly from your portal. No sideloading, no support tickets. One click updates everyone.

Full White-Label

Your logo, your colors, your app name. Custom package ID for Play Store. Your customers see your brand, not ours.

Device Management

See all active installations. Send messages. Push updates. Remotely manage every device running your app.

Remote Commands

Terminate sessions, clear cache, force updates - all from your reseller portal. Total control over deployed apps.

Web Player

Browser-based viewing for customers who can't install apps. Same great experience, no installation required.

Movies & Series

Full VOD library with poster art, descriptions, and episode browsing. Movies and TV shows alongside live channels.

Universal Search

Find anything instantly. Search across Live TV, Movies, and Series with real-time results as you type.

Audio & Subtitles

Multiple audio tracks and closed captions. Switch languages on the fly. Accessibility built in.

Favorites

Save favorite channels, movies, and series. Quick access to what your customers watch most.

Smart Recovery

Automatic freeze detection and recovery. Streams that drop reconnect instantly. No manual intervention needed.

Streaming-App Browse Layout

Movies and Series browse like the premium apps your customers already pay for: every category as a scrollable shelf, a Continue Watching row, a Favorites row, and cinematic backdrop art behind it all. Posters grow and light up as they take focus. No more one-category-at-a-time grids.

Continue Watching That Actually Works

Progress is checkpointed continuously, so a title resumes exactly where it stopped — even if the app was force-closed or the device pulled the plug mid-movie. Wide artwork cards with a progress bar show at a glance what is half-watched.

Plays What Other Apps Choke On

A dual playback engine picks the right decoder for the job: a tolerant demuxer for the WEB-DL and MKV files that make other players throw errors, and a hardware-accelerated pipeline for live TV. Fewer “this file won’t play” tickets in your inbox.

Multiview

Watch several channels at once in a grid — game day, multiple news feeds, or monitoring your own lineup. Pick the channels, drive it all from the remote.

Program Reminders

Set a reminder on any upcoming programme straight from the guide. The app brings your customer back when it starts, so they never miss the match.

Commercial Skip

Optional break detection watches the picture and audio for ad breaks and offers a skip. Off by default — your customers turn it on if they want it.

In-App Trailers

Trailers stream inside the app on movie and series pages — no browser bounce, no YouTube app hand-off, nothing extra for your customers to install.

Parental Controls

PIN-protected access with keyword-based category hiding. Adult categories disappear from the guide entirely until the PIN is entered.

In-App Reporting & Requests

Customers report a broken channel or request a title without opening a support ticket — it lands in your queue with the content already identified. Announcements you publish show up in the same place.

Tunable Playback

Buffer size, hardware or software decoding, preferred audio language, subtitles on by default, aggressive recovery — adjustable per device, and pushable from the portal to any device or all of them at once.

Shadow Player vs. The Competition

See why resellers are switching from apps that haven't innovated in years.

Feature Shadow Player IPTV Smarters XCIPTV TiviMate
Shelf-style Movies & Series browsing Every category at once
Crash-proof Continue Watching
Multiview (several channels at once)
Web-based APK Build Farm (custom branding)
Live Device Dashboard (online/version/IP)
Bulk Remote Commands (restart/wipe/update)
Device Error Log Ingestion
Push Player Settings (bulk / per-device)
One-Line Web Player Deploy
In-App Broadcasts
Main / Beta Branch Management
Cross-Device Cloud Favorites Sync
App Size ~10 MB ~50 MB ~35 MB ~25 MB
Cloud DVR (scheduler + playback) Shared recordings
Instant EPG Loading
No Refresh Required
OTA Updates Premium only
Full White-Label Partial Partial
Custom Package ID
Device Management
Remote Commands
Smart Freeze Recovery
Movies & Series VOD
Audio Track Selection
D-Pad Optimized Excellent Mediocre Good Good
Pricing Model Flat Monthly Per-device fees Per-device fees End-user pays

Feel the Speed Difference

Real tests. Real numbers. No marketing fluff.

EPG Load Time

Time from opening category to seeing program info

Shadow Player Instant
TiviMate 30-60 seconds
XCIPTV 1-3 minutes
IPTV Smarters 2-5 minutes

App Size Comparison

Installed size on Android TV devices

Shadow Player ~10 MB
TiviMate 25 MB
XCIPTV 35 MB
IPTV Smarters 50 MB

Channel Navigation Speed

D-pad responsiveness in channel lists

Shadow Player Lightning
TiviMate Good
XCIPTV Decent
IPTV Smarters Sluggish

Data Freshness

How current is the playlist/EPG data?

Shadow Player Always Current
Others Last Refresh

Other apps show data from when you last hit "Refresh." Shadow Player always shows live data.

Simple, Predictable Pricing

No per-device fees. No build limits. No surprises. Scale profitably.

Starter
$ 50 /mo

Perfect for new resellers getting started.

250 Active Devices
APK Builds
  • Full white-label branding
  • Device management
  • Remote commands
  • OTA updates
  • 1 DNS entry
  • Web player
  • Custom package ID
Get Started
Enterprise
$ 175 /mo

For established resellers at scale.

Unlimited Devices
APK Builds
  • Everything in Professional
  • Unlimited devices
  • Unlimited DNS entries
  • Priority build queue & support
  • Advanced features
Contact Sales

Ready to Upgrade Your IPTV Business?

Stop losing customers to slow, bloated apps. Give them the fastest IPTV experience on the market.

© 2026 Shadow Player. The white-label IPTV app + full reseller SaaS. Pairs with Shadow Panel for the complete stack.