const util = require('./util') const debug = false const blacklist = [ '80.80.160.168', // repeats on a loop '63.237.48.3', // not a live stream '189.216.247.113', // not working streams ] let stats = { channels: 0, removed: 0 } function init() { console.log(`Parsing 'index.m3u'...`) const playlist = util.parsePlaylist('index.m3u') let countries = playlist.items if(debug) { console.log('Debug mode is turn on') countries = countries.slice(0, 1) } for(let country of countries) { console.log(`Parsing '${country.url}'...`) const playlist = util.parsePlaylist(country.url) if(debug) { console.log(`Creating channels list...`) } let channels = [] for(let item of playlist.items) { const url = new URL(item.url) const host = url.hostname if(blacklist.indexOf(host) === -1) { let channel = util.createChannel({ id: item.inf['tvg-id'], name: item.inf['tvg-name'], logo: item.inf['tvg-logo'], group: item.inf['group-title'], url: item.url, title: item.inf.title }) channels.push(channel) } else { stats.removed += 1 } } console.log(`Updating '${country.url}'...`) util.createFile(country.url, playlist.getHeader()) channels.forEach(channel => { util.appendToFile(country.url, channel.toString()) }) stats.channels += channels.length } } console.log('Starting...') init() console.log(`Total: ${stats.channels}. Removed: ${stats.removed}`)