t4mer@notebook
Veyra logo

Current · 2025-present · Solo developer

Veyra

A modern IPTV player for subscriptions you already pay for. No channels included.

Free · No content included

Veyra does not host, sell, or ship television. You bring the provider.

Download for Windows

Windows, macOS, iOS, Android

Windows 10 or later · 64-bit · macOS 12 or later · Apple Silicon or Intel · v0.0.5

What you get

Library

  • Live TV, movies, and series from your own provider
  • Home rows for continue watching, favorites, watch later, live, movies, series, and downloads
  • Search across live TV, movies, and series
  • Favorites and a watch-later list
  • Continue watching with saved progress

Providers

  • Xtream Codes (server URL, username, password)
  • M3U / M3U8 playlists, with optional HTTP authentication
  • Stalker / Ministra / MAG portals (portal URL and device MAC)
  • Multiple playlists: add, refresh, remove, and switch the active one

Live TV

  • Categories, channel logos, and a fullscreen player
  • Now / Next programme info with progress on the channel list
  • Fast channel switching and automatic retry on disconnect
  • Actionable errors (401, timeout, unsupported format) instead of a generic failure

Movies and series

  • Movie catalog with categories, details, and playback
  • Series catalog with seasons and episodes
  • Next / previous episode from the player
  • Watch history and resume from where you left off

Player

  • Hardware-accelerated playback on desktop (mpv)
  • Native players on iOS and Android
  • Audio track selection and a preferred audio language
  • Subtitles: on/off, preferred language, size, font, color, background, and position
  • Aspect ratio, playback speed, volume, mute, and fullscreen

Downloads

  • Offline downloads for movies and series on desktop
  • Choose the download folder, see progress, and get a notification when a title is ready
  • Queue, retry, and remove downloaded files

Parental controls

  • PIN to unlock restricted content and settings
  • Lock all live TV, movies, or series for a playlist
  • Lock individual categories and titles
  • Optional lock on the settings screens themselves

Appearance and language

  • Interface in English, Arabic, French, German, Spanish, and Turkish
  • Light and dark themes
  • Accent colour
  • 12-hour or 24-hour time

Platforms

  • Windows, macOS, iOS, and Android
  • Automatic desktop updates

Requirements

  • You need a valid subscription or playlist from a licensed IPTV provider that you add yourself.
  • You are responsible for ensuring your provider is authorized in your jurisdiction.
  • Veyra does not host, sell, or ship television. You bring the provider.

Terms · Privacy · me@t4mer.net

Features

What the app actually does, on the machines it ships for:

  • Providers. Xtream Codes, M3U / M3U8 playlists, and Stalker / Ministra / MAG portals. Multiple playlists: add, refresh, remove, switch the active one.
  • Live TV. Categories, logos, Now / Next EPG on the channel list, fullscreen playback, fast switching, auto-retry, and errors that name the failure (401, timeout, unsupported format).
  • Movies and series. Catalog, details, seasons, episodes, next / previous episode, continue watching.
  • Library. Home rows, search across live / movies / series, favorites, watch later, watch history.
  • Player. Hardware decode on desktop (mpv); native players on iOS and Android. Audio tracks, subtitle appearance (size, font, colour, background, position), aspect ratio, speed, volume, fullscreen.
  • Downloads. Offline movies and series on desktop, with a chosen folder, progress, and a notification when a title is ready.
  • Parental controls. PIN, lock all live / movies / series, lock categories and titles, optional lock on settings.
  • Appearance. Light and dark themes, accent colour, 12 / 24-hour time. UI in English, Arabic, French, German, Spanish, and Turkish.
  • Platforms. Windows, macOS, iOS, and Android, with automatic desktop updates.

How it's built

Veyra is a TypeScript monorepo - not a single app folder that grew packages by accident.

  • @veyra/domain - models and interfaces
  • @veyra/player - PlayerEngine, so the UI never imports ExoPlayer, AVPlayer, or mpv directly
  • @veyra/xtream, @veyra/m3u, @veyra/stalker - provider adapters behind one IPTVProvider interface
  • @veyra/storage - SQLite repositories and migrations
  • apps/mobile - React Native
  • apps/desktop - Electron + React + mpv sidecar on Windows/macOS

The interesting contract is simple: the user already has a provider. The app should play it reliably, remember what they watch, and not freeze while it imports fifty thousand channels.

Veyra does not host, sell, or ship television. You bring the provider.

Engineering choices

  • Playback before features. Desktop uses mpv with hardware decode. Mobile uses native players behind PlayerEngine. If a stream dies, the UI should say why - 401, timeout, unsupported format - not shrug.
  • A catalog, not a playlist view. IPTV libraries are tens of thousands of rows. SQLite is the store. Provider JSON is imported in the background. The database is the source of truth.
  • Interfaces wider than the first ship. IPTVProvider and PlayerEngine know about VOD and EPG even when a phase only ships part of the surface area. That avoids painting into a second app later.
  • A player, legally. No bundled playlists. No demo provider with real channels. Veyra does not ship TV.

Stack

TypeScript, React Native, Electron, React, SQLite (better-sqlite3 on desktop, op-sqlite on mobile), TanStack Query, mpv, and generic HTTPS auto-update feeds on license.t4mer.net.

Result

The app plays the provider you already have. Free to download for now. The engineering story above is why it exists.