https://github.com/exwhyzed9/prysm
Prysm is a modern, lightweight M3U IPTV player built with Expo / React Native for Android and Android TV.
https://github.com/exwhyzed9/prysm
android android-tv expo iptv iptv-player m3u react-native
Last synced: 2 months ago
JSON representation
Prysm is a modern, lightweight M3U IPTV player built with Expo / React Native for Android and Android TV.
- Host: GitHub
- URL: https://github.com/exwhyzed9/prysm
- Owner: ExWhyZed9
- License: mit
- Created: 2026-02-15T07:32:30.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-04-02T12:57:30.000Z (2 months ago)
- Last Synced: 2026-04-03T00:43:36.969Z (2 months ago)
- Topics: android, android-tv, expo, iptv, iptv-player, m3u, react-native
- Language: TypeScript
- Homepage: https://prysmplayer.com
- Size: 3.11 MB
- Stars: 18
- Watchers: 2
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: readme.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# 📺 Prysm



Prysm is a modern, lightweight **M3U IPTV player** built with **Expo / React Native** for **Android and Android TV**.
It is designed for large playlists, fast channel browsing, smooth playback, and a clean TV-friendly experience.
---
## ✨ Features
- **M3U / M3U8** playlist support.
- **Flexible Loading:** Load playlists from a URL or a local file.
- **Fast Channel Browsing:** Optimized specifically to handle large playlists.
- **Organization:** Channel categories and filtering.
- **Search & Favorites:** Quickly find and save the channels you love.
- **Persistent Storage:** Saves your playlists automatically.
- **Auto-Refresh:** Keeps your playlist data up to date.
- **Advanced Video Playback Controls:**
- Quality selection
- Aspect ratio adjustments
- Audio track selection
- Subtitle support
- **Network Stream Player:** Play any stream directly with custom HTTP headers (Cookie, Referer, Origin), User-Agent presets, and DRM support (Widevine, PlayReady, ClearKey).
- **TV Optimized:** Full Android TV remote and D-pad navigation support.
- **UI:** Sleek, modern Dark Mode interface.
---
## 📱 Screenshots
---
## 🎯 Supported Platforms
- ✅ **Android**
- ✅ **Android TV**
*Note: iOS and Web are not primary targets for this project.*
---
## 💡 Why Prysm?
- Handles **very large playlists** (10k+ channels) smoothly without lagging.
- Built specifically with the **Android TV experience** in mind from day one.
- Uses a lightweight **Expo architecture** for easy building and deployment.
- Clean, maintainable **TypeScript** codebase.
- **100% Open Source.**
---
## 🚀 Getting Started
### 📋 Requirements
- **Node.js** 18 or higher
- **Android Studio** (for emulator testing or deploying to a physical device)
### 📦 Installation
1. Clone the repository and navigate into the directory:
```bash
git clone https://github.com/ExWhyZed9/prysm.git
cd prysm
```
2. Install dependencies:
```bash
npm install
```
### ▶️ Run the App
Start the Expo development server:
```bash
npm start
```
Or, run directly on Android:
```bash
npm run android
```
---
## 🛠️ Tech Stack
- **Framework:** Expo SDK 54 / React Native
- **Language:** TypeScript
- **Navigation:** React Navigation
- **Lists:** FlashList (for high-performance rendering)
- **Media:** Expo Video
- **Storage:** AsyncStorage
---
## 🤝 Contributing
Contributions are always welcome!
1. Fork the repository.
2. Create a feature branch (`git checkout -b feature/AmazingFeature`).
3. Commit your changes.
4. Open a pull request.
**Note:** For major changes or refactors, please open an issue first to discuss what you would like to change.
---
## ⚠️ Disclaimer
**Prysm is a media player only.** It does not provide, host, or distribute any content, streams, or playlists. Users must supply their own legally obtained IPTV sources.
---
## 📄 License
This project is licensed under the MIT License.
---
## 💬 Support
If you find Prysm useful, consider giving it a ⭐ on GitHub!
**Author:** ExWhyZed9