Skip to content

Releases: Kl4rkx/free-iptv-player

v2.0.0

12 Nov 23:52

Choose a tag to compare

🎉 Free IPTV Player v2.0.0 - Xtream Codes & Production Ready

🚀 Major Features

✨ Xtream Codes Integration

  • Full Xtream Codes API support with automatic fallback (M3U → JSON)
  • Serverless proxy deployed on Vercel for CORS-free Xtream requests
  • Auto-detection of environment (localhost, Vercel, GitHub Pages)
  • Smart credential handling with secure POST requests

🔒 HTTPS Mixed Content Solution

  • Stream proxy endpoint (/api/stream) converts HTTP streams to HTTPS
  • Transparent proxying - works automatically on GitHub Pages
  • No more Mixed Content errors in production

🌐 Production Deployments

  • Vercel serverless functions with Node.js 20+ (engines in package.json)
  • GitHub Pages integration with Actions-injected secrets
  • Auto-deployment on push to main branch
  • Same-origin API calls for optimal performance

🔧 Technical Improvements

Backend & Infrastructure

  • ✅ Modern Vercel configuration (no legacy builds)
  • ✅ Node.js 20+ runtime (future-proof, 18.x EOL in Aug 2025)
  • ✅ Dynamic proxy URL resolution based on deployment context
  • ✅ CORS-enabled serverless functions for Xtream and streaming
  • ✅ Security: Fixed ReDoS vulnerability in URL normalization

Frontend Enhancements

  • ✅ Improved error handling with user-friendly messages
  • ✅ Console logging for debugging Xtream connections
  • ✅ Loading states and back buttons for better UX
  • ✅ Safe channel sanitization (HTTP logos → fallback in HTTPS)

Configuration & Secrets

  • ✅ Runtime config injection via GitHub Actions
  • CONFIG.getProxyUrl() auto-detects Vercel/Pages/localhost
  • ✅ GitHub Secret VERCEL_PROXY_URL for Pages deployment
  • ✅ Zero hardcoded URLs in production code

📦 New API Endpoints

/api/xtream (POST)

Proxy for Xtream Codes servers. Accepts:

{
  "server": "http://your-server:port",
  "username": "user",
  "password": "pass"
}

Returns M3U or JSON channel list.

/api/stream (GET)

HTTP-to-HTTPS streaming proxy. Usage:

/api/stream?url=http://example.com/stream.m3u8

Forwards Range headers for HLS compatibility.

🐛 Bug Fixes

  • Fixed "Function Runtimes must have a valid version" error
  • Fixed "Se queda en cargando canales..." when using Xtream
  • Fixed parseM3U/parseXtreamJson scope issues (moved to class)
  • Fixed NOT_FOUND errors in Vercel deployments
  • Fixed Mixed Content blocking HTTP streams on HTTPS sites

📚 Documentation Updates

  • Added DEPLOYMENT.md - Full deployment guide
  • Added GITHUB-SECRETS.md - Secrets configuration
  • Updated README.md with Vercel deployment instructions
  • Added deploy.ps1 helper script for Windows users

🔄 Migration Guide

From v1.x to v2.0.0

For Vercel users:

  1. Ensure package.json has "engines": { "node": ">=20.x" }
  2. Remove any functions.runtime from vercel.json
  3. Redeploy with vercel --prod

For GitHub Pages users:

  1. Set GitHub Secret: VERCEL_PROXY_URL = https://your-vercel-app.vercel.app/api/xtream
  2. Push to main - Actions will inject the secret automatically

For Xtream users:

  1. Use the Xtream Codes tab in the app
  2. Enter server URL (without /api/xtream suffix)
  3. Enter username and password
  4. The app will use the proxy automatically in production

⚙️ System Requirements

  • Node.js: 20.x or higher
  • Browsers: Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
  • Vercel: Free tier (100GB bandwidth/month)
  • GitHub Pages: Enabled in repository settings

🎯 What's Next (v2.1.0)

  • Channel categories from Xtream API
  • EPG (Electronic Program Guide) integration
  • Favorites and history
  • VOD (Video on Demand) support
  • Multi-language EPG

🙏 Contributors

Special thanks to all contributors and the Vercel community for deployment guidance!


Full Changelog: v1.0.0...v2.0.0

v1.0.0 — First stable release

28 Oct 18:30

Choose a tag to compare

Release v1.0.0 — Free IPTV Player (English)

Tag

  • v1.0.0

  • First stable release of Free IPTV Player — a lightweight web/PWA player for M3U/M3U8 (HLS) streams. No ads, no subscriptions. Includes support for 11,815+ live TV channels (content depends on provided lists).

Key features

  • Play M3U / M3U8 (HLS) streams
  • PWA-ready (installable on supported devices)
  • Lightweight UI (JavaScript/HTML/CSS) optimized for desktop and mobile
  • Channel search and basic filtering
  • Favorites (local storage)
  • Import/export M3U lists
  • Basic EPG support when provided by source
  • Robust playback error handling (retries + user messages)

Quick start

  • Clone the repo or download the release
  • Serve the project over HTTP(S) (recommended), e.g.:
    • python -m http.server 8000
  • Open index.html in a browser or install as PWA
  • Import a M3U file or paste a M3U URL in the UI

Compatibility & requirements

  • Modern browsers with HLS support or use HLS.js where needed
  • Serving over HTTPS recommended for mobile playback

Known issues

  • Some public M3U sources include offline or geo-restricted streams
  • EPG availability and quality depend on the source
  • iOS playback may require specific stream configurations

Security & privacy

  • No user credentials stored by default
  • Favorites and settings stored locally (localStorage)