A modern, fast, and feature-rich Web-based IPTV streaming application. Built with vanilla JavaScript, Tailwind CSS, and Firebase. This platform allows users to stream HLS (.m3u8) channels seamlessly, while offering a complete real-time Admin Panel for managing channels and categories.
- Modern & Responsive Design: Built with Tailwind CSS and sleek Glassmorphism elements.
- Adaptive HLS Video Player: Powered by
hls.js, supporting multiple resolutions with a manual Quality Selector (Auto, 1080p, 720p, etc.). - Live Search & Filtering: Instantly search for channels or filter them by category without page reloads.
- Real-Time Updates: Channels appear instantly via Firebase's real-time listeners.
- Secure Authentication: Protected by Firebase Email/Password Auth.
- Full CRUD Support: Add, Edit, and Delete live TV channels and categories.
- Bulk Operations: Select multiple channels and delete them with a single click.
- Custom UI System: Beautiful Toast notifications and Modal confirmations instead of native browser alerts.
- Frontend: HTML5, Vanilla JavaScript, Tailwind CSS (via CDN)
- Video Player: HLS.js
- Backend & Database: Google Firebase (Firestore & Firebase Auth)
- Deployment: Ready for Vercel, Netlify, GitHub Pages, or Firebase Hosting.
You will need a Firebase account to configure the database and authentication.
Simply clone or download the repository to your local machine:
git clone https://github.com/your-username/bdix-iptv.git
cd bdix-iptv- Create a project on the Firebase Console.
- Enable Firestore Database and Authentication (Email/Password method).
- Set your Firestore rules to allow read/write access for authenticated users.
- Copy your Firebase Config object and paste it in
js/firebase-config.js:
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_PROJECT_ID.appspot.com",
messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
appId: "YOUR_APP_ID"
};Since this is a fully static site, you can run it via VS Code's Live Server extension, or use a simple python HTTP server:
python -m http.server 8000Then open http://localhost:8000 in your browser.
- Navigate to
/admin.html - Log in using your Firebase Authentication credentials to access the dashboard.
- From there, you can manage your
.m3u8streams and categories.
This project is 100% static. You can easily deploy the folder directly to Vercel or Netlify by dragging and dropping it, or connect your GitHub repository for continuous deployment.
This project is licensed under the MIT License. Feel free to modify and use it for your personal projects.