- Status: Active
- Type: Personal IPTV web player
- Live app: https://streamhub-one.vercel.app
- CI checks: install, lint, type-check, and production build
StreamHub is a personal IPTV web player built with Next.js and TypeScript, designed for fast playlist loading, clean channel discovery, and HLS playback.
- M3U playlist parsing from URL
- Channel browsing with search, categories, language filters, and favorites
- Grid/list views with pagination preferences
- HLS playback with player controls
- EPG integration for current program and progress
- Multiple playlist management in local storage
- Optional CORS proxy support for restricted playlist sources
- Utility pages for parser and player testing
- Next.js 14 (App Router)
- TypeScript
- Tailwind CSS
- Zustand
- hls.js
- Lucide React
/main player and channel explorer/test-parserparser debugging page/test-playerplayer testing page
Copy .env.example into .env.local and set values as needed:
NEXT_PUBLIC_PROXY_URL(optional, recommended for CORS-restricted sources)NEXT_PUBLIC_APP_URL(app base URL)
Optional:
NEXT_PUBLIC_DEFAULT_PLAYLIST_URL(defaults to IPTV-org playlist when unset)
npm install
cp .env.example .env.local
npm run devOpen http://localhost:3000.
npm run dev
npm run build
npm run start
npm run lint
npm run type-check
npm run format- Use only playlist sources you are authorized to access.
- For heavily restricted streams, deploy and configure the proxy worker referenced by
NEXT_PUBLIC_PROXY_URL.