Author: @tg_aadi
Telegram Support: https://t.me/tg_aadi
This project allows you to convert any Stalker-Portal account into an M3U playlist that can be used in IPTV players like TiviMate, OTT Navigator, VLC, Perfect Player, etc.
With this script, you can:
- π Authenticate to any Stalker-Portal using MAC Address and Device IDs
- π― Generate a dynamic M3U playlist directly from your portal
- π‘ Get direct stream links (
.m3u8) for any channel - π Host your own IPTV playlist server using Cloudflare Workers (free)
- Works with most Stalker-Portals worldwide
- Fetches Account Info, Profile, Channel List, Genres
- Auto-detects User IP and shows it in playlist info
- Fully compatible with all IPTV players
- 100% serverless hosting using Cloudflare Workers
- A working Stalker-Portal account (Host, MAC address, serial number, etc.)
- A Cloudflare account (free) to deploy the worker
- Basic GitHub knowledge to fork & deploy
π Usage
Once deployed:
Playlist:
https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/playlist.m3u8
Add this link to any IPTV player.
Make sure your portal credentials are correct
Cloudflare Workers have a 10-second fetch limit; huge playlists may take time
If streams don't play, your portal may require encryption or be geo-restricted
π License
This project is free for educational purposes. You are responsible for how you use it.
π¬ Support
If you need help or encounter issues:
Contact me on Telegram: @tg_aadi
Open a GitHub issue in this repository
Edit the config object in the script before deployment:
const config = {
host: 'sky.dittotvv.cc', // e.g. 'example.com' (your portal host without http/https)
mac_address: '00:1A:79:F2:B3:14', // Your portal MAC address (e.g., 00:1A:79:12:34:56)
serial_number: 'A9790F4160084', // Your device serial number
device_id: '09F00F06FD94E7A4034ADB2121040AB31C3B284A89C3295879CC94CF86A36228', // Your Device ID
device_id_2: '09F00F06FD94E7A4034ADB2121040AB31C3B284A89C3295879CC94CF86A36228', // Your Device ID 2
stb_type: 'MAG250', // STB type (default MAG250)
api_signature: '263', // Keep as is
};