Skip to content

TV Viewer

GitHub tv-viewer-app/tv_viewer

Install TV Viewer

Download Zapstore

Download
QR code for zapstore.dev/download
  • Scan the code with your phone’s camera
  • Tap Download anyway if the browser warns about the file
  • Allow your browser to install unknown apps if Android asks
  • Open Zapstore and finish the onboarding

Open TV Viewer in Zapstore

Open
QR code to open TV Viewer in Zapstore
  • Scan the code to open TV Viewer in Zapstore, or search for it there
  • Tap Install, and Download if Zapstore asks you to confirm the developer
  • Confirm in Android’s install dialog. Allow Zapstore to install unknown apps if Android asks

Unclaimed app

The catalog lists TV Viewer from GitHub tv-viewer-app/tv_viewer and signs its releases. The developer has not claimed it. The file is still checked before you install it.

Are you the developer? Cryptographically prove you hold the key that signs it.

How trust works

IPTV player with over 16,000 community-maintained channels for live TV and radio. Features include background audio playback, multi-source failover, picture-in-picture support, and EPG integration. No account or ads required.

TV Viewer is a free, open-source IPTV streaming app built around community-maintained playlists and privacy-first design.

Features: • Live TV and radio channels from community-maintained sources • Community Statistics page with anonymous aggregated usage insights • Timezone-based country detection (no GPS or IP lookup needed) • Background audio playback for radio streams • Multi-source failover when one stream stops working • Search, favorites, source selector, and watch history • Picture-in-Picture (PiP) support where available • No account required and no ads • Optional usage and playback analytics (opt-in only) • Optional community sharing is off by default; when enabled, health reports use URL hashes and new playlist channels may be shared with their stream URLs • Self-hosted web/Docker edition also available • Regular updates with new channels and fixes from the community

Privacy: • No account or contact details collected • No account or login required • Analytics are off by default; optional playback events include channel names and URL hashes that can be matched to known streams • Channel health reports and automatic playlist contributions are off by default and can be enabled in Settings; URL hashes may be matched to known stream URLs • Country detection uses device timezone only • All source code is open and auditable

This app does not host or provide any streams. It aggregates publicly available M3U playlists maintained by the open-source community (iptv-org and others). Channel availability depends on the source providers.

Network services: • Channel playlists are fetched from community and third-party hosts • FMStream.org is queried for public radio-station listings • Supabase provides the shared channel database, aggregated community statistics, optional analytics, and URL-hashed channel-health exchange • Analytics and channel health/playlist contributions require separate opt-ins

Permissions: • Internet: Required to stream content • Wake Lock: Keeps playback active when needed • Foreground Service: Background audio playback notification

Summary generated by Zapstore from source.

Original description, as the developer published it.

Zap TV Viewer

Zapping anonymously. Sign in to zap with your identity.

No developer has verified this app yet, so sats go to npub1gnwq4…thdn3y, the catalog that brought it to you.

Amount in sats

Latest release

Oct 13, 2026

Unclaimed app No Google servicesSource available · MIT

The catalog lists this app from GitHub tv-viewer-app/tv_viewer and signs its releases. The developer has not claimed it. Are you the developer? Claim your app

The app sends usage data and channel health reports to a Supabase server. It also fetches channel lists from external sources.

Release notes

TV Viewer v2.25.4

Fixed

  • Optional Android crash telemetry selects the first stack frame instead of a release-build banner, with URLs and file paths redacted.
  • Analytics reports show channel failures even when no crashes were recorded.
  • Performance reports include up to 50,000 recent events instead of only the oldest 500, and label bounded crash samples accurately.

📥 Downloads

  • Windows: TV_Viewer-windows.zip (extract and run TV_Viewer.exe)
  • Android: TV_Viewer_v2.25.4_Android.apk
  • LG webOS TV: versioned independently; use the latest release containing LG webOS IPK assets
  • Android ABI builds: TV_Viewer_v2.25.4_Android-armeabi-v7a.apk, -arm64-v8a.apk, and -x86_64.apk (the same binaries used for F-Droid reproducibility checks)
  • Linux: TV_Viewer_v2.25.4_linux_x86_64
  • Docker: docker pull asummoner/tvviewerapp:2.25.4 — Docker Hub

Comments

Loading comments…

See more

Get TV Viewer the private way

Updates checked on your device, and every release verified before it installs.

Get Zapstore for Android

  1. Tap Download APK below.Scan the code with your Android phone’s camera.
  2. If Android asks, allow your browser to install unknown apps.
  3. Open Zapstore and finish the onboarding.
Download APK

v2.0.4 · 71.2 MB · Android 10+

Verify the download

On a computer, run shasum -a 256 <the file you downloaded>. It should print: b13e01319fecf0b3ba1fd60132758bd0fa08a235836c52d44fddb412cf1b7137

If you have zsp, Zapstore’s publishing tool, zsp utils extract-apk <the file you downloaded> works too. Its hash should be the same SHA-256: b13e01319fecf0b3ba1fd60132758bd0fa08a235836c52d44fddb412cf1b7137

On the phone, AppVerifier should show this signing certificate: 99e33b0c2d07e75fcd9df7e40e886646ff667e3aa6648e1a1160b036cf2b9320

Source code All releases and notes

Get zsp

  1. Download the file for your computer.
  2. Make it executable and put it on your PATH.
  3. In your project folder, run zsp.

Have Go? This does the same:

go install github.com/zapstore/zsp/v2/cmd/zsp@latest
macOS, Apple silicon Linux, x86-64 Linux, arm64

v2.0.1 · macOS and Linux

Verify the download

On your computer, run shasum -a 256 <the file you downloaded>. It should print the SHA-256 for the one you chose.

macOS, Apple silicon · 18.6 MB 99018fb9744e5ace2b44557550dc333496239912c0e9b1137266d4922c803346

Linux, x86-64 · 23.8 MB 1ef5373f8ecd9ba63d2c3fab98abb0d31b2244a2aac31b3749fb205c7d5f5b38

Linux, arm64 · 22.1 MB e421005ee47cba58293dce4277bb784e4cfe706dbbcb8617d671629d0238be18

Source code All releases and notes