A modern web-based IPTV player built with Next.js 15, featuring profile management, live channels, movies, and series streaming capabilities. Compatible with IPTV providers using the Xtream Codes API.
-
🔐 Profile Management
- Multiple profiles per user
- Secure credential storage
- Profile-specific IPTV settings
-
📺 Live TV
- EPG (Electronic Program Guide) support
- Live channel streaming
- Channel categorization
- Timezone selection
-
🎬 Video on Demand
- Movies library
- TV Series collection
- Video player with advanced controls
- Detailed media information
-
🛠 Technical Features
- Server-side and client-side rendering optimization
- Secure authentication system
- Responsive design
- Type-safe implementation with TypeScript
- Full Xtream Codes API support
This player is designed to work with IPTV providers that use the Xtream Codes API. To use the player, you'll need:
- IPTV Provider URL (usually in format: http://domain.com:port)
- Username
- Password
The player supports all standard Xtream Codes API endpoints including:
- Live Streams
- VOD (Movies)
- Series
- EPG Data
- Stream Categories
- Multi-connection support
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Database: PostgreSQL with Drizzle ORM
- Authentication: JWT-based auth
- Styling: Tailwind CSS
- Components: Shadcn/ui
- State Management: React Hooks
- Video Player: Video.js
- Clone the repository:
git clone https://github.com/BifrostBuilder/xtream-player.git
cd xtream-player- Install dependencies:
npm install- Set up environment variables:
Create a
.envfile with the following variables:
DATABASE_URL="your-postgres-connection-string"
JWT_SECRET="your-jwt-secret"
NEXT_PUBLIC_SITE_URL="http://localhost:3000"- Push the database schema:
npm run db:push- Run the development server:
npm run dev/src/app- Next.js 15 app router pages/components- Reusable React components/lib- Utility functions and shared logic/db- Database schema and queries/types- TypeScript type definitions
- Client-side profile storage with localStorage
- Server-side profile validation
- Secure credential management
- Support for multiple IPTV provider credentials
- JWT-based authentication
- HTTP-only cookies for security
- Server-side session validation
- Support for HLS streams
- Custom video player controls
- EPG integration for live channels
- Adaptive bitrate streaming
- Full Xtream Codes API implementation
- RESTful API endpoints
- Type-safe API calls
- Error handling and fallbacks
- Automatic API endpoint detection
DATABASE_URL: PostgreSQL connection stringJWT_SECRET: Secret key for JWT token generationNEXT_PUBLIC_SITE_URL: Public URL of the application
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.