Skip to content

sanchit339/StreamIPL

StreamIPL — IPTV Player for macOS

A native macOS IPTV player built with Electron + React. Supports HLS streams, ClearKey DRM, pipe-format playlist URLs, and GitHub release update notifications.

Important

macOS says "StreamIPL is damaged"? This is a Gatekeeper quarantine flag — the app is fine. Open Terminal and run:

xattr -d com.apple.quarantine /Applications/StreamIPL.app

Then double-click the app. Done. See Installation for details.

Preview

StreamIPL app showcase

Features

  • HLS and DASH playback (.m3u8, .mpd)
  • ClearKey DRM support
  • Pipe-format URL parsing with cookie and header injection
  • Playlist management (save, delete, search, load)
  • 60-second catch-up buffer for smoother live viewing
  • -60s quick replay control in player controls
  • In-app release update notification from GitHub Releases
  • Manual Inspect/DevTools toggle from Settings
  • Apple-style dark desktop UI theme

Download

Download Latest Release

Head to the Releases page and download the build for your Mac's chip:

File Chip
StreamIPL-x.x.x-arm64.dmg Apple Silicon (M1 / M2 / M3 / M4)
StreamIPL-x.x.x-x64.dmg Intel

Why separate files? Universal binaries (single DMG for both chips) that are unsigned trigger macOS Gatekeeper's "damaged app" error on modern macOS versions. Distributing architecture-specific builds avoids this completely.

Installation

  1. Download the .dmg for your chip (see table above).
  2. Open the .dmg and drag StreamIPL to /Applications.
  3. Open Terminal and run the quarantine-removal command:
    xattr -d com.apple.quarantine /Applications/StreamIPL.app
  4. Launch StreamIPL from Launchpad or Spotlight.

Note

Why is this needed? StreamIPL is open-source and unsigned. macOS quarantines every app downloaded from the internet that lacks an Apple Developer signature. The xattr command removes that quarantine flag — it does not disable any security features.

Alternatively: System Settings → Privacy & Security → scroll down → Open Anyway (appears only after a blocked launch attempt).

Usage

  1. Paste a valid HLS/IPTV URL (plain .m3u8 or pipe-format) in the URL bar.
  2. Press Play or hit Enter.
  3. Save channels to playlist for quick access.
  4. Use -60s in player controls to replay recent action.

Supported URL Formats

Format Example
Plain HLS https://example.com/stream.m3u8
Pipe format `https://stream.m3u8
DASH + ClearKey `https://example.com/live.mpd

Update Notifications

StreamIPL checks GitHub Releases on app startup using an unauthenticated request and shows an update banner when a newer version is available.

To make this work correctly, configure repository metadata:

  • Preferred: set repository in package.json to your GitHub repo URL
  • Optional override: set env var STREAMIPL_GITHUB_REPO=sanchit339/StreamIPL

When an update is found, users can click Update now to open the release page. If update checks fail (network/rate-limit/API error), playback is not affected and users can still download manually from the Releases page.

Build From Source

Prerequisites:

  • Node.js 18+
  • npm 9+
  • macOS (required for DMG packaging)
npm install
npm run dev

Build renderer only:

npm run build:vite

Build packaged app (both architectures):

npm run build

Build for a single architecture:

npm run build:arm64   # Apple Silicon only
npm run build:x64     # Intel only

Output DMGs are written to the release/ directory.

Contributing

Please read:

Use GitHub issue templates for bugs and feature requests.

Tech Stack

License

This project is licensed under the GPL-2.0 License.

About

A HLS Streamer Application build for Mac Users

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors