From ab42da3b0bf65268589ce6353e47c3019e24a267 Mon Sep 17 00:00:00 2001
From: freearhey <7253922+freearhey@users.noreply.github.com>
Date: Sun, 28 Sep 2025 13:06:13 +0300
Subject: [PATCH] LF to CRLF
---
sites/allente.no/allente.no.test.js | 118 +-
sites/awilime.com/awilime.com.config.js | 188 +-
sites/beinsports.com/beinsports.com.test.js | 86 +-
sites/cubmu.com/cubmu.com.config.js | 228 +-
sites/directv.com.ar/directv.com.ar.config.js | 375 +-
sites/directv.com.uy/directv.com.uy.config.js | 345 +-
sites/dishtv.in/dishtv.in.config.js | 353 +-
sites/dishtv.in/dishtv.in.test.js | 283 +-
sites/dtv8.net/dtv8.net.config.js | 174 +-
sites/elcinema.com/elcinema.com.config.js | 309 +-
sites/epg.112114.xyz/epg.112114.xyz.config.js | 111 +-
.../epg.iptvx.one/epg.iptvx.one.channels.xml | 6664 ++++++++---------
sites/epg.iptvx.one/epg.iptvx.one.config.js | 128 +-
sites/epg.iptvx.one/epg.iptvx.one.test.js | 92 +-
.../epg.telemach.ba/epg.telemach.ba.config.js | 252 +-
sites/epg.telemach.ba/epg.telemach.ba.test.js | 188 +-
.../epgshare01.online.config.js | 246 +-
17 files changed, 5084 insertions(+), 5056 deletions(-)
diff --git a/sites/allente.no/allente.no.test.js b/sites/allente.no/allente.no.test.js
index e55c7924..1337a069 100644
--- a/sites/allente.no/allente.no.test.js
+++ b/sites/allente.no/allente.no.test.js
@@ -1,59 +1,59 @@
-const { parser, url } = require('./allente.no.config.js')
-const fs = require('fs')
-const path = require('path')
-const dayjs = require('dayjs')
-const utc = require('dayjs/plugin/utc')
-const customParseFormat = require('dayjs/plugin/customParseFormat')
-dayjs.extend(customParseFormat)
-dayjs.extend(utc)
-
-const date = dayjs.utc('2021-11-17', 'YYYY-MM-DD').startOf('d')
-const channel = {
- site_id: 'se#0148',
- xmltv_id: 'SVT1.se'
-}
-
-it('can generate valid url', () => {
- if (channel.site_id.split('#')[0] !== 'se') {
- expect(url({ channel, date })).toBe('https://cs-vcb.allente.se/epg/events?date=2021-11-17')
- } else if (channel.site_id.split('#')[0] === 'fi') {
- expect(url({ channel, date })).toBe('https://cs-vcb.allente.fi/epg/events?date=2021-11-17')
- } else if (channel.site_id.split('#')[0] === 'no') {
- expect(url({ channel, date })).toBe('https://cs-vcb.allente.no/epg/events?date=2021-11-17')
- } else if (channel.site_id.split('#')[0] === 'dk') {
- expect(url({ channel, date })).toBe('https://cs-vcb.allente.dk/epg/events?date=2021-11-17')
- }
-})
-
-it('can parse response', () => {
- const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
- const result = parser({ content, channel }).map(p => {
- p.start = p.start.toJSON()
- p.stop = p.stop.toJSON()
- return p
- })
-
- expect(result).toMatchObject([
- {
- start: '2022-08-22T07:10:00.000Z',
- stop: '2022-08-22T07:30:00.000Z',
- title: 'Hemmagympa med Sofia',
- category: ['other'],
- description:
- 'Svenskt träningsprogram från 2021. Styrka. Sofia Åhman leder SVT:s hemmagympapass. Denna gång fokuserar vi på styrka.',
- image:
- 'https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/21/2022-08-22/se.cs.svt1.event.A_41214031600.jpg?size=2560x1440',
- season: 4,
- episode: 1
- }
- ])
-})
-
-it('can handle empty guide', () => {
- const result = parser({
- date,
- channel,
- content: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.json'))
- })
- expect(result).toMatchObject([])
-})
+const { parser, url } = require('./allente.no.config.js')
+const fs = require('fs')
+const path = require('path')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+dayjs.extend(customParseFormat)
+dayjs.extend(utc)
+
+const date = dayjs.utc('2021-11-17', 'YYYY-MM-DD').startOf('d')
+const channel = {
+ site_id: 'se#0148',
+ xmltv_id: 'SVT1.se'
+}
+
+it('can generate valid url', () => {
+ if (channel.site_id.split('#')[0] !== 'se') {
+ expect(url({ channel, date })).toBe('https://cs-vcb.allente.se/epg/events?date=2021-11-17')
+ } else if (channel.site_id.split('#')[0] === 'fi') {
+ expect(url({ channel, date })).toBe('https://cs-vcb.allente.fi/epg/events?date=2021-11-17')
+ } else if (channel.site_id.split('#')[0] === 'no') {
+ expect(url({ channel, date })).toBe('https://cs-vcb.allente.no/epg/events?date=2021-11-17')
+ } else if (channel.site_id.split('#')[0] === 'dk') {
+ expect(url({ channel, date })).toBe('https://cs-vcb.allente.dk/epg/events?date=2021-11-17')
+ }
+})
+
+it('can parse response', () => {
+ const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
+ const result = parser({ content, channel }).map(p => {
+ p.start = p.start.toJSON()
+ p.stop = p.stop.toJSON()
+ return p
+ })
+
+ expect(result).toMatchObject([
+ {
+ start: '2022-08-22T07:10:00.000Z',
+ stop: '2022-08-22T07:30:00.000Z',
+ title: 'Hemmagympa med Sofia',
+ category: ['other'],
+ description:
+ 'Svenskt träningsprogram från 2021. Styrka. Sofia Åhman leder SVT:s hemmagympapass. Denna gång fokuserar vi på styrka.',
+ image:
+ 'https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/21/2022-08-22/se.cs.svt1.event.A_41214031600.jpg?size=2560x1440',
+ season: 4,
+ episode: 1
+ }
+ ])
+})
+
+it('can handle empty guide', () => {
+ const result = parser({
+ date,
+ channel,
+ content: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.json'))
+ })
+ expect(result).toMatchObject([])
+})
diff --git a/sites/awilime.com/awilime.com.config.js b/sites/awilime.com/awilime.com.config.js
index df6246c1..7e19b5b5 100644
--- a/sites/awilime.com/awilime.com.config.js
+++ b/sites/awilime.com/awilime.com.config.js
@@ -1,91 +1,97 @@
-const cheerio = require('cheerio')
-const axios = require('axios')
-const { DateTime } = require('luxon')
-
-module.exports = {
- site: 'awilime.com',
- days: 2,
- url({ channel, date }) {
- return `https://www.awilime.com/tv/napi_musor/${channel.site_id}/${date.format('YYYY_MM_DD')}`
- },
- request: {
- headers: {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36'
- }
- },
- parser({ content, date }) {
- const programs = []
- const items = parseItems(content)
- items.forEach(item => {
- const prev = programs[programs.length - 1]
- const $item = cheerio.load(item)
- let start = parseStart($item, date)
- if (!start) return
- if (prev) {
- prev.stop = start
- }
- const stop = start.plus({ minute: 30 })
-
- programs.push({
- title: parseTitle($item),
- sub_title: parseSubTitle($item),
- description: parseDescription($item),
- start,
- stop
- })
- })
-
- return programs
- },
- async channels() {
- const html = await axios
- .get('https://www.awilime.com/tv/napi_musor', { headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36' } })
- .then(r => r.data)
- .catch(console.log)
- const $ = cheerio.load(html)
- const items = $('#body > div.tk > div > div').toArray()
-
- const channels = []
- items.forEach(item => {
- const name = $(item).find('a').text().trim()
- const url = $(item).find('a').attr('href')
- const [, site_id] = url.match(/\/tv\/napi_musor\/(.*)/) || [null, null]
- if (!site_id) return
- if (channels.find(channel => channel.site_id === site_id)) return
-
- channels.push({
- lang: 'hu',
- site_id,
- name
- })
- })
-
- return channels
- }
-}
-
-function parseTitle($item) {
- return $item('b > a').text().trim()
-}
-
-function parseSubTitle($item) {
- return $item('i').clone().children().remove('s').end().text().trim()
-}
-
-function parseDescription($item) {
- return $item('p').text().trim()
-}
-
-function parseStart($item, date) {
- let time = $item('b').clone().children().remove().end().text().trim()
- if (!time || !/^\d/.test(time)) return null
- time = `${date.format('YYYY-MM-DD')} ${time}`
-
- return DateTime.fromFormat(time, 'yyyy-MM-dd HH:mm', { zone: 'Europe/Budapest' }).toUTC()
-}
-
-function parseItems(content) {
- const $ = cheerio.load(content)
-
- return $('#body > div.tdc > div.td2 > div').toArray()
-}
+const cheerio = require('cheerio')
+const axios = require('axios')
+const { DateTime } = require('luxon')
+
+module.exports = {
+ site: 'awilime.com',
+ days: 2,
+ url({ channel, date }) {
+ return `https://www.awilime.com/tv/napi_musor/${channel.site_id}/${date.format('YYYY_MM_DD')}`
+ },
+ request: {
+ headers: {
+ 'User-Agent':
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36'
+ }
+ },
+ parser({ content, date }) {
+ const programs = []
+ const items = parseItems(content)
+ items.forEach(item => {
+ const prev = programs[programs.length - 1]
+ const $item = cheerio.load(item)
+ let start = parseStart($item, date)
+ if (!start) return
+ if (prev) {
+ prev.stop = start
+ }
+ const stop = start.plus({ minute: 30 })
+
+ programs.push({
+ title: parseTitle($item),
+ sub_title: parseSubTitle($item),
+ description: parseDescription($item),
+ start,
+ stop
+ })
+ })
+
+ return programs
+ },
+ async channels() {
+ const html = await axios
+ .get('https://www.awilime.com/tv/napi_musor', {
+ headers: {
+ 'User-Agent':
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36'
+ }
+ })
+ .then(r => r.data)
+ .catch(console.log)
+ const $ = cheerio.load(html)
+ const items = $('#body > div.tk > div > div').toArray()
+
+ const channels = []
+ items.forEach(item => {
+ const name = $(item).find('a').text().trim()
+ const url = $(item).find('a').attr('href')
+ const [, site_id] = url.match(/\/tv\/napi_musor\/(.*)/) || [null, null]
+ if (!site_id) return
+ if (channels.find(channel => channel.site_id === site_id)) return
+
+ channels.push({
+ lang: 'hu',
+ site_id,
+ name
+ })
+ })
+
+ return channels
+ }
+}
+
+function parseTitle($item) {
+ return $item('b > a').text().trim()
+}
+
+function parseSubTitle($item) {
+ return $item('i').clone().children().remove('s').end().text().trim()
+}
+
+function parseDescription($item) {
+ return $item('p').text().trim()
+}
+
+function parseStart($item, date) {
+ let time = $item('b').clone().children().remove().end().text().trim()
+ if (!time || !/^\d/.test(time)) return null
+ time = `${date.format('YYYY-MM-DD')} ${time}`
+
+ return DateTime.fromFormat(time, 'yyyy-MM-dd HH:mm', { zone: 'Europe/Budapest' }).toUTC()
+}
+
+function parseItems(content) {
+ const $ = cheerio.load(content)
+
+ return $('#body > div.tdc > div.td2 > div').toArray()
+}
diff --git a/sites/beinsports.com/beinsports.com.test.js b/sites/beinsports.com/beinsports.com.test.js
index e3952df6..cfcf832a 100644
--- a/sites/beinsports.com/beinsports.com.test.js
+++ b/sites/beinsports.com/beinsports.com.test.js
@@ -1,43 +1,43 @@
-const { parser, url } = require('./beinsports.com.config.js')
-const fs = require('fs')
-const path = require('path')
-const dayjs = require('dayjs')
-const utc = require('dayjs/plugin/utc')
-const customParseFormat = require('dayjs/plugin/customParseFormat')
-dayjs.extend(customParseFormat)
-dayjs.extend(utc)
-
-const date = dayjs.utc('2023-10-22T00:00:00.000', '"YYYY-MM-DDTHH:mm:ss.SSS').startOf('d')
-const channel = { site_id: 'C244C48D-3B54-406A-94C9-D63B16318267', xmltv_id: 'beINSportsUSA.us' }
-
-it('can generate valid url', () => {
- const result = url({ date, channel })
- expect(result).toBe(
- 'https://www.beinsports.com/api/opta/tv-event?&startBefore=2023-10-23T00:00:00.000Z&endAfter=2023-10-22T00:00:00.000Z&channelIds=C244C48D-3B54-406A-94C9-D63B16318267'
- )
-})
-
-it('can parse response', () => {
- const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
- const result = parser({ content, channel, date }).map(p => {
- p.start = p.start.toJSON()
- p.stop = p.stop.toJSON()
- return p
- })
-
- expect(result).toMatchObject([
- {
- start: '2023-10-20T23:30:00.000Z',
- stop: '2023-10-21T01:00:00.000Z',
- title: 'Tokyo Day 5 QF 2',
- description: 'Exclusive coverage of the 2023 ATP Tour on beIN SPORTS'
- }
- ])
-})
-
-it('can handle empty guide', () => {
- const result = parser({
- content: '[]'
- })
- expect(result).toMatchObject([])
-})
+const { parser, url } = require('./beinsports.com.config.js')
+const fs = require('fs')
+const path = require('path')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+dayjs.extend(customParseFormat)
+dayjs.extend(utc)
+
+const date = dayjs.utc('2023-10-22T00:00:00.000', '"YYYY-MM-DDTHH:mm:ss.SSS').startOf('d')
+const channel = { site_id: 'C244C48D-3B54-406A-94C9-D63B16318267', xmltv_id: 'beINSportsUSA.us' }
+
+it('can generate valid url', () => {
+ const result = url({ date, channel })
+ expect(result).toBe(
+ 'https://www.beinsports.com/api/opta/tv-event?&startBefore=2023-10-23T00:00:00.000Z&endAfter=2023-10-22T00:00:00.000Z&channelIds=C244C48D-3B54-406A-94C9-D63B16318267'
+ )
+})
+
+it('can parse response', () => {
+ const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
+ const result = parser({ content, channel, date }).map(p => {
+ p.start = p.start.toJSON()
+ p.stop = p.stop.toJSON()
+ return p
+ })
+
+ expect(result).toMatchObject([
+ {
+ start: '2023-10-20T23:30:00.000Z',
+ stop: '2023-10-21T01:00:00.000Z',
+ title: 'Tokyo Day 5 QF 2',
+ description: 'Exclusive coverage of the 2023 ATP Tour on beIN SPORTS'
+ }
+ ])
+})
+
+it('can handle empty guide', () => {
+ const result = parser({
+ content: '[]'
+ })
+ expect(result).toMatchObject([])
+})
diff --git a/sites/cubmu.com/cubmu.com.config.js b/sites/cubmu.com/cubmu.com.config.js
index d59090e5..335a555d 100644
--- a/sites/cubmu.com/cubmu.com.config.js
+++ b/sites/cubmu.com/cubmu.com.config.js
@@ -1,114 +1,114 @@
-const dayjs = require('dayjs')
-const timezone = require('dayjs/plugin/timezone')
-const utc = require('dayjs/plugin/utc')
-
-dayjs.extend(timezone)
-dayjs.extend(utc)
-
-module.exports = {
- site: 'cubmu.com',
- days: 2,
- url({ channel, date }) {
- return `https://servicebuss.transvision.co.id/v2/cms/getEPGData?app_id=cubmu&tvs_platform_id=standalone&schedule_date=${date.format(
- 'YYYY-MM-DD'
- )}&channel_id=${channel.site_id}`
- },
- parser({ content, channel }) {
- const programs = []
- const items = parseItems(content)
- items.forEach(item => {
- programs.push({
- title: parseTitle(item),
- description: parseDescription(item, channel.lang),
- episode: parseEpisode(item),
- start: parseStart(item).toISOString(),
- stop: parseStop(item).toISOString()
- })
- })
-
- return programs
- },
- async channels({ lang }) {
- const axios = require('axios')
- const cheerio = require('cheerio')
- const result = await axios
- .get('https://cubmu.com/live-tv')
- .then(response => response.data)
- .catch(console.error)
-
- const $ = cheerio.load(result)
-
- // retrieve service api data
- const config = JSON.parse($('#__NEXT_DATA__').text()).runtimeConfig || {}
-
- const options = {
- headers: {
- Origin: 'https://cubmu.com',
- Referer: 'https://cubmu.com/live-tv'
- }
- }
- // login to service bus
- await axios
- .post(
- `https://servicebuss.transvision.co.id/tvs/login/external?email=${config.email}&password=${config.password}&deviceId=${config.deviceId}&deviceType=${config.deviceType}&deviceModel=${config.deviceModel}&deviceToken=&serial=&platformId=${config.platformId}`,
- options
- )
- .then(response => response.data)
- .catch(console.error)
- // list channels
- const subscribedChannels = await axios
- .post(
- `https://servicebuss.transvision.co.id/tvs/subscribe_product/list?platformId=${config.platformId}`,
- options
- )
- .then(response => response.data)
- .catch(console.error)
-
- const channels = []
- const included = []
- if (Array.isArray(subscribedChannels.channelPackageList)) {
- subscribedChannels.channelPackageList.forEach(pkg => {
- pkg.channelList.forEach(channel => {
- if (included.indexOf(channel.id) < 0) {
- included.push(channel.id)
- channels.push({
- lang,
- site_id: channel.id,
- name: channel.name
- })
- }
- })
- })
- }
-
- return channels
- }
-}
-
-function parseItems(content) {
- return content ? JSON.parse(content.trim()).result || [] : []
-}
-
-function parseTitle(item) {
- return item.scehedule_title
-}
-
-function parseDescription(item, lang = 'id') {
- return lang === 'id' ? item.schedule_json.primarySynopsis : item.schedule_json.secondarySynopsis
-}
-
-function parseEpisode(item) {
- return item.schedule_json.episodeName
-}
-
-function parseStart(item) {
- return dayjs.tz(item.schedule_date, 'YYYY-MM-DD HH:mm:ss', 'Asia/Jakarta')
-}
-
-function parseStop(item) {
- return dayjs.tz(
- [item.schedule_date.split(' ')[0], item.schedule_end_time].join(' '),
- 'YYYY-MM-DD HH:mm:ss',
- 'Asia/Jakarta'
- )
-}
+const dayjs = require('dayjs')
+const timezone = require('dayjs/plugin/timezone')
+const utc = require('dayjs/plugin/utc')
+
+dayjs.extend(timezone)
+dayjs.extend(utc)
+
+module.exports = {
+ site: 'cubmu.com',
+ days: 2,
+ url({ channel, date }) {
+ return `https://servicebuss.transvision.co.id/v2/cms/getEPGData?app_id=cubmu&tvs_platform_id=standalone&schedule_date=${date.format(
+ 'YYYY-MM-DD'
+ )}&channel_id=${channel.site_id}`
+ },
+ parser({ content, channel }) {
+ const programs = []
+ const items = parseItems(content)
+ items.forEach(item => {
+ programs.push({
+ title: parseTitle(item),
+ description: parseDescription(item, channel.lang),
+ episode: parseEpisode(item),
+ start: parseStart(item).toISOString(),
+ stop: parseStop(item).toISOString()
+ })
+ })
+
+ return programs
+ },
+ async channels({ lang }) {
+ const axios = require('axios')
+ const cheerio = require('cheerio')
+ const result = await axios
+ .get('https://cubmu.com/live-tv')
+ .then(response => response.data)
+ .catch(console.error)
+
+ const $ = cheerio.load(result)
+
+ // retrieve service api data
+ const config = JSON.parse($('#__NEXT_DATA__').text()).runtimeConfig || {}
+
+ const options = {
+ headers: {
+ Origin: 'https://cubmu.com',
+ Referer: 'https://cubmu.com/live-tv'
+ }
+ }
+ // login to service bus
+ await axios
+ .post(
+ `https://servicebuss.transvision.co.id/tvs/login/external?email=${config.email}&password=${config.password}&deviceId=${config.deviceId}&deviceType=${config.deviceType}&deviceModel=${config.deviceModel}&deviceToken=&serial=&platformId=${config.platformId}`,
+ options
+ )
+ .then(response => response.data)
+ .catch(console.error)
+ // list channels
+ const subscribedChannels = await axios
+ .post(
+ `https://servicebuss.transvision.co.id/tvs/subscribe_product/list?platformId=${config.platformId}`,
+ options
+ )
+ .then(response => response.data)
+ .catch(console.error)
+
+ const channels = []
+ const included = []
+ if (Array.isArray(subscribedChannels.channelPackageList)) {
+ subscribedChannels.channelPackageList.forEach(pkg => {
+ pkg.channelList.forEach(channel => {
+ if (included.indexOf(channel.id) < 0) {
+ included.push(channel.id)
+ channels.push({
+ lang,
+ site_id: channel.id,
+ name: channel.name
+ })
+ }
+ })
+ })
+ }
+
+ return channels
+ }
+}
+
+function parseItems(content) {
+ return content ? JSON.parse(content.trim()).result || [] : []
+}
+
+function parseTitle(item) {
+ return item.scehedule_title
+}
+
+function parseDescription(item, lang = 'id') {
+ return lang === 'id' ? item.schedule_json.primarySynopsis : item.schedule_json.secondarySynopsis
+}
+
+function parseEpisode(item) {
+ return item.schedule_json.episodeName
+}
+
+function parseStart(item) {
+ return dayjs.tz(item.schedule_date, 'YYYY-MM-DD HH:mm:ss', 'Asia/Jakarta')
+}
+
+function parseStop(item) {
+ return dayjs.tz(
+ [item.schedule_date.split(' ')[0], item.schedule_end_time].join(' '),
+ 'YYYY-MM-DD HH:mm:ss',
+ 'Asia/Jakarta'
+ )
+}
diff --git a/sites/directv.com.ar/directv.com.ar.config.js b/sites/directv.com.ar/directv.com.ar.config.js
index 65503989..fef6a12f 100644
--- a/sites/directv.com.ar/directv.com.ar.config.js
+++ b/sites/directv.com.ar/directv.com.ar.config.js
@@ -1,184 +1,191 @@
-process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0
-const dayjs = require('dayjs')
-const axios = require('axios')
-const utc = require('dayjs/plugin/utc')
-const timezone = require('dayjs/plugin/timezone')
-const customParseFormat = require('dayjs/plugin/customParseFormat')
-
-dayjs.extend(utc)
-dayjs.extend(timezone)
-dayjs.extend(customParseFormat)
-
-module.exports = {
- site: 'directv.com.ar',
- days: 2,
- url: 'https://www.directv.com.ar/guia/ChannelDetail.aspx/GetProgramming',
- request: {
- method: 'POST',
- headers: {
- Cookie: 'PGCSS=16; PGLang=S; PGCulture=es-AR;',
- Accept: '*/*',
- 'Accept-Language': 'es-419,es;q=0.9',
- Connection: 'keep-alive',
- 'Content-Type': 'application/json; charset=UTF-8',
- Origin: 'https://www.directv.com.ar',
- Referer: 'https://www.directv.com.ar/guia/ChannelDetail.aspx?id=1740&name=TLCHD',
- 'Sec-Fetch-Dest': 'empty',
- 'Sec-Fetch-Mode': 'cors',
- 'Sec-Fetch-Site': 'same-origin',
- 'User-Agent':
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
- 'sec-ch-ua': '"Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"',
- 'sec-ch-ua-mobile': '?0',
- 'sec-ch-ua-platform': '"Windows"',
- 'X-Requested-With': 'XMLHttpRequest'
- },
- data({ channel, date }) {
- const [channelNum, channelName] = channel.site_id.split('#')
-
- return {
- filterParameters: {
- day: date.date(),
- time: 0,
- minute: 0,
- month: date.month() + 1,
- year: date.year(),
- offSetValue: 0,
- homeScreenFilter: '',
- filtersScreenFilters: [''],
- isHd: '',
- isChannelDetails: 'Y',
- channelNum,
- channelName: channelName.replace('&', '&')
- }
- }
- }
- },
- parser({ content, channel }) {
- let programs = []
- const items = parseItems(content, channel)
- items.forEach(item => {
- programs.push({
- title: item.title,
- description: item.description,
- rating: parseRating(item),
- start: parseStart(item),
- stop: parseStop(item)
- })
- })
-
- return programs
- },
- async channels() {
- let channels = []
- const cookies = await axios.get('https://www.directv.com.ar/guia/guia.aspx', {
- headers: {
- Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8',
- 'Accept-Encoding': 'gzip, deflate, br, zstd',
- 'Accept-Language': 'es-419,es;q=0.9',
- 'Cache-Control': 'no-cache',
- Connection: 'keep-alive',
- Host: 'www.directv.com.ar',
- Pragma: 'no-cache',
- Referer: 'https://www.google.com/',
- 'Sec-Fetch-Dest': 'document',
- 'Sec-Fetch-Mode': 'navigate',
- 'Sec-Fetch-Site': 'same-origin',
- 'Sec-Fetch-User': '?1',
- 'Sec-GPC': 1,
- 'Upgrade-Insecure-Requests': 1,
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36',
- 'sec-ch-ua': '"Not;A=Brand";v="99", "Brave";v="139", "Chromium";v="139"',
- 'sec-ch-ua-mobile': '?0',
- 'sec-ch-ua-platform': '"Windows"'
- }})
- const cookieHeader = cookies.headers['set-cookie'].map(cookie => cookie.split(';')[0]).join('; ')
-
- const date = dayjs().tz('America/Argentina/Buenos_Aires')
-
- const response = await axios.post(
- 'https://www.directv.com.ar/guia/guia.aspx/GetProgramming',
- {
- filterParam: {
- day: date.date(),
- time: date.hour(),
- minute: 0,
- month: date.month() + 1,
- year: date.year(),
- offSetValue: 0,
- homeScreenFilter: '',
- filtersScreenFilters: [''],
- isHd: ''
- }
- },
- {
- headers: {
- Accept: '*/*',
- 'Accept-Encoding': 'gzip, deflate, br, zstd',
- 'Accept-Language': 'es-419,es;q=0.9',
- 'Cache-Control': 'no-cache',
- Connection: 'keep-alive',
- 'Content-Type': 'application/json; charset=UTF-8',
- Cookie: cookieHeader,
- Host: 'www.directv.com.ar',
- Origin: 'https://www.directv.com.ar',
- Pragma: 'no-cache',
- Referer: 'https://www.directv.com.ar/guia/guia.aspx',
- 'Sec-Fetch-Dest': 'empty',
- 'Sec-Fetch-Mode': 'cors',
- 'Sec-Fetch-Site': 'same-origin',
- 'Sec-GPC': 1,
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36',
- 'X-Requested-With': 'XMLHttpRequest',
- 'sec-ch-ua': '"Not;A=Brand";v="99", "Brave";v="139", "Chromium";v="139"',
- 'sec-ch-ua-mobile': '?0',
- 'sec-ch-ua-platform': '"Windows"',
- 'uzlc': true,
- }
- }
- )
- .then(r => r.data)
- .catch(console.log)
-
- response.d.forEach(item => {
- channels.push({
- site_id: `${item.ContentChannelID}#${item.ChannelName.replace(/&/g, '&')}`,
- name: item.ChannelFullName,
- logo: item.ImageUrl,
- lang: 'es'
- })
- })
-
- return channels
- }
-}
-
-function parseRating(item) {
- return item.rating
- ? {
- system: 'MPA',
- value: item.rating
- }
- : null
-}
-
-function parseStart(item) {
- return dayjs.tz(item.startTimeString, 'M/D/YYYY h:mm:ss A', 'America/Argentina/Buenos_Aires')
-}
-
-function parseStop(item) {
- return dayjs.tz(item.endTimeString, 'M/D/YYYY h:mm:ss A', 'America/Argentina/Buenos_Aires')
-}
-
-function parseItems(content, channel) {
- if (!content) return []
- let [ChannelNumber, ChannelName] = channel.site_id.split('#')
- ChannelName = ChannelName.replace('&', '&')
- const data = JSON.parse(content)
- if (!data || !Array.isArray(data.d)) return []
- const channelData = data.d.find(
- c => c.ChannelNumber == ChannelNumber && c.ChannelName === ChannelName
- )
-
- return channelData && Array.isArray(channelData.ProgramList) ? channelData.ProgramList : []
-}
+process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0
+const dayjs = require('dayjs')
+const axios = require('axios')
+const utc = require('dayjs/plugin/utc')
+const timezone = require('dayjs/plugin/timezone')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+
+dayjs.extend(utc)
+dayjs.extend(timezone)
+dayjs.extend(customParseFormat)
+
+module.exports = {
+ site: 'directv.com.ar',
+ days: 2,
+ url: 'https://www.directv.com.ar/guia/ChannelDetail.aspx/GetProgramming',
+ request: {
+ method: 'POST',
+ headers: {
+ Cookie: 'PGCSS=16; PGLang=S; PGCulture=es-AR;',
+ Accept: '*/*',
+ 'Accept-Language': 'es-419,es;q=0.9',
+ Connection: 'keep-alive',
+ 'Content-Type': 'application/json; charset=UTF-8',
+ Origin: 'https://www.directv.com.ar',
+ Referer: 'https://www.directv.com.ar/guia/ChannelDetail.aspx?id=1740&name=TLCHD',
+ 'Sec-Fetch-Dest': 'empty',
+ 'Sec-Fetch-Mode': 'cors',
+ 'Sec-Fetch-Site': 'same-origin',
+ 'User-Agent':
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
+ 'sec-ch-ua': '"Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"',
+ 'sec-ch-ua-mobile': '?0',
+ 'sec-ch-ua-platform': '"Windows"',
+ 'X-Requested-With': 'XMLHttpRequest'
+ },
+ data({ channel, date }) {
+ const [channelNum, channelName] = channel.site_id.split('#')
+
+ return {
+ filterParameters: {
+ day: date.date(),
+ time: 0,
+ minute: 0,
+ month: date.month() + 1,
+ year: date.year(),
+ offSetValue: 0,
+ homeScreenFilter: '',
+ filtersScreenFilters: [''],
+ isHd: '',
+ isChannelDetails: 'Y',
+ channelNum,
+ channelName: channelName.replace('&', '&')
+ }
+ }
+ }
+ },
+ parser({ content, channel }) {
+ let programs = []
+ const items = parseItems(content, channel)
+ items.forEach(item => {
+ programs.push({
+ title: item.title,
+ description: item.description,
+ rating: parseRating(item),
+ start: parseStart(item),
+ stop: parseStop(item)
+ })
+ })
+
+ return programs
+ },
+ async channels() {
+ let channels = []
+ const cookies = await axios.get('https://www.directv.com.ar/guia/guia.aspx', {
+ headers: {
+ Accept:
+ 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8',
+ 'Accept-Encoding': 'gzip, deflate, br, zstd',
+ 'Accept-Language': 'es-419,es;q=0.9',
+ 'Cache-Control': 'no-cache',
+ Connection: 'keep-alive',
+ Host: 'www.directv.com.ar',
+ Pragma: 'no-cache',
+ Referer: 'https://www.google.com/',
+ 'Sec-Fetch-Dest': 'document',
+ 'Sec-Fetch-Mode': 'navigate',
+ 'Sec-Fetch-Site': 'same-origin',
+ 'Sec-Fetch-User': '?1',
+ 'Sec-GPC': 1,
+ 'Upgrade-Insecure-Requests': 1,
+ 'User-Agent':
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36',
+ 'sec-ch-ua': '"Not;A=Brand";v="99", "Brave";v="139", "Chromium";v="139"',
+ 'sec-ch-ua-mobile': '?0',
+ 'sec-ch-ua-platform': '"Windows"'
+ }
+ })
+ const cookieHeader = cookies.headers['set-cookie']
+ .map(cookie => cookie.split(';')[0])
+ .join('; ')
+
+ const date = dayjs().tz('America/Argentina/Buenos_Aires')
+
+ const response = await axios
+ .post(
+ 'https://www.directv.com.ar/guia/guia.aspx/GetProgramming',
+ {
+ filterParam: {
+ day: date.date(),
+ time: date.hour(),
+ minute: 0,
+ month: date.month() + 1,
+ year: date.year(),
+ offSetValue: 0,
+ homeScreenFilter: '',
+ filtersScreenFilters: [''],
+ isHd: ''
+ }
+ },
+ {
+ headers: {
+ Accept: '*/*',
+ 'Accept-Encoding': 'gzip, deflate, br, zstd',
+ 'Accept-Language': 'es-419,es;q=0.9',
+ 'Cache-Control': 'no-cache',
+ Connection: 'keep-alive',
+ 'Content-Type': 'application/json; charset=UTF-8',
+ Cookie: cookieHeader,
+ Host: 'www.directv.com.ar',
+ Origin: 'https://www.directv.com.ar',
+ Pragma: 'no-cache',
+ Referer: 'https://www.directv.com.ar/guia/guia.aspx',
+ 'Sec-Fetch-Dest': 'empty',
+ 'Sec-Fetch-Mode': 'cors',
+ 'Sec-Fetch-Site': 'same-origin',
+ 'Sec-GPC': 1,
+ 'User-Agent':
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36',
+ 'X-Requested-With': 'XMLHttpRequest',
+ 'sec-ch-ua': '"Not;A=Brand";v="99", "Brave";v="139", "Chromium";v="139"',
+ 'sec-ch-ua-mobile': '?0',
+ 'sec-ch-ua-platform': '"Windows"',
+ uzlc: true
+ }
+ }
+ )
+ .then(r => r.data)
+ .catch(console.log)
+
+ response.d.forEach(item => {
+ channels.push({
+ site_id: `${item.ContentChannelID}#${item.ChannelName.replace(/&/g, '&')}`,
+ name: item.ChannelFullName,
+ logo: item.ImageUrl,
+ lang: 'es'
+ })
+ })
+
+ return channels
+ }
+}
+
+function parseRating(item) {
+ return item.rating
+ ? {
+ system: 'MPA',
+ value: item.rating
+ }
+ : null
+}
+
+function parseStart(item) {
+ return dayjs.tz(item.startTimeString, 'M/D/YYYY h:mm:ss A', 'America/Argentina/Buenos_Aires')
+}
+
+function parseStop(item) {
+ return dayjs.tz(item.endTimeString, 'M/D/YYYY h:mm:ss A', 'America/Argentina/Buenos_Aires')
+}
+
+function parseItems(content, channel) {
+ if (!content) return []
+ let [ChannelNumber, ChannelName] = channel.site_id.split('#')
+ ChannelName = ChannelName.replace('&', '&')
+ const data = JSON.parse(content)
+ if (!data || !Array.isArray(data.d)) return []
+ const channelData = data.d.find(
+ c => c.ChannelNumber == ChannelNumber && c.ChannelName === ChannelName
+ )
+
+ return channelData && Array.isArray(channelData.ProgramList) ? channelData.ProgramList : []
+}
diff --git a/sites/directv.com.uy/directv.com.uy.config.js b/sites/directv.com.uy/directv.com.uy.config.js
index b96ed1ef..6dd1a268 100644
--- a/sites/directv.com.uy/directv.com.uy.config.js
+++ b/sites/directv.com.uy/directv.com.uy.config.js
@@ -1,169 +1,176 @@
-process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0
-const axios = require('axios')
-const dayjs = require('dayjs')
-const utc = require('dayjs/plugin/utc')
-const timezone = require('dayjs/plugin/timezone')
-const customParseFormat = require('dayjs/plugin/customParseFormat')
-
-dayjs.extend(utc)
-dayjs.extend(timezone)
-dayjs.extend(customParseFormat)
-
-module.exports = {
- site: 'directv.com.uy',
- days: 2,
- url: 'https://www.directv.com.uy/guia/ChannelDetail.aspx/GetProgramming',
- request: {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json; charset=UTF-8',
- Cookie: 'PGCSS=16384; PGLang=S; PGCulture=es-UY;'
- },
- data({ channel, date }) {
- const [channelNum, channelName] = channel.site_id.split('#')
-
- return {
- filterParameters: {
- day: date.date(),
- time: 0,
- minute: 0,
- month: date.month() + 1,
- year: date.year(),
- offSetValue: 0,
- filtersScreenFilters: [''],
- isHd: '',
- isChannelDetails: 'Y',
- channelNum,
- channelName: channelName.replace('&', '&')
- }
- }
- }
- },
- parser({ content, channel }) {
- let programs = []
- const items = parseItems(content, channel)
- items.forEach(item => {
- programs.push({
- title: item.title,
- description: item.description,
- rating: parseRating(item),
- start: parseStart(item),
- stop: parseStop(item)
- })
- })
-
- return programs
- },
- async channels() {
- let channels = []
- const cookies = await axios.get('https://www.directv.com.uy/guia/guia.aspx', {
- headers: {
- Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8',
- 'Accept-Encoding': 'gzip, deflate, br, zstd',
- 'Accept-Language': 'es-419,es;q=0.9',
- 'Cache-Control': 'no-cache',
- Connection: 'keep-alive',
- Host: 'www.directv.com.ar',
- Pragma: 'no-cache',
- Referer: 'https://www.google.com/',
- 'Sec-Fetch-Dest': 'document',
- 'Sec-Fetch-Mode': 'navigate',
- 'Sec-Fetch-Site': 'same-origin',
- 'Sec-Fetch-User': '?1',
- 'Sec-GPC': 1,
- 'Upgrade-Insecure-Requests': 1,
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36',
- 'sec-ch-ua': '"Not;A=Brand";v="99", "Brave";v="139", "Chromium";v="139"',
- 'sec-ch-ua-mobile': '?0',
- 'sec-ch-ua-platform': '"Windows"'
- }})
- const cookieHeader = cookies.headers['set-cookie'].map(cookie => cookie.split(';')[0]).join('; ')
-
- const date = dayjs().tz('America/Montevideo')
-
- const response = await axios.post(
- 'https://www.directv.com.uy/guia/guia.aspx/GetProgramming',
- {
- filterParam: {
- day: date.date(),
- time: date.hour(),
- minute: 0,
- month: date.month() + 1,
- year: date.year(),
- offSetValue: 0,
- homeScreenFilter: '',
- filtersScreenFilters: [''],
- isHd: ''
- }
- },
- {
- headers: {
- Accept: '*/*',
- 'Accept-Encoding': 'gzip, deflate, br, zstd',
- 'Accept-Language': 'es-419,es;q=0.9',
- 'Cache-Control': 'no-cache',
- Connection: 'keep-alive',
- 'Content-Type': 'application/json; charset=UTF-8',
- Cookie: cookieHeader,
- Host: 'www.directv.com.ar',
- Origin: 'https://www.directv.com.uy',
- Pragma: 'no-cache',
- Referer: 'https://www.directv.com.uy/guia/guia.aspx',
- 'Sec-Fetch-Dest': 'empty',
- 'Sec-Fetch-Mode': 'cors',
- 'Sec-Fetch-Site': 'same-origin',
- 'Sec-GPC': 1,
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36',
- 'X-Requested-With': 'XMLHttpRequest',
- 'sec-ch-ua': '"Not;A=Brand";v="99", "Brave";v="139", "Chromium";v="139"',
- 'sec-ch-ua-mobile': '?0',
- 'sec-ch-ua-platform': '"Windows"',
- 'uzlc': true,
- }
- }
- )
- .then(r => r.data)
- .catch(console.log)
-
- response.d.forEach(item => {
- channels.push({
- site_id: `${item.ContentChannelID}#${item.ChannelName.replace(/&/g, '&')}`,
- name: item.ChannelFullName,
- logo: item.ImageUrl,
- lang: 'es'
- })
- })
-
- return channels
- }
-}
-
-function parseRating(item) {
- return item.rating
- ? {
- system: 'MPA',
- value: item.rating
- }
- : null
-}
-
-function parseStart(item) {
- return dayjs.tz(item.startTimeString, 'M/D/YYYY h:mm:ss A', 'America/Montevideo')
-}
-
-function parseStop(item) {
- return dayjs.tz(item.endTimeString, 'M/D/YYYY h:mm:ss A', 'America/Montevideo')
-}
-
-function parseItems(content, channel) {
- if (!content) return []
- let [ChannelNumber, ChannelName] = channel.site_id.split('#')
- ChannelName = ChannelName.replace('&', '&')
- const data = JSON.parse(content)
- if (!data || !Array.isArray(data.d)) return []
- const channelData = data.d.find(
- c => c.ChannelNumber == ChannelNumber && c.ChannelName === ChannelName
- )
-
- return channelData && Array.isArray(channelData.ProgramList) ? channelData.ProgramList : []
-}
+process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0
+const axios = require('axios')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const timezone = require('dayjs/plugin/timezone')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+
+dayjs.extend(utc)
+dayjs.extend(timezone)
+dayjs.extend(customParseFormat)
+
+module.exports = {
+ site: 'directv.com.uy',
+ days: 2,
+ url: 'https://www.directv.com.uy/guia/ChannelDetail.aspx/GetProgramming',
+ request: {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json; charset=UTF-8',
+ Cookie: 'PGCSS=16384; PGLang=S; PGCulture=es-UY;'
+ },
+ data({ channel, date }) {
+ const [channelNum, channelName] = channel.site_id.split('#')
+
+ return {
+ filterParameters: {
+ day: date.date(),
+ time: 0,
+ minute: 0,
+ month: date.month() + 1,
+ year: date.year(),
+ offSetValue: 0,
+ filtersScreenFilters: [''],
+ isHd: '',
+ isChannelDetails: 'Y',
+ channelNum,
+ channelName: channelName.replace('&', '&')
+ }
+ }
+ }
+ },
+ parser({ content, channel }) {
+ let programs = []
+ const items = parseItems(content, channel)
+ items.forEach(item => {
+ programs.push({
+ title: item.title,
+ description: item.description,
+ rating: parseRating(item),
+ start: parseStart(item),
+ stop: parseStop(item)
+ })
+ })
+
+ return programs
+ },
+ async channels() {
+ let channels = []
+ const cookies = await axios.get('https://www.directv.com.uy/guia/guia.aspx', {
+ headers: {
+ Accept:
+ 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8',
+ 'Accept-Encoding': 'gzip, deflate, br, zstd',
+ 'Accept-Language': 'es-419,es;q=0.9',
+ 'Cache-Control': 'no-cache',
+ Connection: 'keep-alive',
+ Host: 'www.directv.com.ar',
+ Pragma: 'no-cache',
+ Referer: 'https://www.google.com/',
+ 'Sec-Fetch-Dest': 'document',
+ 'Sec-Fetch-Mode': 'navigate',
+ 'Sec-Fetch-Site': 'same-origin',
+ 'Sec-Fetch-User': '?1',
+ 'Sec-GPC': 1,
+ 'Upgrade-Insecure-Requests': 1,
+ 'User-Agent':
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36',
+ 'sec-ch-ua': '"Not;A=Brand";v="99", "Brave";v="139", "Chromium";v="139"',
+ 'sec-ch-ua-mobile': '?0',
+ 'sec-ch-ua-platform': '"Windows"'
+ }
+ })
+ const cookieHeader = cookies.headers['set-cookie']
+ .map(cookie => cookie.split(';')[0])
+ .join('; ')
+
+ const date = dayjs().tz('America/Montevideo')
+
+ const response = await axios
+ .post(
+ 'https://www.directv.com.uy/guia/guia.aspx/GetProgramming',
+ {
+ filterParam: {
+ day: date.date(),
+ time: date.hour(),
+ minute: 0,
+ month: date.month() + 1,
+ year: date.year(),
+ offSetValue: 0,
+ homeScreenFilter: '',
+ filtersScreenFilters: [''],
+ isHd: ''
+ }
+ },
+ {
+ headers: {
+ Accept: '*/*',
+ 'Accept-Encoding': 'gzip, deflate, br, zstd',
+ 'Accept-Language': 'es-419,es;q=0.9',
+ 'Cache-Control': 'no-cache',
+ Connection: 'keep-alive',
+ 'Content-Type': 'application/json; charset=UTF-8',
+ Cookie: cookieHeader,
+ Host: 'www.directv.com.ar',
+ Origin: 'https://www.directv.com.uy',
+ Pragma: 'no-cache',
+ Referer: 'https://www.directv.com.uy/guia/guia.aspx',
+ 'Sec-Fetch-Dest': 'empty',
+ 'Sec-Fetch-Mode': 'cors',
+ 'Sec-Fetch-Site': 'same-origin',
+ 'Sec-GPC': 1,
+ 'User-Agent':
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36',
+ 'X-Requested-With': 'XMLHttpRequest',
+ 'sec-ch-ua': '"Not;A=Brand";v="99", "Brave";v="139", "Chromium";v="139"',
+ 'sec-ch-ua-mobile': '?0',
+ 'sec-ch-ua-platform': '"Windows"',
+ uzlc: true
+ }
+ }
+ )
+ .then(r => r.data)
+ .catch(console.log)
+
+ response.d.forEach(item => {
+ channels.push({
+ site_id: `${item.ContentChannelID}#${item.ChannelName.replace(/&/g, '&')}`,
+ name: item.ChannelFullName,
+ logo: item.ImageUrl,
+ lang: 'es'
+ })
+ })
+
+ return channels
+ }
+}
+
+function parseRating(item) {
+ return item.rating
+ ? {
+ system: 'MPA',
+ value: item.rating
+ }
+ : null
+}
+
+function parseStart(item) {
+ return dayjs.tz(item.startTimeString, 'M/D/YYYY h:mm:ss A', 'America/Montevideo')
+}
+
+function parseStop(item) {
+ return dayjs.tz(item.endTimeString, 'M/D/YYYY h:mm:ss A', 'America/Montevideo')
+}
+
+function parseItems(content, channel) {
+ if (!content) return []
+ let [ChannelNumber, ChannelName] = channel.site_id.split('#')
+ ChannelName = ChannelName.replace('&', '&')
+ const data = JSON.parse(content)
+ if (!data || !Array.isArray(data.d)) return []
+ const channelData = data.d.find(
+ c => c.ChannelNumber == ChannelNumber && c.ChannelName === ChannelName
+ )
+
+ return channelData && Array.isArray(channelData.ProgramList) ? channelData.ProgramList : []
+}
diff --git a/sites/dishtv.in/dishtv.in.config.js b/sites/dishtv.in/dishtv.in.config.js
index ea43b9c0..fd5fc6af 100644
--- a/sites/dishtv.in/dishtv.in.config.js
+++ b/sites/dishtv.in/dishtv.in.config.js
@@ -1,176 +1,177 @@
-const axios = require('axios')
-const dayjs = require('dayjs')
-const utc = require('dayjs/plugin/utc')
-const tz = require('dayjs/plugin/timezone')
-const timezone = 'Asia/Kolkata'
-
-dayjs.extend(utc)
-dayjs.extend(tz)
-
-let authToken
-
-module.exports = {
- site: 'dishtv.in',
- days: 2,
- url: 'https://epg.mysmartstick.com/dishtv/api/v1/epg/entities/programs',
- request: {
- method: 'POST',
- async headers() {
- await fetchToken()
-
- return {
- Authorization: authToken
- }
- },
- data({ channel, date }) {
- return {
- allowPastEvents: true,
- channelid: channel.site_id,
- date: date.format('DD/MM/YYYY')
- }
- }
- },
- parser: ({ content }) => {
- const programs = []
- const items = parseItems(content)
- items.forEach(item => {
- programs.push({
- title: parseTitle(item),
- description: parseDescription(item),
- category: parseCategory(item),
- actors: item.credits.actors,
- directors: item.credits.directors,
- producers: item.credits.producers,
- date: item.productionyear,
- icon: parseIcon(item),
- image: parseImage(item),
- episode: parseEpisode(item),
- start: dayjs(item.start),
- stop: dayjs(item.stop)
- })
- })
-
- return programs
- },
- async channels() {
- await fetchToken()
-
- const totalPages = await fetchPages()
-
- const queue = Array.from(Array(totalPages).keys()).map(i => {
- const data = new FormData()
- data.append('pageNum', i + 1)
- data.append('date', dayjs.tz(dayjs(), timezone).format('DD/MM/YYYY'))
-
- return {
- method: 'post',
- url: 'https://www.dishtv.in/services/epg/channels',
- data,
- headers: {
- 'authorization-token': authToken
- }
- }
- })
-
- const channels = []
- for (let item of queue) {
- const data = await axios(item)
- .then(r => r.data)
- .catch(console.error)
-
- data.programDetailsByChannel.forEach(channel => {
- channels.push({
- lang: 'en',
- site_id: channel.channelid,
- name: channel.channelname
- })
- })
- }
-
- return channels
- }
-}
-
-function parseTitle(item) {
- return Object.values(item.regional)
- .map(region => ({
- lang: region.languagecode,
- value: region.title
- }))
- .filter(i => Boolean(i.value))
-}
-
-function parseDescription(item) {
- return Object.values(item.regional)
- .map(region => ({
- lang: region.languagecode,
- value: region.desc
- }))
- .filter(i => Boolean(i.value))
-}
-
-function parseCategory(item) {
- return Object.values(item.regional)
- .map(region => ({
- lang: region.languagecode,
- value: region.genre
- }))
- .filter(i => Boolean(i.value))
-}
-
-function parseEpisode(item) {
- return item['episode-num'] ? parseInt(item['episode-num']) : null
-}
-
-function parseIcon(item) {
- return item.programmeurl || null
-}
-
-function parseImage(item) {
- return item?.images?.landscape?.['1280x720'] ? item.images.landscape['1280x720'] : null
-}
-
-function parseItems(content) {
- try {
- const data = JSON.parse(content)
-
- return Array.isArray(data) ? data : []
- } catch {
- return []
- }
-}
-
-async function fetchToken() {
- if (authToken) return
-
- const data = await axios
- .post('https://www.dishtv.in/services/epg/signin', null, {
- headers: {
- 'sec-fetch-dest': 'empty',
- 'sec-fetch-mode': 'cors',
- 'sec-fetch-site': 'same-origin',
- 'x-requested-with': 'XMLHttpRequest',
- Referer: 'https://www.dishtv.in/channel-guide.html',
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
- }
- })
- .then(r => r.data)
- .catch(console.error)
-
- authToken = data.token
-}
-
-async function fetchPages() {
- const formData = new FormData()
- formData.append('pageNum', 1)
- formData.append('date', dayjs.tz(dayjs(), timezone).format('DD/MM/YYYY'))
-
- const data = await axios
- .post('https://www.dishtv.in/services/epg/channels', formData, {
- headers: { 'authorization-token': authToken }
- })
- .then(r => r.data)
- .catch(console.error)
-
- return data.totalPages ? parseInt(data.totalPages) : 0
-}
+const axios = require('axios')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const tz = require('dayjs/plugin/timezone')
+const timezone = 'Asia/Kolkata'
+
+dayjs.extend(utc)
+dayjs.extend(tz)
+
+let authToken
+
+module.exports = {
+ site: 'dishtv.in',
+ days: 2,
+ url: 'https://epg.mysmartstick.com/dishtv/api/v1/epg/entities/programs',
+ request: {
+ method: 'POST',
+ async headers() {
+ await fetchToken()
+
+ return {
+ Authorization: authToken
+ }
+ },
+ data({ channel, date }) {
+ return {
+ allowPastEvents: true,
+ channelid: channel.site_id,
+ date: date.format('DD/MM/YYYY')
+ }
+ }
+ },
+ parser: ({ content }) => {
+ const programs = []
+ const items = parseItems(content)
+ items.forEach(item => {
+ programs.push({
+ title: parseTitle(item),
+ description: parseDescription(item),
+ category: parseCategory(item),
+ actors: item.credits.actors,
+ directors: item.credits.directors,
+ producers: item.credits.producers,
+ date: item.productionyear,
+ icon: parseIcon(item),
+ image: parseImage(item),
+ episode: parseEpisode(item),
+ start: dayjs(item.start),
+ stop: dayjs(item.stop)
+ })
+ })
+
+ return programs
+ },
+ async channels() {
+ await fetchToken()
+
+ const totalPages = await fetchPages()
+
+ const queue = Array.from(Array(totalPages).keys()).map(i => {
+ const data = new FormData()
+ data.append('pageNum', i + 1)
+ data.append('date', dayjs.tz(dayjs(), timezone).format('DD/MM/YYYY'))
+
+ return {
+ method: 'post',
+ url: 'https://www.dishtv.in/services/epg/channels',
+ data,
+ headers: {
+ 'authorization-token': authToken
+ }
+ }
+ })
+
+ const channels = []
+ for (let item of queue) {
+ const data = await axios(item)
+ .then(r => r.data)
+ .catch(console.error)
+
+ data.programDetailsByChannel.forEach(channel => {
+ channels.push({
+ lang: 'en',
+ site_id: channel.channelid,
+ name: channel.channelname
+ })
+ })
+ }
+
+ return channels
+ }
+}
+
+function parseTitle(item) {
+ return Object.values(item.regional)
+ .map(region => ({
+ lang: region.languagecode,
+ value: region.title
+ }))
+ .filter(i => Boolean(i.value))
+}
+
+function parseDescription(item) {
+ return Object.values(item.regional)
+ .map(region => ({
+ lang: region.languagecode,
+ value: region.desc
+ }))
+ .filter(i => Boolean(i.value))
+}
+
+function parseCategory(item) {
+ return Object.values(item.regional)
+ .map(region => ({
+ lang: region.languagecode,
+ value: region.genre
+ }))
+ .filter(i => Boolean(i.value))
+}
+
+function parseEpisode(item) {
+ return item['episode-num'] ? parseInt(item['episode-num']) : null
+}
+
+function parseIcon(item) {
+ return item.programmeurl || null
+}
+
+function parseImage(item) {
+ return item?.images?.landscape?.['1280x720'] ? item.images.landscape['1280x720'] : null
+}
+
+function parseItems(content) {
+ try {
+ const data = JSON.parse(content)
+
+ return Array.isArray(data) ? data : []
+ } catch {
+ return []
+ }
+}
+
+async function fetchToken() {
+ if (authToken) return
+
+ const data = await axios
+ .post('https://www.dishtv.in/services/epg/signin', null, {
+ headers: {
+ 'sec-fetch-dest': 'empty',
+ 'sec-fetch-mode': 'cors',
+ 'sec-fetch-site': 'same-origin',
+ 'x-requested-with': 'XMLHttpRequest',
+ Referer: 'https://www.dishtv.in/channel-guide.html',
+ 'User-Agent':
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
+ }
+ })
+ .then(r => r.data)
+ .catch(console.error)
+
+ authToken = data.token
+}
+
+async function fetchPages() {
+ const formData = new FormData()
+ formData.append('pageNum', 1)
+ formData.append('date', dayjs.tz(dayjs(), timezone).format('DD/MM/YYYY'))
+
+ const data = await axios
+ .post('https://www.dishtv.in/services/epg/channels', formData, {
+ headers: { 'authorization-token': authToken }
+ })
+ .then(r => r.data)
+ .catch(console.error)
+
+ return data.totalPages ? parseInt(data.totalPages) : 0
+}
diff --git a/sites/dishtv.in/dishtv.in.test.js b/sites/dishtv.in/dishtv.in.test.js
index 65e063ac..bf833b24 100644
--- a/sites/dishtv.in/dishtv.in.test.js
+++ b/sites/dishtv.in/dishtv.in.test.js
@@ -1,141 +1,142 @@
-const { parser, url, request } = require('./dishtv.in.config.js')
-const fs = require('fs')
-const path = require('path')
-const axios = require('axios')
-const dayjs = require('dayjs')
-const utc = require('dayjs/plugin/utc')
-const customParseFormat = require('dayjs/plugin/customParseFormat')
-dayjs.extend(customParseFormat)
-dayjs.extend(utc)
-
-jest.mock('axios')
-
-axios.post.mockImplementation((url, data, params) => {
- if (
- url === 'https://www.dishtv.in/services/epg/signin' &&
- data === null &&
- JSON.stringify(params) ===
- JSON.stringify({
- headers: {
- 'sec-fetch-dest': 'empty',
- 'sec-fetch-mode': 'cors',
- 'sec-fetch-site': 'same-origin',
- 'x-requested-with': 'XMLHttpRequest',
- Referer: 'https://www.dishtv.in/channel-guide.html',
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
- }
- })
- ) {
- const content = fs.readFileSync(path.resolve(__dirname, '__data__/session.json'))
-
- return Promise.resolve({
- data: JSON.parse(content)
- })
- } else {
- return Promise.resolve({
- data: ''
- })
- }
-})
-
-const date = dayjs.utc('2025-01-26', 'YYYY-MM-DD').startOf('d')
-const channel = { site_id: '142639', xmltv_id: 'AndpriveHD.in' }
-
-it('can generate valid url', () => {
- expect(url).toBe('https://epg.mysmartstick.com/dishtv/api/v1/epg/entities/programs')
-})
-
-it('can generate valid request method', () => {
- expect(request.method).toBe('POST')
-})
-
-it('can generate valid request headers', async () => {
- expect(await request.headers()).toMatchObject({
- Authorization:
- 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRpZCI6ImRpc2h0di13ZWJzaXRlIiwicGxhdGZvcm0iOiJkaXNodHYiLCJpYXQiOjE3Mzc2ODIxNjEsImV4cCI6MTczNzc2ODU2MX0.sPrYfodVTbf1kJ-wGICDlnH-Yt3J0-mB-M2YROU8v2Q'
- })
-})
-
-it('can generate valid request data', () => {
- expect(request.data({ channel, date })).toMatchObject({
- allowPastEvents: true,
- channelid: '142639',
- date: '26/01/2025'
- })
-})
-
-it('can parse response', () => {
- const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
- let results = parser({ content })
- results = results.map(p => {
- p.start = p.start.toJSON()
- p.stop = p.stop.toJSON()
- return p
- })
-
- expect(results.length).toBe(16)
- expect(results[0]).toMatchObject({
- start: '2025-01-26T00:30:00.000Z',
- stop: '2025-01-26T02:05:00.000Z',
- title: [
- { lang: 'en', value: 'Train to Busan 2: Peninsula' },
- { lang: 'hi', value: 'ट्रेन टू बुसान 2: पेनीनसुला' },
- { lang: 'ta', value: 'ட்ரெயின் டு பூசன் ப்ரெசென்ட்ஸ்: பெனின்சுலா' },
- { lang: 'te', value: 'ట్రేన్ టు బూసాన్ ప్రజెంట్స్: పెనిన్సులా' }
- ],
- description: [
- {
- lang: 'en',
- value:
- 'Jung Seok, a former soldier, along with his teammates, sets out on a mission to battle hordes of post-apocalyptic zombies in the Korean peninsula wastelands.'
- },
- {
- lang: 'hi',
- value:
- 'एक भूतपूर्व सैनिक जंग सोक अपने साथियों के साथ कोरियाई प्रायद्वीप के बंजर इलाकों में सर्वनाश के बाद की जोंबी से लड़ने के मिशन पर निकलता है।'
- },
- {
- lang: 'ta',
- value:
- 'கொரிய தீபகற்பத்தின் தரிசு நிலங்களில் அபோகாலிப்டிக் ஜாம்பிக்களின் கூட்டத்தை எதிர்த்து தன் குழுவுடன் போரிடும் ஜங் சியோக்.'
- },
- {
- lang: 'te',
- value:
- 'మాజీ సైనికుడు జంగ్ సియోక్ తన సహచరులతో కలిసి కొరియా ద్వీపకల్పంలో పోస్ట్-అపోకలిప్టిక్ జాంబీలతో యుద్దానికి సిద్దమవుతాడు.'
- }
- ],
- category: [
- { lang: 'en', value: 'Film' },
- { lang: 'hi', value: 'फ़िल्म' },
- { lang: 'ta', value: '??????????' },
- { lang: 'te', value: 'సినిమా' },
- { lang: 'mr', value: 'चित्रपट' }
- ],
- actors: [
- 'Gang Dong-won',
- 'Lee Jung-hyun',
- 'Lee Re',
- 'Kwon Hae-hyo',
- 'John D. Michaels',
- 'Kim Min-jae',
- 'Kim Doyun',
- 'Lee Ye-won',
- 'Daniel Joey Albright',
- 'Pierce Conran',
- 'Geoffrey Giuliano',
- 'Milan-Devi LaBrey'
- ],
- producers: [],
- directors: ['Yeon Sang-ho'],
- icon: 'https://dtil.tmsimg.com/assets/p17850257_v_h9_al.jpg?lock=880x660',
- image: 'https://dtil.tmsimg.com/assets/p17850257_v_h8_am.jpg?lock=1280x720',
- date: '2020'
- })
-})
-
-it('can handle empty guide', () => {
- const results = parser({ content: '[]' })
-
- expect(results).toMatchObject([])
-})
+const { parser, url, request } = require('./dishtv.in.config.js')
+const fs = require('fs')
+const path = require('path')
+const axios = require('axios')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+dayjs.extend(customParseFormat)
+dayjs.extend(utc)
+
+jest.mock('axios')
+
+axios.post.mockImplementation((url, data, params) => {
+ if (
+ url === 'https://www.dishtv.in/services/epg/signin' &&
+ data === null &&
+ JSON.stringify(params) ===
+ JSON.stringify({
+ headers: {
+ 'sec-fetch-dest': 'empty',
+ 'sec-fetch-mode': 'cors',
+ 'sec-fetch-site': 'same-origin',
+ 'x-requested-with': 'XMLHttpRequest',
+ Referer: 'https://www.dishtv.in/channel-guide.html',
+ 'User-Agent':
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
+ }
+ })
+ ) {
+ const content = fs.readFileSync(path.resolve(__dirname, '__data__/session.json'))
+
+ return Promise.resolve({
+ data: JSON.parse(content)
+ })
+ } else {
+ return Promise.resolve({
+ data: ''
+ })
+ }
+})
+
+const date = dayjs.utc('2025-01-26', 'YYYY-MM-DD').startOf('d')
+const channel = { site_id: '142639', xmltv_id: 'AndpriveHD.in' }
+
+it('can generate valid url', () => {
+ expect(url).toBe('https://epg.mysmartstick.com/dishtv/api/v1/epg/entities/programs')
+})
+
+it('can generate valid request method', () => {
+ expect(request.method).toBe('POST')
+})
+
+it('can generate valid request headers', async () => {
+ expect(await request.headers()).toMatchObject({
+ Authorization:
+ 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRpZCI6ImRpc2h0di13ZWJzaXRlIiwicGxhdGZvcm0iOiJkaXNodHYiLCJpYXQiOjE3Mzc2ODIxNjEsImV4cCI6MTczNzc2ODU2MX0.sPrYfodVTbf1kJ-wGICDlnH-Yt3J0-mB-M2YROU8v2Q'
+ })
+})
+
+it('can generate valid request data', () => {
+ expect(request.data({ channel, date })).toMatchObject({
+ allowPastEvents: true,
+ channelid: '142639',
+ date: '26/01/2025'
+ })
+})
+
+it('can parse response', () => {
+ const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
+ let results = parser({ content })
+ results = results.map(p => {
+ p.start = p.start.toJSON()
+ p.stop = p.stop.toJSON()
+ return p
+ })
+
+ expect(results.length).toBe(16)
+ expect(results[0]).toMatchObject({
+ start: '2025-01-26T00:30:00.000Z',
+ stop: '2025-01-26T02:05:00.000Z',
+ title: [
+ { lang: 'en', value: 'Train to Busan 2: Peninsula' },
+ { lang: 'hi', value: 'ट्रेन टू बुसान 2: पेनीनसुला' },
+ { lang: 'ta', value: 'ட்ரெயின் டு பூசன் ப்ரெசென்ட்ஸ்: பெனின்சுலா' },
+ { lang: 'te', value: 'ట్రేన్ టు బూసాన్ ప్రజెంట్స్: పెనిన్సులా' }
+ ],
+ description: [
+ {
+ lang: 'en',
+ value:
+ 'Jung Seok, a former soldier, along with his teammates, sets out on a mission to battle hordes of post-apocalyptic zombies in the Korean peninsula wastelands.'
+ },
+ {
+ lang: 'hi',
+ value:
+ 'एक भूतपूर्व सैनिक जंग सोक अपने साथियों के साथ कोरियाई प्रायद्वीप के बंजर इलाकों में सर्वनाश के बाद की जोंबी से लड़ने के मिशन पर निकलता है।'
+ },
+ {
+ lang: 'ta',
+ value:
+ 'கொரிய தீபகற்பத்தின் தரிசு நிலங்களில் அபோகாலிப்டிக் ஜாம்பிக்களின் கூட்டத்தை எதிர்த்து தன் குழுவுடன் போரிடும் ஜங் சியோக்.'
+ },
+ {
+ lang: 'te',
+ value:
+ 'మాజీ సైనికుడు జంగ్ సియోక్ తన సహచరులతో కలిసి కొరియా ద్వీపకల్పంలో పోస్ట్-అపోకలిప్టిక్ జాంబీలతో యుద్దానికి సిద్దమవుతాడు.'
+ }
+ ],
+ category: [
+ { lang: 'en', value: 'Film' },
+ { lang: 'hi', value: 'फ़िल्म' },
+ { lang: 'ta', value: '??????????' },
+ { lang: 'te', value: 'సినిమా' },
+ { lang: 'mr', value: 'चित्रपट' }
+ ],
+ actors: [
+ 'Gang Dong-won',
+ 'Lee Jung-hyun',
+ 'Lee Re',
+ 'Kwon Hae-hyo',
+ 'John D. Michaels',
+ 'Kim Min-jae',
+ 'Kim Doyun',
+ 'Lee Ye-won',
+ 'Daniel Joey Albright',
+ 'Pierce Conran',
+ 'Geoffrey Giuliano',
+ 'Milan-Devi LaBrey'
+ ],
+ producers: [],
+ directors: ['Yeon Sang-ho'],
+ icon: 'https://dtil.tmsimg.com/assets/p17850257_v_h9_al.jpg?lock=880x660',
+ image: 'https://dtil.tmsimg.com/assets/p17850257_v_h8_am.jpg?lock=1280x720',
+ date: '2020'
+ })
+})
+
+it('can handle empty guide', () => {
+ const results = parser({ content: '[]' })
+
+ expect(results).toMatchObject([])
+})
diff --git a/sites/dtv8.net/dtv8.net.config.js b/sites/dtv8.net/dtv8.net.config.js
index 3abb8482..76b61b36 100644
--- a/sites/dtv8.net/dtv8.net.config.js
+++ b/sites/dtv8.net/dtv8.net.config.js
@@ -1,87 +1,87 @@
-const cheerio = require('cheerio')
-const dayjs = require('dayjs')
-const utc = require('dayjs/plugin/utc')
-const timezone = require('dayjs/plugin/timezone')
-const customParseFormat = require('dayjs/plugin/customParseFormat')
-
-dayjs.extend(utc)
-dayjs.extend(timezone)
-dayjs.extend(customParseFormat)
-
-module.exports = {
- site: 'dtv8.net',
- days: 2,
- url({ date }) {
- const day = date.format('dddd')
-
- return `https://dtv8.net/tv-listings/${day.toLowerCase()}/`
- },
- parser({ content, date }) {
- let programs = []
-
- const items = parseItems(content)
- items.forEach(item => {
- const $item = cheerio.load(item)
- let prev = programs[programs.length - 1]
- let start = parseStart($item, date)
- if (prev) {
- if (start < prev.start) {
- start = start.add(1, 'd')
- date = date.add(1, 'd')
- }
- prev.stop = start
- }
- const stop = start.add(30, 'm')
-
- programs.push({
- title: parseTitle($item),
- description: parseDescription($item),
- image: parseImage($item),
- start,
- stop
- })
- })
-
- return programs
- }
-}
-
-function parseTitle($item) {
- return $item(
- 'td:nth-child(2) > strong:nth-child(1),td:nth-child(2) > span > strong,td:nth-child(2) > span > b'
- ).text()
-}
-
-function parseDescription($item) {
- return (
- $item(
- 'td:nth-child(2) > strong:nth-child(3) > span,td:nth-child(2) > p:nth-child(3) > strong > span'
- ).text() || null
- )
-}
-
-function parseImage($item) {
- return $item('td:nth-child(1) > img.size-full').attr('src') || null
-}
-
-function parseStart($item, date) {
- const time = $item('td:nth-child(1)').text()
-
- return dayjs.tz(
- `${date.format('YYYY-MM-DD')} ${time}`,
- 'YYYY-MM-DD HH:mm [hrs.]',
- 'America/Guyana'
- )
-}
-
-function parseItems(content) {
- const $ = cheerio.load(content)
-
- return $('table tr')
- .filter((i, el) => {
- const firstColumn = $(el).find('td').text()
-
- return Boolean(firstColumn) && !firstColumn.includes('Time')
- })
- .toArray()
-}
+const cheerio = require('cheerio')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const timezone = require('dayjs/plugin/timezone')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+
+dayjs.extend(utc)
+dayjs.extend(timezone)
+dayjs.extend(customParseFormat)
+
+module.exports = {
+ site: 'dtv8.net',
+ days: 2,
+ url({ date }) {
+ const day = date.format('dddd')
+
+ return `https://dtv8.net/tv-listings/${day.toLowerCase()}/`
+ },
+ parser({ content, date }) {
+ let programs = []
+
+ const items = parseItems(content)
+ items.forEach(item => {
+ const $item = cheerio.load(item)
+ let prev = programs[programs.length - 1]
+ let start = parseStart($item, date)
+ if (prev) {
+ if (start < prev.start) {
+ start = start.add(1, 'd')
+ date = date.add(1, 'd')
+ }
+ prev.stop = start
+ }
+ const stop = start.add(30, 'm')
+
+ programs.push({
+ title: parseTitle($item),
+ description: parseDescription($item),
+ image: parseImage($item),
+ start,
+ stop
+ })
+ })
+
+ return programs
+ }
+}
+
+function parseTitle($item) {
+ return $item(
+ 'td:nth-child(2) > strong:nth-child(1),td:nth-child(2) > span > strong,td:nth-child(2) > span > b'
+ ).text()
+}
+
+function parseDescription($item) {
+ return (
+ $item(
+ 'td:nth-child(2) > strong:nth-child(3) > span,td:nth-child(2) > p:nth-child(3) > strong > span'
+ ).text() || null
+ )
+}
+
+function parseImage($item) {
+ return $item('td:nth-child(1) > img.size-full').attr('src') || null
+}
+
+function parseStart($item, date) {
+ const time = $item('td:nth-child(1)').text()
+
+ return dayjs.tz(
+ `${date.format('YYYY-MM-DD')} ${time}`,
+ 'YYYY-MM-DD HH:mm [hrs.]',
+ 'America/Guyana'
+ )
+}
+
+function parseItems(content) {
+ const $ = cheerio.load(content)
+
+ return $('table tr')
+ .filter((i, el) => {
+ const firstColumn = $(el).find('td').text()
+
+ return Boolean(firstColumn) && !firstColumn.includes('Time')
+ })
+ .toArray()
+}
diff --git a/sites/elcinema.com/elcinema.com.config.js b/sites/elcinema.com/elcinema.com.config.js
index ed8453b9..154b235c 100644
--- a/sites/elcinema.com/elcinema.com.config.js
+++ b/sites/elcinema.com/elcinema.com.config.js
@@ -1,154 +1,155 @@
-const cheerio = require('cheerio')
-const dayjs = require('dayjs')
-const utc = require('dayjs/plugin/utc')
-const timezone = require('dayjs/plugin/timezone')
-const customParseFormat = require('dayjs/plugin/customParseFormat')
-require('dayjs/locale/ar')
-
-dayjs.extend(customParseFormat)
-dayjs.extend(timezone)
-dayjs.extend(utc)
-
-const headers = {
- 'User-Agent':
-'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 OPR/115.0.0.0' }
-
-module.exports = {
- site: 'elcinema.com',
- days: 2,
- request: { headers },
- url({ channel }) {
- const lang = channel.lang === 'en' ? 'en/' : '/'
-
- return `https://elcinema.com/${lang}tvguide/${channel.site_id}/`
- },
- parser({ content, channel, date }) {
- const programs = []
- const items = parseItems(content, channel, date)
- items.forEach(item => {
- const start = parseStart(item, date)
- const duration = parseDuration(item)
- const stop = start.add(duration, 'm')
- programs.push({
- title: parseTitle(item),
- description: parseDescription(item),
- category: parseCategory(item),
- image: parseImage(item),
- start,
- stop
- })
- })
-
- return programs
- },
- async channels({ lang }) {
- const axios = require('axios')
- let data = ''
- try {
- const res = await axios.get(`https://elcinema.com/${lang}/tvguide/`, {
- headers: headers
- })
- data = res && res.data ? res.data : ''
- } catch (err) {
- console.log(err)
- return []
- }
-
- const $ = cheerio.load(data)
-
- return $('.tv-line')
- .map((_, el) => {
- const link = $(el).find('.channel > div > div.hide-for-small-only > a')
- const name = $(link).text()
- const href = $(link).attr('href') || ''
- const match = href.match(/\/(\d+)\/$/)
- const site_id = match ? match[1] : null
-
- return {
- lang,
- site_id,
- name
- }
- })
- .get()
- }
-}
-
-function parseImage(item) {
- const $ = cheerio.load(item)
- const imgSrc =
- $('.row > div.columns.small-3.large-1 > a > img').data('src') ||
- $('.row > div.columns.small-5.large-1 > img').data('src')
-
- return imgSrc || null
-}
-
-function parseCategory(item) {
- const $ = cheerio.load(item)
- const category = $('.row > div.columns.small-6.large-3 > ul > li:nth-child(2)').text()
-
- return category.replace(/\(\d+\)/, '').trim() || null
-}
-
-function parseDuration(item) {
- const $ = cheerio.load(item)
- const duration =
- $('.row > div.columns.small-3.large-2 > ul > li:nth-child(2) > span').text() ||
- $('.row > div.columns.small-7.large-11 > ul > li:nth-child(2) > span').text()
-
- return duration.replace(/\D/g, '') || ''
-}
-
-function parseStart(item, initDate) {
- const $ = cheerio.load(item)
- let time =
- $('.row > div.columns.small-3.large-2 > ul > li:nth-child(1)').text() ||
- $('.row > div.columns.small-7.large-11 > ul > li:nth-child(2)').text() ||
- ''
-
- time = time
- .replace(/\[.*\]/, '')
- .replace('مساءً', 'PM')
- .replace('صباحًا', 'AM')
- .trim()
-
- time = `${initDate.format('YYYY-MM-DD')} ${time}`
-
- return dayjs.tz(time, 'YYYY-MM-DD hh:mm A', dayjs.tz.guess())
-}
-
-function parseTitle(item) {
- const $ = cheerio.load(item)
-
- return (
- $('.row > div.columns.small-6.large-3 > ul > li:nth-child(1) > a').text() ||
- $('.row > div.columns.small-7.large-11 > ul > li:nth-child(1)').text() ||
- null
- )
-}
-
-function parseDescription(item) {
- const $ = cheerio.load(item)
- const excerpt = $('.row > div.columns.small-12.large-6 > ul > li:nth-child(3)').text() || ''
-
- return excerpt.replace('...اقرأ المزيد', '').replace('...Read more', '')
-}
-
-function parseItems(content, channel, date) {
- const $ = cheerio.load(content)
-
- const dateString = date.locale(channel.lang).format('dddd D')
-
- const list = $('.dates')
- .filter((i, el) => {
- let parsedDateString = $(el).text().trim()
- parsedDateString = parsedDateString.replace(/\s\s+/g, ' ')
-
- return parsedDateString.includes(dateString)
- })
- .first()
- .parent()
- .next()
-
- return $('.padded-half', list).toArray()
-}
+const cheerio = require('cheerio')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const timezone = require('dayjs/plugin/timezone')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+require('dayjs/locale/ar')
+
+dayjs.extend(customParseFormat)
+dayjs.extend(timezone)
+dayjs.extend(utc)
+
+const headers = {
+ 'User-Agent':
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 OPR/115.0.0.0'
+}
+
+module.exports = {
+ site: 'elcinema.com',
+ days: 2,
+ request: { headers },
+ url({ channel }) {
+ const lang = channel.lang === 'en' ? 'en/' : '/'
+
+ return `https://elcinema.com/${lang}tvguide/${channel.site_id}/`
+ },
+ parser({ content, channel, date }) {
+ const programs = []
+ const items = parseItems(content, channel, date)
+ items.forEach(item => {
+ const start = parseStart(item, date)
+ const duration = parseDuration(item)
+ const stop = start.add(duration, 'm')
+ programs.push({
+ title: parseTitle(item),
+ description: parseDescription(item),
+ category: parseCategory(item),
+ image: parseImage(item),
+ start,
+ stop
+ })
+ })
+
+ return programs
+ },
+ async channels({ lang }) {
+ const axios = require('axios')
+ let data = ''
+ try {
+ const res = await axios.get(`https://elcinema.com/${lang}/tvguide/`, {
+ headers: headers
+ })
+ data = res && res.data ? res.data : ''
+ } catch (err) {
+ console.log(err)
+ return []
+ }
+
+ const $ = cheerio.load(data)
+
+ return $('.tv-line')
+ .map((_, el) => {
+ const link = $(el).find('.channel > div > div.hide-for-small-only > a')
+ const name = $(link).text()
+ const href = $(link).attr('href') || ''
+ const match = href.match(/\/(\d+)\/$/)
+ const site_id = match ? match[1] : null
+
+ return {
+ lang,
+ site_id,
+ name
+ }
+ })
+ .get()
+ }
+}
+
+function parseImage(item) {
+ const $ = cheerio.load(item)
+ const imgSrc =
+ $('.row > div.columns.small-3.large-1 > a > img').data('src') ||
+ $('.row > div.columns.small-5.large-1 > img').data('src')
+
+ return imgSrc || null
+}
+
+function parseCategory(item) {
+ const $ = cheerio.load(item)
+ const category = $('.row > div.columns.small-6.large-3 > ul > li:nth-child(2)').text()
+
+ return category.replace(/\(\d+\)/, '').trim() || null
+}
+
+function parseDuration(item) {
+ const $ = cheerio.load(item)
+ const duration =
+ $('.row > div.columns.small-3.large-2 > ul > li:nth-child(2) > span').text() ||
+ $('.row > div.columns.small-7.large-11 > ul > li:nth-child(2) > span').text()
+
+ return duration.replace(/\D/g, '') || ''
+}
+
+function parseStart(item, initDate) {
+ const $ = cheerio.load(item)
+ let time =
+ $('.row > div.columns.small-3.large-2 > ul > li:nth-child(1)').text() ||
+ $('.row > div.columns.small-7.large-11 > ul > li:nth-child(2)').text() ||
+ ''
+
+ time = time
+ .replace(/\[.*\]/, '')
+ .replace('مساءً', 'PM')
+ .replace('صباحًا', 'AM')
+ .trim()
+
+ time = `${initDate.format('YYYY-MM-DD')} ${time}`
+
+ return dayjs.tz(time, 'YYYY-MM-DD hh:mm A', dayjs.tz.guess())
+}
+
+function parseTitle(item) {
+ const $ = cheerio.load(item)
+
+ return (
+ $('.row > div.columns.small-6.large-3 > ul > li:nth-child(1) > a').text() ||
+ $('.row > div.columns.small-7.large-11 > ul > li:nth-child(1)').text() ||
+ null
+ )
+}
+
+function parseDescription(item) {
+ const $ = cheerio.load(item)
+ const excerpt = $('.row > div.columns.small-12.large-6 > ul > li:nth-child(3)').text() || ''
+
+ return excerpt.replace('...اقرأ المزيد', '').replace('...Read more', '')
+}
+
+function parseItems(content, channel, date) {
+ const $ = cheerio.load(content)
+
+ const dateString = date.locale(channel.lang).format('dddd D')
+
+ const list = $('.dates')
+ .filter((i, el) => {
+ let parsedDateString = $(el).text().trim()
+ parsedDateString = parsedDateString.replace(/\s\s+/g, ' ')
+
+ return parsedDateString.includes(dateString)
+ })
+ .first()
+ .parent()
+ .next()
+
+ return $('.padded-half', list).toArray()
+}
diff --git a/sites/epg.112114.xyz/epg.112114.xyz.config.js b/sites/epg.112114.xyz/epg.112114.xyz.config.js
index 469a89cd..c87ae693 100644
--- a/sites/epg.112114.xyz/epg.112114.xyz.config.js
+++ b/sites/epg.112114.xyz/epg.112114.xyz.config.js
@@ -1,54 +1,57 @@
-const axios = require('axios')
-const parser = require('epg-parser')
-
-module.exports = {
- site: 'epg.112114.xyz',
- days: 1,
- url: 'https://epg.112114.xyz/pp.xml',
- request: {
- cache: {
- ttl: 24 * 60 * 60 * 1000 // 1 day
- }
- },
- parser: function ({ content, channel, date }) {
- let programs = []
- const items = parseItems(content, channel, date)
- items.forEach(item => {
- programs.push({
- title: item.title?.[0]?.value,
- start: item.start,
- stop: item.stop
- })
- })
-
- return programs
- },
- async channels() {
- const data = await axios
- .get('https://epg.112114.xyz/pp.xml')
- .then(r => r.data)
- .catch(e => { console.log(e); return null })
- if (!data) return []
-
- const { channels = [] } = parser.parse(data)
-
- const seen = new Set()
- return channels
- .filter(ch => {
- if (seen.has(ch.id)) return false
- seen.add(ch.id)
- return true
- })
- .map(channel => ({
- lang: 'zh',
- site_id: channel.id,
- name: channel.displayName?.[0]?.value || ''
- }))
- }
-}
-
-function parseItems(content, channel, date) {
- const { programs } = parser.parse(content)
-
- return programs.filter(p => p.channel === channel.site_id && date.isSame(p.start, 'day'))
-}
+const axios = require('axios')
+const parser = require('epg-parser')
+
+module.exports = {
+ site: 'epg.112114.xyz',
+ days: 1,
+ url: 'https://epg.112114.xyz/pp.xml',
+ request: {
+ cache: {
+ ttl: 24 * 60 * 60 * 1000 // 1 day
+ }
+ },
+ parser: function ({ content, channel, date }) {
+ let programs = []
+ const items = parseItems(content, channel, date)
+ items.forEach(item => {
+ programs.push({
+ title: item.title?.[0]?.value,
+ start: item.start,
+ stop: item.stop
+ })
+ })
+
+ return programs
+ },
+ async channels() {
+ const data = await axios
+ .get('https://epg.112114.xyz/pp.xml')
+ .then(r => r.data)
+ .catch(e => {
+ console.log(e)
+ return null
+ })
+ if (!data) return []
+
+ const { channels = [] } = parser.parse(data)
+
+ const seen = new Set()
+ return channels
+ .filter(ch => {
+ if (seen.has(ch.id)) return false
+ seen.add(ch.id)
+ return true
+ })
+ .map(channel => ({
+ lang: 'zh',
+ site_id: channel.id,
+ name: channel.displayName?.[0]?.value || ''
+ }))
+ }
+}
+
+function parseItems(content, channel, date) {
+ const { programs } = parser.parse(content)
+
+ return programs.filter(p => p.channel === channel.site_id && date.isSame(p.start, 'day'))
+}
diff --git a/sites/epg.iptvx.one/epg.iptvx.one.channels.xml b/sites/epg.iptvx.one/epg.iptvx.one.channels.xml
index a4212f83..651740f7 100644
--- a/sites/epg.iptvx.one/epg.iptvx.one.channels.xml
+++ b/sites/epg.iptvx.one/epg.iptvx.one.channels.xml
@@ -1,3332 +1,3332 @@
-
-
- Горящий камин
- 1HD Music
- Первый областной Благовещенск
- ТВ2 Могилёв
- 2x2 (+2)
- 2x2 (+4)
- 2x2 (+7)
- TV3 Gold [EE]
- 3+ (Латвия)
- 4fun
- 4fun Fit&Dance
- 4fun Kids
- 4K Русское кино
- 4 канал (Екатеринбург)
- 5 TV [AM]
- 5 канал (Таганрог)
- 5 канал (Караганда)
- Пятый канал +2
- Пятый канал +4
- Пятый канал +7
- 5 канал (Україна)
- 5Sport Gold
- 5Sport Live
- 5Sport Plus
- 5Sport Stars
- 6 канал (Владимир)
- 6 ТВ
- 7 канал (Нефтеюганск)
- 7 канал (Красноярск)
- 7 канал (Казахстан)
- 8 канал Беларусь
- 8 канал (Красноярский край)
- 8 канал (Новосибирск)
- 8TV [LV]
- 8 канал (Владивосток)
- 9 канал (Израиль)
- 10 канал / РенТВ Саранск
- Десятка (Новокузнецк)
- 11 канал Днепр
- 11 канал (Усолье)
- 12 канал Омск
- 13 Ulica [PL]
- 21 канал (Ужгород)
- 24 [UA]
- 25 регион (Владивосток)
- 26 регион
- 31 канал (Челябинск)
- 31 канал (Казахстан)
- 36,6 TV
- 41 регион (Петропавловск-Камчатский)
- 43 канал (Туапсе)
- 49 канал
- UA:Дніпро
- 77TV
- 86 Сургут
- 360° International
- 360TV (Латвия)
- 360° Подмосковье
- A2 HD [TR]
- A Haber HD
- A News HD
- A Para HD
- A Spor HD
- Абакан 24
- ACC Network [US]
- Ачинское телевидение
- Active Family [PL]
- Adventure in 90's
- Adventure [PL]
- Афонтово Красноярск
- Айғак
- Аист
- AIVA
- Актис
- Аква ТВ
- Al Jazeera International
- Алау
- Ale Kino+ HD
- Алматы
- AMC
- A HOME OF HBO 1
- A HOME OF HBO 2
- Angel TV
- Animal Planet HD
- Animal Planet [PL]
- Animaux
- Funny Kids
- Anime TV
- Antena 1 RO
- Анжерское ТВ
- Апостроф TV
- Аппетитный
- Aquarium 4K
- Arena4 [HU]
- Arena Adrenalin [RS]
- Arena Esport [RS]
- Arena Fight HD
- Arena Premium 1
- Arena Premium 2
- Arena Premium 3
- Arena Sport 1 HD [RS]
- Arena Sport 1 [HR]
- Arena Sport 1 [SK]
- Arena Sport 1 [SI]
- Arena Sport 2 HD [RS]
- Arena Sport 2 [HR]
- Arena Sport 2 [SK]
- Arena Sport 2 [SI]
- Arena Sport 3 HD [RS]
- Arena Sport 3 [HR]
- Arena Sport 3 [SI]
- Arena Sport 4 HD [RS]
- Arena Sport 4 [HR]
- Arena Sport 4 [SI]
- Arena Sport 5 HD [RS]
- Arena Sport 5 [HR]
- Arena Sport 6 HD [RS]
- Arena Sport 6 [HR]
- Arena Sport 7 HD [RS]
- Arena Sport 7 [HR]
- Arena Sport 8 HD [RS]
- Arena Sport 8 [HR]
- Arena Sport 9 [HR]
- Arena Sport 9 [RS]
- Arena Sport 10 [HR]
- Arena Sport 10 [RS]
- Arena Tenis [RS]
- Ариг Ус 24 HD
- Arirang
- Арктик-TV
- Арктика 24
- Армения ТВ
- Armnews [AM]
- Арт
- Arte HD
- ARTN
- Астана
- Астрахань Live
- Astro Arena 1 HD
- Astro Arena 2 HD
- Astro Arena Bola 1
- Astro Arena Bola 2
- Astro Badminton
- Astro Sports Plus
- Astro Premier League HD
- Astro Premier League 2 HD
- Astro Grandstand HD
- Astro Football HD
- Astro Sports UHD
- АСТВ Южно-Сахалинск
- Асыл Арна
- ATV Армения
- ATV HD [TR]
- АТВ-Медиа
- АТВ-Ставрополь
- Auto Moto Sport Channel [DE]
- AXN Black HD
- AXN HD
- AXN Spin HD
- AXN White HD
- AzTV
- Babes TV
- Baby TV
- Балашиха ТВ
- Балет Опера
- Balkanika
- Balticum Platinum
- Balticum HD
- Barely Legal
- Barely Legal Украина
- Барс
- Батайск ТВ
- BBC
- BBC America [US]
- BBC Brit [PL]
- BBC CBeebies [PL]
- BBC Earth [PL]
- BBC First [PL]
- BBC Four [UK]
- BBC Lifestyle [PL]
- BCU Action HD
- BCU Catastrophe HD
- BCU Cinema HD
- BCU Cinema+ HD
- BCU Comedy HD
- BCU Cosmo HD
- BCU Cosmo HDR
- BCU Criminal HD
- BCU Fantastic HD
- BCU FilMystic HD
- BCU History HD
- BCU Kids HD
- BCU Kids 4K
- BCU Kids+ HD
- BCU Kinorating HD
- BCU Кинозал Premiere 1 HD
- BCU Кинозал Premiere 2 HD
- BCU Кинозал Premiere 3 HD
- BCU Little HD
- BCU Marvel HD
- BCU Premium Marvel 4K HDR
- BCU Kinozakaz
- BCUMedia Premium 4K HDR
- BCU Мультсериал HD
- BCU Premiere HD
- BCU Premiere Ultra 4K
- BCU Premium Action 4K HDR
- BCU Premium Comedy 4K HDR
- BCU Premium Crime 4K HDR
- BCU Premium Fantastic 4K HDR
- BCU Premium Franchise 4K HDR
- BCU Premium History 4K HDR
- BCU Premium Horror 4K HDR
- BCU Premium Kids 4K HDR
- BCU Premium Kinozakaz 4K HDR
- BCU Premium Kinozakaz+ 4K HDR
- BCU Premium 80 лет Победы 4K HDR
- BCU Premium Premiere 4K HDR
- BCU Premium Premiere+ 4K HDR
- BCU Premium Russian 4K HDR
- BCU Premium СССР 4K HDR
- BCU Reality HD
- BCU Romantic HD
- BCU RUSerial HD
- BCU Russia 90s
- BCU Russian HD
- BCU Кинозал СССР
- BCU СССР HDR
- BCU Stars HD
- BCU Survival HD
- BCU Сваты HD
- BCU Сваты 4K
- BCU TruMotion HD
- BCU Ultra 4K
- BCU VHS HD
- beIN Sports 1 [FR]
- beIN Sports 2 [FR]
- beIN Sports 3 [FR]
- beIN Sports 1 [UK]
- beIN Sports 1 Singapore
- beIN Sports 1 [TR]
- beIN Sports 2 [UK]
- beIN Sports 2 Singapore
- beIN Sports 2 [TR]
- beIN Sports 3 Singapore
- beIN Sports 3 [TR]
- beIN Sports 4 [TR]
- beIN Sports 4K
- beIN Sports 5 [TR]
- beIN Sports FTA
- beIN Sports Haber [TR]
- beIN Sports Max 1 [TR]
- beIN Sports Max 2 [TR]
- beIN Sports Xtra [US]
- Беларусь 1 HD
- Беларусь 2 HD
- Беларусь 3 HD
- Беларусь 4 Брест
- Беларусь 4 Гомель
- Беларусь 4 Гродно
- Беларусь 4 Могилев
- Беларусь 4 Витебск
- Беларусь 5 HD
- Беларусь 5 Интернет
- Беларусь-24
- МузТВ Беларусь
- BelSat
- Белвиасат +ТВ
- Best4Sport TV
- Best4Sport 2
- BET Gospel [US]
- BET Her [US]
- BET Jams [US]
- BET Soul [US]
- Beyaz TV HD TR
- BG Music Channel
- Big Ten Network [US]
- Бiгудi
- Бийское ТВ
- Блокбастер HD
- Bloomberg
- Bloomberg HT TR
- Blue Hustler 24
- Blue Hustler Украина
- Bolajon Telekanali [UZ]
- Большой эфир
- Bolt Россия
- Boomerang
- BOX Anime HD
- BOX Apocalypse HD
- BOX AutoTrend HD
- BOX Be ON Edge HD
- BOX Be ON Edge 1 Live HD
- BOX Be ON Edge 2 Live HD
- BOX Be ON Edge 3 Live HD
- BOX Cyber HD
- BOX Docu. HD
- BOX Fantasy HD
- BOX Franchise HD
- BOX Franchise HDR
- BOX Game HD
- BOX Gangster HD
- BOX Ghost HD
- BOX Gurman HD
- BOX History 4K
- BOX Hybrid HD
- BOX Kosmo 4K
- BOX LoFi HD
- BOX M.Serial HD
- BOX Memory HD
- BOX Metall HD
- BOX Music 4K
- Box Music TV BG
- BOX Mayday HD
- BOX Oscar HD
- BOX Premiere+ 4K HDR
- BOX Relax 4K
- BOX Remast 4K
- BOX Remast+ 4K
- BOX RU.RAP HD
- BOX Russian 4K
- BOX Serial HD
- BOX Serial 4K
- BOX Serial Premiere 4K
- BOX Sitcom HD
- BOX Sport 1 Live HD
- BOX Sport 2 Live HD
- BOX Sport 3 Live HD
- BOX Sport 4 Live HD
- BOX Sport 5 Live HD
- BOX Sport 6 Live HD
- BOX Sport 7 Live HD
- BOX Sport 8 Live HD
- BOX Sport 9 Live HD
- BOX Sport 10 Live 4K
- BOX Sport 11 Live 4K
- BOX SportCast HD
- BOX SportCast Live 1 HD
- BOX SportCast Live 2 HD
- BOX SportCast Live 3 HD
- BOX SportCast Live 4 HD
- BOX SportCast Live 5 HD
- BOX SportCast Live 6 HD
- BOX SportCast Live 7 HD
- BOX SportCast Live 8 HD
- BOX SportCast Live 9 HD
- BOX Spy HD
- BOX SR Sport 2 Live 4K HDR
- BOX SR Sport 3 Live 4K HDR
- BOX SR Sport 4 Live 4K HDR
- BOX SR Sport 4K HDR
- BOX SR Sport 1 Live 4K HDR
- BOX СССР 4K
- BOX Stories HD
- BOX Travel HD
- BOX Travel Premiere HD
- BOX UltraStars 4K
- BOX Western HD
- BOX Zombie HD
- Brazzers TV
- Brazzers TV Россия
- Брянск 24
- Брянская Губерния
- Bridge TV Deluxe
- Bridge TV
- Bridge TV Classic
- Bridge TV Hits
- Bridge TV Этно
- Bridge TV Фрэш
- Bridge TV Rock
- Bridge TV Русский хит
- Bridge TV Шлягер
- БСТ Братск
- BT Sport 1 HD
- BT Sport 2 HD
- BT Sport 3 HD
- BT Sport 4 HD
- BT Sport 5 HD
- BT Sport 6 HD
- BT Sport 7 HD
- BT Sport 8 HD
- BT Sport 9 HD
- BT Sports 10 HD
- BT Sport 4K
- БТВ
- Буряад ТВ
- C-Cartoon
- C-Comedy
- C-History
- C-Holiday
- C-Inquest
- Citrus Live HD
- C-Marvel
- Canal 11 [PT]
- Canal+ 1 HD
- Canal+ 4K
- Canal+ Dokument HD
- Canal+ Domo HD
- Canal+ Extra 1 [PL]
- Canal+ Extra 2 [PL]
- Canal+ Extra 3 [PL]
- Canal+ Extra 4 [PL]
- Canal+ Extra 5 [PL]
- Canal+ Extra 6 [PL]
- Canal+ Extra 7 [PL]
- Canal+ 360 [PL]
- Canal+ Film HD
- Canal+ Foot [FR]
- Canal+ Kuchnia HD
- Canal+ Premier League [FR]
- Canal+ Premium HD
- Canal+ Seriale HD
- Canal+ Sport 2 [CZ]
- Canal+ Sport 360 [FR]
- Canal+ Sport 1 [PL]
- Canal+ Sport 2 [PL]
- Canal+ Sport 3 [PL]
- Canal+ Sport 4 [PL]
- Canal+ Sport 5 [PL]
- Canal+ Sport [CZ]
- Canal+ Sport [FR]
- Candy
- CandyMan
- Cartoon Classics
- Cartoons 90
- Cartoons Big
- Cartoons Short
- CCTV4
- CCTV-Русский
- ЦТ
- Channel 11 IL
- Channel 12 IL
- Channel 13 IL
- Чаваш ЕН
- Че
- Че +2
- Че +4
- Че +7
- Чемодан
- CI Polsat
- Cine+ Legend HD
- Cine+ Mix
- Cinema Cosmos TV
- Cinema 1 MD
- CineMan
- CineMan Action
- CineMan Air Crash
- CineMan Комедия
- CineMan Фитнес
- CineMan Криминальные Сериалы
- CineMan Катастрофы
- CineMan Kids 4K
- CineMan Комедийные сериалы
- CineMan Лесник
- CineMan Marvel
- CineMan Melodrama
- CineMan MiniSeries
- CineMan Ментовские Войны
- CineMan OLD 4K
- CineMan ПёС + Лихач
- CineMan Premium
- CineMan Relax 4K
- CineMan РуКино
- CineMan Симпсоны
- CineMan Скорая помощь
- CineMan CCCP 4K
- CineMan CCCP FHD
- CineMan Сваты
- CineMan Thriller
- CineMan Top
- CineMan Ужасы
- CineMan VHS
- CineMan Военные Сериалы
- Cinemax 2
- City TV [BG]
- СК1
- Clarity4K Anime
- Clarity4K Asia
- Clarity4K Авто Блог
- Clarity4K Боевик
- Clarity4K Боевик VHS
- Clarity4K HDR Cinema MIX 1
- Clarity4K HDR Cinema MIX 2
- Clarity4K HDR Cinema MIX 3
- Clarity4K HDR Cinema MIX 4
- Clarity4K HDR Cinema MIX 5
- Clarity4K HDR Cinema MIX 6
- Clarity4K HDR Cinema MIX 7
- Clarity4K HDR Cinema MIX 8
- Clarity4K HDR Cinema MIX 9
- Clarity4K HDR Cinema MIX 10
- Clarity4K Комедия VHS
- Clarity4K Драмы
- Clarity4K Единоборства
- Clarity4K Фантастика
- Clarity4K Фантастика (siries)
- Clarity4K Фэнтези
- Clarity4K Galaxy Films
- Clarity4K Gamefilm
- Clarity4K HBO series
- Clarity4K Ужасы VHS
- Clarity4K Kинодети CССР
- Clarity4K КиноФраншизы
- Clarity4K КиноНовинки
- Clarity4K КиноШарм
- Clarity4K Комедия
- Clarity4K Комедия СССР 1
- Clarity4K Комедия СССР 2
- Clarity4K Космомир
- Clarity4K Космомир 2
- Clarity4K Marvel
- Clarity4K Молодежные комедии
- Clarity4K Мультимир
- Clarity4K Мультляндия
- Clarity4K Наше кино
- Clarity4K Netflix
- Clarity4K Приключения
- Clarity4K Travel Blog
- Clarity4К Города
- Clarity4K Ретро-Сказка 1
- Clarity4K Ретро-Сказка 2
- Clarity4K Русские сериалы
- Clarity4K КиноСССР
- Clarity4K Семейный
- Clarity4K Сумеречный Эфир
- Clarity4K Театр
- Clarity4K Триллер
- Clarity4K UFO
- Clarity4K Вселенная
- Clarity4K Ужасы
- Clarity4K Ужасы VHS (siries)
- Clarity4K Walt Disney
- Clarity4K Классика кино
- Clarity4K Запал
- Clarity4K Звериный мир
- Clubland UK
- C More Mix HD
- CNBC
- GNC Европа
- GNC Сибирь
- CNN TÜRK HD
- Comedy Stage
- Comedy Hub
- Courtside 1891
- Crime Golden
- Crime Today
- ČT4 Sport
- Curiosity Stream
- D1
- Da Vinci Learning Europe
- Дайвинг.TV
- DAZN 1 [ES]
- DAZN 2 [ES]
- DAZN F1 [ES]
- DAZN 1 HD
- DAZN 2 HD
- Deejay TV [IT]
- Delfi.TV
- Deluxe Music [DE]
- DetectiveJam
- Детское кино (TvikselTV)
- Детское кино International
- Детское кино
- Deutsche Welle Europe
- Deutsche Welle Russia
- Девятка ТВ
- Девон-Инфо
- Digi 4K [RO]
- Digital Desire HD
- DIGI World RO
- Дикий HD
- Discovery Channel [PL]
- Discovery Historia [PL]
- Discovery Life [PL]
- Discovery Science [PL]
- Disney
- Disney Channel [PL]
- Disney Junior [PL]
- Disney XD [PL]
- DiviSport
- DMAX HD TR
- ДнiпроTV
- DocuBox HD
- Домашний +2
- Домашний +4
- Домашний +7
- Дом кино International
- Домашний Очаг [KZ]
- Домодедово
- Dorcel
- Достық [KZ]
- Доверие
- Dream Türk [TR]
- DSTV [BG]
- DTX [PL]
- ДумаТВ
- Duo 5 LV
- Duo 7 [EE]
- Duo 7 [LV]
- Duo One [EE]
- Душевное SD
- Душевное HD
- Дзержинск ТВ
- E! Entertainment [PL]
- Телеканал Е HD
- EarthTV The World Live
- Эх!
- Эхо TV
- Эхо ТВ 24
- Еда Премиум Int. HD
- Edge Sport HD DE
- Эфир
- ЕГЭ
- Эко-ТВ
- DAZN 1 PT
- DAZN 2 PT
- DAZN 3 PT
- DAZN 4 PT
- DAZN 5 PT
- DAZN 6 PT
- Eleven Sports 1 [PL]
- Eleven Sports 2 [PL]
- Eleven Sports 3 [PL]
- Eleven Sports 4 [PL]
- Енисей регион
- Enter-фильм
- Epic
- eQtv
- Эра
- Еркир Медия (Армения)
- EroLuxe 4k
- EroLuxe 4k60fps
- EroLuxe 60fps
- EroLuxe Anal
- EroLuxe Asian
- EroLuxe Babysitter
- EroLuxe BBW
- EroLuxe BDSM
- EroLuxe BigCock
- EroLuxe Blonde
- EroLuxe Blowjob
- EroLuxe Brunette
- EroLuxe Cheerleader
- EroLuxe Cinema
- EroLuxe Cosplay
- EroLuxe Creampie
- EroLuxe Cuckold
- EroLuxe Ebony
- EroLuxe FakeTaxi
- EroLuxe Fisting
- EroLuxe FootFetish
- EroLuxe Gangbang
- EroLuxe Gays
- EroLuxe Gloryhole
- EroLuxe Henati
- EroLuxe Japanese
- EroLuxe Lesbians
- EroLuxe Massage
- EroLuxe MILF
- EroLuxe Orgy
- EroLuxe Parody
- EroLuxe POV
- EroLuxe Pregnant
- EroLuxe PublicAgent
- EroLuxe RedHeads
- EroLuxe Russian
- EroLuxe Schoolgirl
- EroLuxe Shemale
- EroLuxe Solo
- EroLuxe Stepfamily
- Erox (Украина)
- Eroxxx HD
- ESPN 1 [NL]
- ESPN 2 [NL]
- ESPN 3 [NL]
- ESPN3 [US]
- ESPN 4 [NL]
- ESPN News [US]
- ESPN U [US]
- Ethno World
- Етно канал HD
- ETV2 Эстония
- ETV Эстония
- ETV+ Эстония
- EU.Music
- EuroNews
- Euronews (английский)
- Европа Плюс ТВ
- Eurosport 1 [PL]
- Eurosport 2 [PL]
- Евпатория 24
- EWTN Украина
- Экспресс
- Extasy 4K
- Extreme Channel [PL]
- Extreme sports
- Extreme Sports [RU]
- Exxxotica HD
- FamilyJam
- FAN HD
- Fashion One 4K
- Fashion TV Europe
- FashionBox HD
- Fast&FunBox HD
- FEN TV [BG]
- FEN TV Folk [BG]
- Феникс+ Кино
- Festival 4K
- Fight Network [US]
- FightBox HD
- FightBox [PL]
- FightKlub [PL]
- FightTVPlus
- FilmBox Action [PL]
- FilmBox ArtHouse
- FilmBox Arthouse [PL]
- FilmBox Extra [PL]
- FilmBox Family [PL]
- FilmBox Premium [PL]
- FilmBox Russia
- Film.Ua Drama
- FilmZone [LT]
- FilmZone [LV]
- FilmZone+ [EE]
- FilmZone+ [LT]
- FilmZone+ [LV]
- FiredUp Network
- Food Network Европа
- Food Network [PL]
- Foodman.club
- Мяч
- NOW TR
- Fox Soccer Plus [US]
- FOX Sports HD [AR]
- Fox Sports [MX]
- FOX Sports 2 HD [AR]
- Fox Sports 2 [MX]
- FOX Sports 3 HD [AR]
- Fox Sports 3 [MX]
- France 24 Arabian
- France 24 English
- France 24 Francais
- FrenchLover
- Fresh Adventure
- Fresh Cinema
- Fresh Comedy
- Fresh Family
- Fresh Fantastic
- Fresh Horror
- Fresh Kids
- Fresh Premiere
- Fresh Rating
- Fresh Romantic
- Fresh Russian
- Fresh Series
- Fresh Soviet
- Fresh Thriller
- Fresh VHS
- Фронт
- Fashion TV 4K
- FTV Telekanali [UZ]
- Fubo Sports Network [US]
- Fuel TV HD
- FunBox UHD
- Futbol TV Telekanali [UZ]
- FX Comedy [PL]
- FX [PL]
- FX Sports 1 [US]
- FX Sports 2 [US]
- FX HD TR
- Gags Network
- Galaxy-TV
- ГИС Самара
- Глазами туриста 4K
- GLN 24 (Геленджик)
- Go3 Sport 4
- Gold Line Brief
- Gold Line Chef
- Gold Line Детектив
- Gold Line Evidence
- Gold Line Exist
- Gold Line Girlfight
- Gold Line Hostage
- Gold Line Island
- Gold Line Motivation
- Gold Line Naked&Funny
- Gold Line Невский
- Gold Line Psycho
- Gold Line Series
- Gold Line Survival
- Golf+ [FR]
- Город
- Город 24
- Городской телеканал Ярославль
- Госфильмофонд. Машина времени
- Гродно Плюс
- Губерния Самара
- Hajduk TV [HR]
- Халык Арна
- HGTV [PL]
- HISTORY [PL]
- Viasat History Baltic
- Hollywood HD
- Horror TV
- Ictimai
- ICTV Серіали
- ICTV
- ID Xtra EU
- Idman
- Игра
- Iльдана
- Иллюзион +
- Импульс Севера
- Индийское кино International
- Инфо 24 (Шадринск)
- Информационный Канал Севастополя
- InRating
- Insight TV HD
- Инсит-ТВ
- Insomnia HD
- Интекс Барановичи
- Inter TV
- Iнтер+
- Iнтер
- InUltra [PL]
- Ирбис
- Исландия
- iTV [LV]
- ITV [UA]
- Ивановское общественное телевидение
- Ижевск
- JimJam Polsat
- JOJ Šport 2 [CZ]
- JOJ Sport [CZ]
- Jukebox [DE]
- juQ Comedy
- juQ Ужасы
- juQ-World
- JurnalTV
- К1
- К2
- К16
- Кабардино-Балкария
- Kabel 1
- Kabel 1 Classics
- Kabel 1 Doku
- Kanal 2 (Эстония)
- Kanal 7 HD TR
- Duo 4 EE
- Канал 12 Череповец
- Duo 5 EE
- Kanal D HD
- Караван ТВ
- Карибу
- Карусель (+2)
- Карусель (+3)
- Карусель (+4)
- Карусель (+7)
- Карусель (+8)
- Каскад-24
- Kazakh TV
- Казахстан
- KAZsport
- KBC+100500
- KBC-Animals
- KBC-Aниме
- KBC-Comics
- KBC-Драмаtic
- KBC-Elite Comedys
- KBC-Family Animation
- KBC-Fantastic
- KBC-Goblin
- KBC-History
- KBC-Кошмарное
- KBC-Союзмультzal
- KBC-MusKino
- KBC-Наш Rock
- KBC-Newfilm
- KBC-Гай Ritchie And Tarantino
- KBC-Russian Комедия
- KBC-Сказочный Remake
- KBC-СпортМикс
- KBC-Шпионское
- KBC-Страна СССР
- KBC-Ultra
- KBC-Видак
- KBC-ВОВ
- KBC-WAR
- KBC-Вестерн
- Kernel TV Аладдин
- Kernel TV Алиса
- Kernel TV Аниме
- Kernel TV Барбоскины
- Kernel TV Бен 10
- Kernel TV Буба
- Kernel TV Бумажный дом
- Kernel TV Царевны
- Kernel TV Черепашки ниндзя
- Kernel TV Чёрный плащ
- Kernel TV Чип и Дейл
- Kernel TV Доктор
- Kernel TV Драконы и всадники Олуха
- Kernel TV Фиксики
- Kernel TV Финис и Ферб
- Kernel TV Футурама
- Kernel TV Герой
- Kernel TV Подружки
- Kernel TV Гравити Фолз
- Kernel TV Губка Боб Квадратные Штаны
- Kernel TV Счастливого нового года
- Kernel TV Интерны
- Kernel TV Команда Турбо
- Kernel TV Комедия
- Kernel TV Космос
- Kernel TV Леди Баг и Супер Кот
- Kernel TV Лего
- Kernel TV Лило и Стич
- Kernel TV Люк путешественник во времени
- Kernel TV Лунтик
- Kernel TV Магия
- Kernel TV Мой маленький Пони
- Kernel TV Малыш
- Kernel TV Марвел vs DC
- Kernel TV Мервел сериалы
- Kernel TV Маша и Медведь
- Kernel TV Ми-ми-мишки
- Kernel TV МиниФорс
- Kernel TV Новинки
- Kernel TV Щенячий патруль
- Kernel TV Пушистики
- Kernel TV Русалочка
- Kernel TV Шкодники
- Kernel TV Смешарики
- Kernel TV Сонник Бум
- Kernel TV Человек-паук
- Kernel TV Супер крылья
- Kernel TV Сваты
- Kernel TV Тимон и Пумба
- Kernel TV Том и Джерри
- Kernel TV Три кота
- Kernel TV Утиные истории
- Kernel TV Винни и его друзья
- Kernel TV Время
- Kernel TV Звёздные войны
- Хит HD
- Кино 1
- Кино 1 International
- Кино 2
- Kino 7 [LV]
- Кино без границ
- Кино и Жизнь
- Кино Стрим Live
- КиноТВ
- Kino TV HD
- КиноТВ (+4)
- КиноТВ (+7)
- КиноБоевик KZ
- KinoKazka
- Кинокомедия International
- КиноКульт
- Кинолента 24
- Киномикс International
- Киномульт
- Кинопоказ SD
- Кинопоказ HD
- Kino Polska HD
- Kino Polska Muzyka HD
- Кинопремьера International
- Киносемья International
- Киносерия International
- Киносвидание International
- Kinosweet
- Киноужас International
- Kinowelt
- Кинохит International
- Kiss TV RO
- Köktem
- Колыма-Плюс
- Комедийное SD
- Комедийное HD
- Компас ТВ
- Конгресс ТВ
- Конкурент.Україна
- Королев ТВ
- Котлас ТВ
- Краснодар
- Криминальное HD
- КТК
- КТВ-Луч (Сызрань)
- Россия К
- Россия К +2
- Россия К +4
- Россия К +7
- Суспільне Культура
- Кунел ТВ Татарстан
- Курай
- Кузбасс Первый
- КХЛ ТВ
- КХЛ HD
- Київ FM
- Музыка Live
- Ladies Story HD
- LaLiga TV Hypermotion [ES]
- Ланет Relax
- Лапки Live
- Лавстори
- Лавстори HD
- Легенда
- Лента
- Liberty Аниме
- Liberty Аванпост
- Liberty Автогир
- Liberty Азия 4K HDR
- Liberty BBC
- Liberty Бебимульт
- Liberty Боевики
- Liberty Боевики 4K HDR
- Liberty DC
- Liberty Disney
- Liberty Документалка
- Liberty Драма 4K HDR
- Liberty Dreamworks
- Liberty Эротика
- Liberty Fan
- Liberty Фан 4K HDR
- Liberty Индия
- Liberty Кино ENG
- Liberty Кино Микс
- Liberty Кино UKR
- Liberty Кино UKR 4K
- Liberty Кинохит 4K HDR
- Liberty Комедии
- Liberty Комедии 4K HDR
- Liberty Короткометражный
- Liberty Криминал
- Liberty Крош
- Liberty Куб
- Liberty Легенда
- Liberty Marvel
- Liberty Медивал 4K
- Liberty Мелодрамы
- Liberty МиксMusic
- Liberty Мим
- Liberty Мульт
- Liberty Мульт ENG
- Liberty Мультверсия FHD
- Liberty Мульт UKR
- Liberty Мульт UKR 4K
- Liberty Мюзикл
- Liberty Наука
- Liberty Netflix
- Liberty Оскар 4K HDR
- Liberty Pixar
- Liberty Планета360
- Liberty Планктон
- Liberty Приключения 4K HDR
- Liberty РусФильм
- Liberty Семейный
- Liberty Сериал
- Liberty Сериалы
- Liberty Шоу
- Liberty Симпсоны
- Liberty Скандинавия 4K HDR
- Liberty Сказки
- Liberty South Park
- Liberty Союз
- Liberty Сваты
- Liberty Триллеры
- Liberty ТуркФильм
- Liberty Ужасы
- Liberty Ужасы 4K HDR
- Liberty XX Век
- Liberty Занавес
- Лида
- Lietuvos ryto televizija
- Липецк 24
- Liuks!
- Лен ТВ 24
- Love Nature 4K
- LRT Kultūra
- Луч
- Луч (ЯНАО)
- Luxe HD
- Luxury HD
- М1
- М2
- M4 Sport [HU]
- M6 Music [FR]
- M+ Deportes 2 [ES]
- M+ Deportes 3 [ES]
- M+ Deportes 4 [ES]
- M+ Deportes 5 [ES]
- M+ Deportes 6 [ES]
- M+ Deportes 7 [ES]
- M+ Deportes 8 [ES]
- M+ Deportes [ES]
- M+ Golf [ES]
- M+ LALIGA [ES]
- M+ Liga de Campeones [ES]
- M+ Vamos [ES]
- М-студіо
- Мадаинят тарах Тыл (Киргизия)
- Магия кухни
- Magic Action
- Magic Adventure
- Magic Comedy
- Magic Disney
- Magic Family
- Magic Galaxy
- Magic Horror
- Magic Karate
- Magic Love
- Magic Premiere
- Magic Russian
- Magic Thriller
- Magic TV [BG]
- Magic TV RO
- Magic VHS
- Maincast
- Мамонт ТВ
- MU TV
- Март ТВ
- Масон ТВ
- Match4 [HU]
- Max Sport 1 [HR]
- Max Sport 2 [HR]
- Мегаполис
- Megogo Футбол 1
- Megogo Футбол 2
- Megogo Футбол 3
- Megogo Футбол 4
- Megogo Футбол 5
- Megogo Гонг
- Megogo Live
- Megogo Спорт
- Melody [FR]
- МЭТР
- Metro TV [PL]
- Миг ТВ Ноябрьск
- MiniJam
- Minika Çocuk [TR]
- MinikaGO [TR]
- MM 007 HD
- MM Агата Кристи HD
- MS Animated HD
- MM Боевик HD
- MM Боевик Classic HD
- MM Celebrity HD
- MM Classic HD
- MM Комедия HD
- MM Комедия Classic HD
- MM Драма HD
- MM Experiment HD
- MM Семейный 1 HD
- MM Семейный 2 HD
- MM Фантастика HD
- MM Flip UHD
- MM Фобия HD
- MM Гриффины HD
- MM Грайндхаус HD
- MM Honey HD
- MM История HD
- MM Катастрофа HD
- MM Киберпанк HD
- MM Кинофестиваль HD
- MM Криминал HD
- MM Крутые 90-е HD
- MM Кунг-Фу HD
- MM Квартирник HD
- MM Lesson HD
- MM Live Planet HD
- MM Love HD
- MM Макромир HD
- MM Мегамир HD
- MM Микромир HD
- MM Мифология HD
- MS Crime HD
- MS Magic 4K
- MS Prisons HD
- MS Toons HD
- MS Young Blood HD
- MM USSR Мультфильм HD
- MM NewFilm 1 HD
- MM NewFilm 2 HD
- MM NewFilm 3 HD
- MM NewFilm RU HD
- MM Нуар HD
- MM OldSchool HD
- MM Открытия HD
- MM Погружение HD
- MM Полицейский С Рублёвки HD
- MM Приключения HD
- MM Роскино HD
- MM Синематограф HD
- MM Ситком HD
- MM Ситком 2.0 HD
- MM Скорость HD
- MM Smile HD
- MM Спорт HD
- MM Стивен Кинг HD
- MM Супергерои HD
- MM Сваты HD
- MM Tom And Jerry HD
- MM Translation HD
- MM Триллер HD
- MM UFO HD
- MM Ужасы HD
- MM Ужасы Classic HD
- MM Ужастик HD
- MM USSR 1941-1945 HD
- MM USSR Детектив HD
- MM USSR Драма HD
- MM USSR Комедия HD
- MM USSR Приключения HD
- MM USSR Сказки HD
- MM Воронины HD
- MM Walt Disney HD
- MM Вестерн HD
- MM Затмение HD
- MiniMini+ HD
- Яснае ТВ
- Мир KZ
- Мир (+2)
- Мир (+4)
- Мир (+7)
- Кто Куда
- Мир вокруг
- Мировое Кино KZ
- Mixtape [PL]
- МКТВ Молодечно
- MÖDO Armageddon
- MÖDO Beer Land
- MÖDO Candy Land
- MÖDO Cocaine
- MÖDO Documental
- MÖDO Fantasies
- MÖDO Fire Action
- MÖDO Фильмы СССР
- MÖDO Green World
- MÖDO Камин
- MÖDO Love Stories
- MÖDO Mafia Island
- MÖDO Man Like
- MÖDO Мультфильмы СССР
- MÖDO Mixed 4K
- MÖDO Music 2021
- MÖDO Music 2022
- MÖDO Music 2023
- MÖDO Music RU-UA 2023
- MÖDO Music Club
- MÖDO Music 2024
- MÖDO Music RU-UA 2024
- MÖDO Music Movies
- MÖDO New Blood
- MÖDO Night Scary
- MÖDO Novelty HDR
- MÖDO Rus Movies
- MÖDO Snoop Gun
- MÖDO Spaceship
- MÖDO Sunshine
- MÖDO Super Hero
- MÖDO Tarantino-G.Ritchie
- MÖDO Toon 4K
- MÖDO Top Movies
- MÖDO Top Series
- MÖDO VHS Mix 4K
- MÖDO Video Show
- MÖDO Village
- MÖDO Wild West
- MÖDO Zombie land
- Mooz Dance [RO]
- Mooz Hits [RO]
- Mooz [RO]
- More Than Sports TV [DE]
- Мосфильм. Золотая коллекция
- Мосфильм. Золотая коллекция (+2)
- Мосфильм. Золотая коллекция (+4)
- Москва-24
- MostVideo
- Motor Trend [IT]
- Motorvision+ [DE]
- Motowizja [PL]
- Movify History
- Movify Series
- MSG [US]
- МТК
- MTV 90s [UK]
- MTV 2 [US]
- MTV 80's [UK]
- MTV Classic [US]
- MTV Dance
- MTV Europe
- MTV Hits [FR]
- MTV Max [FI]
- MTV Music [UK]
- MTV Rocks
- MTV Urheilu 1 [FI]
- MTV Urheilu 2 [FI]
- MTV Urheilu 3 [FI]
- MTV [US]
- МТВ Волгоград
- Мультимания LV
- МультСезон
- Муравленко 24
- Муром ТВ
- Museum 4K
- Museum HD
- Music Channel RO
- MusicBox
- Music Box [PL]
- Musicmix
- Муви ТВ
- Мужское кино International
- МузСоюз
- Муз-ТВ (+2)
- Муз-ТВ (+4)
- Муз-ТВ (+7)
- Музыка Мода ТВ
- Мы и город
- Ми - Україна
- Ми - Україна+
- MyHits [EE]
- МЫ
- MyZen 4К
- myZen.tv
- n-tv HD
- Национальный Жилищный Канал
- Nano HD
- Народ Всё Видит
- NASA 4K
- #НАШ канал
- Наш Кинопоказ HD
- Наша Сибирь 4K
- Любимое SD
- Любимое HD
- Наше любимое кино Украина
- #НАШЕ music
- Наше Мужское HD
- Наше Наследие
- Наше новое кино International
- Наше HD
- Наше SD
- Наши Города (Когалым)
- Настоящее время HD
- Nat Geo People [PL]
- National Geographic Wild [PL]
- Натали
- National Geographic Baltic
- National Geographic [PL]
- National TV
- Научпоп
- Наука 2.0
- NavigatorTV
- Navo Telekanali [UZ]
- NBA TV
- NEXT-TV
- NFL Network
- Nick Jr
- Nick Jr. Baltic
- Nickelodeon Baltic
- NickMusic [US]
- Ника FM
- Ника ТВ
- NO EPG (заглушка)
- NO EPG Cinema (заглушка)
- NO EPG Mult (заглушка)
- NO EPG Music (заглушка)
- NO EPG News (заглушка)
- NO EPG Radio (заглушка)
- NO EPG Sport (заглушка)
- NO EPG XXX 18+ (заглушка)
- Nor Hayastan (Армения)
- Noroc TV Moldova
- Nova Sport 5 [CZ]
- Nova Sport 6 [CZ]
- Nova Sport [BG]
- Novela TV [PL]
- Novelas+ [PL]
- Novella TV
- Новгородское Областное телевидение
- Новочеркасск ТВ
- Новое телевидение
- Новое время
- Новороссийск ТВ
- Новошахтинск ТВ
- Новый канал
- Новый век (Тамбов)
- Новый христианский
- Now 70's
- Now 80's
- Now 90s & 00s [UK]
- NOW Series
- Новый игровой канал
- NR1 Türk [TR]
- NRJ Hits [FR]
- НТК (Нягань)
- НТК (Зеленогорск)
- НТРК Ингушетия
- НТС-Ирбит
- НТС (Иркутск)
- НТС (Севастополь)
- NTV HD TR
- НТВ-Мир
- НТВ (+1)
- НТВ (+2)
- НТВ (+3)
- НТВ (+4)
- НТВ (+7)
- Nu.ART TV
- Nuta TV [PL]
- Обком
- Область 45
- Окко.Футбол
- Okko.Герои
- Окко.Спорт
- Окко.Прайм Спорт
- Okko TV
- Olsib Action comdey FHD
- Olsib Australia cinema FHD
- Olsib Black Sails FHD
- Olsib Беспринципные FHD
- Olsib Black Comedy
- Olsib Canada cinema FHD
- Olsib Catastrophe FHD
- Olsib China cinema FHD
- Olsib Чужой район FHD
- Olsib Comedy FHD
- Olsib Crime FHD
- Olsib Czech Republic cinema FHD
- Olsib Disco-80 FHD
- Olsib Documentary FHD
- Olsib Два холма FHD
- Olsib Fantasy FHD
- Olsib French cinema FHD
- Olsib Galicia FHD
- Olsib GAlicia_2 FHD
- Olsib Germany cinema FHD
- Olsib India cinema FHD
- Olsib Italian cinema FHD
- Olsib Japan cinema FHD
- Olsib Юмор шоу FHD
- Olsib Kids FHD
- Olsib Киносказки FHD
- Olsib Киноуроки FHD
- Olsib Knives FHD
- Olsib Конфетка FHD
- Olsib Криминальная Одесса FHD
- Olsib Легавый FHD
- Olsib Литейный, 4 FHD
- Olsib Love story FHD
- Olsib Marvel FHD
- Olsib Меч FHD
- Olsib Mexico cinema FHD
- Olsib Мир Человека FHD
- Olsib Multfilm FHD
- Olsib Наш флаг означает Смерть FHD
- Olsib Netflix Orig FHD
- Olsib The newest FHD
- Olsib New Year FHD
- Olsib The old best HD
- Olsib Остров FHD
- Olsib Первый отдел FHD
- Olsib Pirates of the Caribbean FHD
- Olsib Poland cinema FHD
- Olsib Полярный FHD
- Olsib Память Победы! FHD
- Olsib ППС FHD
- Olsib Pro100 Kitchen FHD
- Olsib Radio FHD
- Olsib Ремейк FHD
- Olsib Ancient Rome FHD
- Olsib RU.Music FHD
- Olsib RuAction FHD
- Olsib Science-fiction FHD
- Olsib Сериалы - Жарков FHD
- Olsib Шеф FHD
- Olsib Show FHD
- Olsib Spain cinema FHD
- Olsib Star Wars FHD
- Olsib STB FHD
- Olsib The Best FHD
- Olsib Time Travel FHD
- Olsib British cinema FHD
- Olsib USSR 30 FHD
- Olsib USSR 40 FHD
- Olsib USSR 50 FHD
- Olsib USSR 60 FHD
- Olsib USSR 70 FHD
- Olsib USSR 80 FHD
- Olsib USSR 90 FHD
- Olsib USSR Classic FHD
- Olsib USSR serial FHD
- Olsib Великолепная пятёрка FHD
- Olsib VHS
- Olsib Водный Мир FHD
- Olsib Walt Disney FHD
- Olsib War FHD
- Olsib Живой мир FHD
- Olsib Звездные врата FHD
- Омск ТВ
- ONE2
- Первый музыкальный
- Oneplay Sport 1 [CZ]
- Oneplay Sport 2 [CZ]
- Oneplay Sport 3 [CZ]
- Oneplay Sport 4 [CZ]
- ORF Sport +
- ОРТ-Планета (Оренбург)
- Остросюжетное SD
- Остросюжетное HD
- OstWest
- OstWest24
- ОТР
- ОТР (+2)
- ОТР (+4)
- ОТР (+6)
- ОТР (+8)
- ОТВ Челябинск
- ОТВ Екатеринбург
- OTV [LV]
- ОТВ Одинцово
- ОТВ Приморье
- Отырар TV
- Охотник и рыболов HD
- Охотник и Рыболов Международный
- Панорама ТВ Тверь
- Paradise HD
- Paradox HD
- Comedy Central
- Paramount Network
- PassionXXX HD
- Патриот
- Penthouse Gold HD
- Penthouse HD
- Penthouse Passion Украина
- Penthouse Reality TV
- Перец Int
- Перпетуум Мобиле
- Первоуральск ТВ
- Первый городской (Гомель)
- Первый городской (Киров)
- Первый городской (Кривой Рог)
- Первый городской (Одесса)
- Первый городской (Омск)
- Первый канал СНГ
- Первый канал Европа
- Первый канал США
- Первый Карагандинский
- Первый канал -1
- Первый мытищинский
- Первый областной Орел
- Первый канал +1
- Первый канал +2
- Первый канал +3
- Первый канал +4
- Первый канал +5
- Первый канал +6
- Первый канал +7
- Первый канал +8
- Первый канал +9
- Первый Приднестровский
- Первый Ростовский
- Первый Севастопольский
- Первый Ярославский
- Пятница Int KZ
- Пятница! (+2)
- Пятница! (+3)
- Пятница! (+4)
- Пятница! (+7)
- Пятый Int
- Pink Erotic 1 [RS]
- Pink Erotic 2 [RS]
- Pink Erotic 3 [RS]
- Pink Erotic 4 [RS]
- Пинск ТВ
- Пиксель
- Plan B
- Planeta Folk [BG]
- Planeta HD [BG]
- Planete+ HD [PL]
- Playboy TV [UK]
- Playboy TV UK (Украина)
- Поединок
- Поиск-ТВ
- Полёт ТВ
- Polsat Comedy C. E.
- Polsat Music HD
- Polsat Sport Premium 3
- Polsat Sport Premium 4
- Polsat Sport Premium 5
- Polsat Sport Premium 6
- Power Türk [TR]
- Power TV [PL]
- Премиальное SD
- Премиальное HD
- Premier Sport 1 [SK]
- Premier Sport 2 [SK]
- Premier Sport 3 [SK]
- Premier Sports Asia
- Premier Sports 1 [UK]
- Premier Sports 2 [UK]
- Premiere HD
- Premier League TV HD
- Premiere HD 1
- Premiere HD 2
- Premiere HD 3
- Premiere HD 4
- Premium HD
- Премиум Кино KZ
- Приключения HD
- Прим 24
- Prima Sport 1 HD
- Prima Sport 2 HD
- Prima Sport 3 HD
- Prima Sport 4 HD
- Prima Sport 5 HD
- Prime Fight
- Про100 ТВ
- Pro Arena
- Про Астрахань
- Pro TV Moldova
- Pro Всё
- Про жизнь
- Продвижение (+3)
- Продвижение (+4)
- Продвижение (+7)
- ProSieben Fun HD
- ProSieben Maxx HD
- ПТРК Павлоград
- Q Football
- Киносериал HD [KZ]
- Кинодрама HD [KZ]
- Q Live 1
- Q Live 2
- Q Live 3
- Q Live 4
- Q League
- QAZAQSTAN HD Int
- Q Sport Киргизия
- Q Arena
- Quadro 4K
- QVC Style [DE]
- Рада
- Radio Italia TV [IT]
- Радио Мир
- Радіо НВ
- Телеканал Радио Страна ФМ
- РАІ
- RAZ 1
- RAZ 2
- Развлекательное ТВ [KZ]
- РБК
- Re:TV
- Real Time [IT]
- Reality Kings
- Rebel [CZ]
- Reble!
- Регион 29
- Регион 67
- РенТВ International
- Истоки
- РенТВ Молдова
- Рен ТВ (+2)
- Рен ТВ (+4)
- Рен ТВ (+7)
- Репортер
- Репортер 73
- Retro Music
- Revel TV
- Резонанс
- RFM TV [FR]
- РГВК Дагестан
- Рифей-ТВ
- Riga TV24
- Рика
- РИМ
- RING.BG
- RMC Sport 1 [FR]
- RMC Sport 2 [FR]
- RMC Sport Access [FR]
- Rock TV RO
- Родное кино International
- Romance
- Романтичное SD
- Романтичное HD
- Россия 1
- Россия 1 (-1)
- Россия 1 (+1)
- Россия 1 (+2)
- Россия 1 (+3)
- Россия 1 (+4)
- Россия 1 (+5)
- Россия 1 (+6)
- Россия 1 (+7)
- Россия 1 (+8)
- Россия 1 (+9)
- Россия 24
- Розпакуй.TV
- RT News
- RT Д English
- RT Д Русский
- RTG International
- RTL
- RTL 2
- RTL Nitro [DE]
- RTLup [DE]
- РТР-Планета Америка
- РТР-Планета Армения
- РТР-Планета Украина
- РТС - Абакан
- RTVI Retro
- RTVI США
- RTVS Sport [SK]
- RU.TV Беларусь
- РуКино HD
- Russia Hualiang TV
- Русская история
- Русь Кострома
- Русский корабль
- Russias Future
- Русская комедия
- RUTUBE TV
- Рыбалка
- Рыбалка и охота
- Рыбинск-40
- С1 Сургут
- S Sport 2 [TR]
- S Sport [TR]
- Saga TV
- Sälem, älem! [KZ]
- Самара 24
- Самотлор (Нижневартовск)
- Сампо ТВ
- Саров 24
- Sat.1 HD
- Sat.1 Emotions HD
- Sat.1 Gold HD DE
- Саха
- Щёлково
- Schlager Deluxe [DE]
- Sci Fi [PL]
- Scream
- Сделано в Кузбассе
- Семейное Кино KZ
- Семейный Теле Сигнал [KZ]
- Senzi TV [SK]
- Serial HD
- Сериал
- Setanta Sports 1 Georgia
- Setanta Sports 1 KZ
- Setanta Sports 1 Lietuva
- Setanta Sports 2 Georgia
- Setanta Sports 2 KZ
- Setanta Sports 2 Lietuva
- Setanta Sports 3 Georgia
- Setanta Kyrgyzstan
- Setanta Казахстан
- Setanta Sport+ [KZ]
- Setanta+ Украина
- Setanta Sports Premium [UA]
- Setanta Sports+
- Setanta Украина
- Сейм Курск
- Шахты ТВ
- Шансон-TB
- Шант Kids HD
- Шант Music HD
- Шант Premium HD
- Шант Serial HD
- Шокирующее SD
- Шокирующее HD
- Show HD TR
- Show KZ
- Сибирь 24
- Silk Way Cinema
- Silk Way
- Симферополь 24
- Simpsons Channel
- Sixx [DE]
- СкиФ-Витебск
- Sky Atlantic HD
- Sky Caccia e Pesca
- Sky Cinema Action HD
- Sky Cinema Classics HD
- Sky Cinema Family HD
- Sky Cinema Highlights HD
- Sky Cinema Premiere HD
- Sky News [UK]
- Sky Sport 24 [IT]
- Sky Sport Arena [IT]
- Sky Sport Austria HD
- Sky Sport Bundesliga 1 HD
- Sky Sport Bundesliga 2 HD
- Sky Sport Bundesliga 3 HD
- Sky Sport Bundesliga 4 HD
- Sky Sport Bundesliga 5 HD
- Sky Sport Bundesliga 6 HD
- Sky Sport Bundesliga UHD [DE]
- Sky Sport Bundesliga HD [DE]
- Sky Sport Calcio [IT]
- Sky Sport F1 [DE]
- Sky Sport F1 [IT]
- Sky Sport Golf [DE]
- Sky Sport Golf [IT]
- Sky Sport 1 [NZ]
- Sky Sport 2 [NZ]
- Sky Sport 3 [NZ]
- Sky Sport 4 [NZ]
- Sky Sport 5 [NZ]
- Sky Sport 6 [NZ]
- Sky Sport 7 [NZ]
- Sky Sport Premier League [NZ]
- Sky Sport 9 [NZ]
- Sky Sport Legend [IT]
- Sky Sport Max [IT]
- Sky Sport Mix [DE]
- Sky Sport Mix [IT]
- Sky Sport MotoGP [IT]
- Sky Sport NBA [IT]
- Sky Sport News [DE]
- Sky Sport Premier League [DE]
- Sky Sport Select [NZ]
- Sky Sport Tennis [DE]
- Sky Sport Tennis [IT]
- Sky Sport Top Event [DE]
- Sky Sport UHD [DE]
- Sky Sport Uno [IT]
- Sky Sports 1 UHD [UK]
- Sky Sports 2 UHD [UK]
- Sky Sports Action / NFL [UK]
- Sky Sports Premier League [UK]
- Sky Sports + [UK]
- Sky Sports Box Office [UK]
- Sky Sports Cricket [UK]
- Sky Sports Darts / F1 [UK]
- Sky Sports F1 UHD [UK]
- Sky Sports Football [UK]
- Sky Sports Golf [UK]
- Sky Sports LaLiga [MX]
- Sky Sports Main Event [UK]
- Sky Sports Mix [UK]
- Sky Sports [MX]
- Sky Sports News [UK]
- Sky Sports Racing [UK]
- Sky Sports Tennis [UK]
- SkyCam +100500
- SkyCam Action
- SkyCam Catastrophe
- SkyCam Goblin
- SkyCam Horrors
- SkyCam Relax
- SkyCam Romantic
- SkyCam RuKino
- SkyCam Симпсоны
- SkyCam Южный Парк
- SkyCam Victory
- SKY HIGH CLASSIC HD
- SKY HIGH 2D CLASSIC HDR
- SKY HIGH 3D CLASSIC HDR
- SKY HIGH 911 S 4K HDR
- SKY HIGH ADULT
- SKY HIGH ANIME HD
- SKY HIGH ASIAN HDR
- SKY HIGH AUTUMN HDR
- SKY HIGH BIO HDR
- SKY HIGH BLOOD 4K HDR
- SKY HIGH BLOODY HDR
- SKY HIGH BRAIN
- BUNNY HD
- SKY HIGH CENTURY HDR
- SKY HIGH CHBU
- SKY HIGH CINEMA 4K HDR
- SKY HIGH SMILE HDR
- SKY HIGH COMICS 4K HDR
- SKY HIGH CONCERT HD
- SKY HIGH COSMOS HDR
- SKY HIGH CRIME 4K HDR
- SKY HIGH CRIME HDR
- SKY HIGH CRIMES 4K HDR
- SKY HIGH DANCE
- SKY HIGH DARK S 4K HDR
- SKY HIGH DC 4K HDR
- SKY HIGH DCU S 4K HDR
- SKY HIGH DEAD S 4K HDR
- SKY HIGH DECTS 4K HDR
- SKY HIGH DETECT HDR
- SKY HIGH DLOVE 4K HDR
- SKY HIGH DOC
- SKY HIGH DOC UHD
- SKY HIGH DRAMA 4K HDR
- SKY HIGH EPOCH HD
- SKY HIGH FAMILY 4K HDR
- SKY HIGH FAMILY VHS HDR
- SKY HIGH FIGHT+ HD
- SKY HIGH FRESH HD
- SKY HIGH FRESH HDR
- SKY HIGH FUN S 4K HDR
- SKY HIGH GALAXY HDR
- SKY HIGH GOT S 4K HDR
- SKY HIGH HEROES HD
- SKY HIGH HISTORY 4K HDR
- SKY HIGH HIST S 4K HDR
- SKY HIGH HORROR 4K HDR
- SKY HIGH HORROR VHS HDR
- SKY HIGH JETIX HDR
- SKY HIGH JETIX HD
- SKY HIGH KID 0+ 4K HDR
- SKY HIGH KID 6+ 4K HDR
- SKY HIGH KID 12+ 4K HDR
- SKY HIGH KID 16+ 4K HDR
- SKY HIGH KID 18+ 4K HDR
- SKY HIGH KIDS USSR
- SKY HIGH LEGENDS HDR
- SKY HIGH MAGIC S 4K HDR
- SKY HIGH MAN HD
- SKY HIGH MARVEL 4K HDR
- SKY HIGH MCU S 4K HDR
- SKY HIGH MIX 4K
- SKY HIGH MYSTIC VHS HDR
- SKY HIGH NATURE HD
- SKY HIGH NATURE 4K
- SKY HIGH NATURE 4K HDR
- SKY HIGH NEW 4K HDR
- SKY HIGH NOIR HD
- SKY HIGH NON STOP HDR
- SKY HIGH NSTOP 4K HDR
- SKY HIGH ORIG
- SKY HIGH POLIT S 4K HDR
- SKY HIGH PUPPET HDR
- SKY HIGH ROMAN VHS HDR
- SKY HIGH RUSSIAN
- SKY HIGH SADLY HDR
- SKY HIGH SERIES HD
- SKY HIGH SMASH 4K HDR
- SKY HIGH SMASH VHS HDR
- SKY HIGH SMILE 4K HDR
- SKY HIGH SPACE 4K HDR
- SKY HIGH SPIRIT HD
- SKY HIGH SPNS 4K HDR
- SKY HIGH SPRING HDR
- SKY HIGH STANDUP
- SKY HIGH STARWS 4K HDR
- SKY HIGH SUNNY HDR
- SKY HIGH THRILLER 4K HDR
- SKY HIGH TOON 4K HDR
- SKY HIGH UHD HDR
- SKY HIGH VAMPIRE HDR
- SKY HIGH VERSE S 4K HDR
- SKY HIGH VHS DEJAVU HDR
- SKY HIGH VHS FUTURE HDR
- SKY HIGH VHS UHD
- SKY HIGH WBROS HDR
- SKY HIGH WESTERN HDR
- SKY HIGH WEST S 4K HDR
- SKY HIGH WINTER HDR
- Šláger Muzika [CZ]
- Šláger Original [CZ]
- Sláger TV [HU]
- Соль
- Солнце (+2)
- Солнце (+4)
- Солнце (+7)
- Соловьев.Live
- Сонце
- Song TV Armenia
- Song TV Georgia
- Song TV Russia
- Duo 3 [EE]
- Duo 3 Baltic
- Sony Sports Ten 1 HD
- Sony Sports Ten 2 HD
- Sony Sports Ten 3 HD
- Sony Sports Ten 4 HD
- Sony Sports Ten 5 HD
- Duo 6 Baltic
- Duo 6 [EE]
- Советская киноклассика
- Советская киноклассика HD
- Спас (+2)
- Спас (+7)
- Spiler 1 [HU]
- Spiler 2 [HU]
- Spor Smart 2 TR
- Spor Smart TR
- Sport1 HD
- Sport1+ HD
- Sport TV 1 Slovenia
- Спорт 1 Украина
- Sport TV 2 Slovenia
- Спорт 2 Украина
- Sport TV 3 Slovenia
- Спорт 3 Украина
- Спорт 4 Украина
- Спорт 5
- Sport 1 [CZ]
- Sport 1 [HU]
- Sport 2 [CZ]
- Sport 2 [HU]
- Sport Extra [RO]
- Sport+ Qazaqstan
- Sportdigital Fussball 2
- ТВ Спорт
- Sport Klub 1 [SI]
- Sport Klub 2 [SI]
- SportKlub
- Спортмастер ТВ
- Sportska Televizija [HR]
- Sportsnet 360 [CA]
- SNY: SportsNet New York [US]
- Sportsnet One [CA]
- Sportsnet World [CA]
- Sports TV [TR]
- Sport TV 1 [PT]
- Sport TV 2 [PT]
- Sport TV 3 [PT]
- Sport TV 4 [PT]
- Sport TV 5 [PT]
- Sport TV 6 [PT]
- Sport TV 7 [PT]
- Sport TV+ [PT]
- Star Cinema Россия
- Star Cinema [EU]
- Star Cinema UA
- Star Family Россия
- Star Family [EU]
- Star Family UA
- Star TV HD TR
- Stars.TV
- Stingray Classica [FR]
- Stingray Djazz [FR]
- СТК-Солигорск
- СТРК HD
- СТС International
- СТС International (-7)
- СТС Kids HD
- СТС Love (+2)
- СТС Love (+4)
- СТС Love (+7)
- СТС (+2)
- СТС (+4)
- СТС (+7)
- СТВ 24
- СТВ Беларусь
- STV Pirmā!
- Sumiko
- Sundance TV [PL]
- Super Baltic
- Super One HD
- Суббота! (+2)
- Суббота! (+4)
- Суббота! (+7)
- Super Plus
- Супермама
- Super-Tennis
- Suspense
- Суспільне Спорт
- Світ навиворіт+
- Світ+
- Svoboda
- Своё ТВ Березники
- Своё ТВ Ставрополь
- Тагил-ТВ 24
- Такт
- Танцуй! HD
- Тарарам!
- Тараз 24
- Татарстан-24
- Таврия ТВ
- ТБН Россия
- ТДК 42
- Teledeporte [ES]
- Телеканал народной музыки
- Телекон 24 (Нижний Тагил)
- Телемикс
- Телепутешествия HD
- TeleToon+ HD
- Temptation TV
- Tennis Channel [US]
- Тео ТВ
- ТЕТ
- Teve2 HD
- The Country Network [US]
- The Explorers
- The Fishing and Hunting
- The Voice BG
- Thriller HD
- Tiny4k UHD
- Tivibu Spor [TR]
- Tivibu Spor 1 [TR]
- Tivibu Spor 4 [TR]
- ТиВиСи HD
- ТК Вариант
- TLC Balkans
- TLC [PL]
- TLC TR
- ТНТ4 (+2)
- ТНТ4 (+4)
- ТНТ4 (+6)
- ТНТ4 (+7)
- Exclusiv TV [MD]
- ТНТ-International (Беларусь)
- ТНТ-International (СНГ)
- ТНТ-International (Европа)
- ТНТ KZ
- ТНТ-Music
- ТНТ (+2)
- ТНТ (+3)
- ТНТ (+4)
- ТНТ (+7)
- TNT Sports Premium HD [AR]
- ТНВ
- Точка
- Толк
- Толпар-ТВ (Уфа)
- Томское время
- Тонус ТВ
- Тооку
- Той Думан
- Trace Brasil
- Trace Latina [FR]
- Trash
- Travel&Adventure
- Travel Channel [PL]
- Travel Guide-TV
- Travel XP 4K
- Travel XP HD
- Третий Цифровой
- ТРК Чернівці
- ТКР Рязань
- ТРК Юганск
- TRT 4K [TR]
- TRT 1 HD
- TRT 2 HD
- TRT 3 HD
- TRT Çocuk [TR]
- TRT Haber HD
- TRT MÜZİK [TR]
- TRT Spor Yıldız [TR]
- TRT Türk [TR]
- ТСН 24 (Тула)
- ТСТ (Черемхово)
- TTV [PL]
- Туапсе 24
- Туран ТВ
- Турк Сааҭ
- Тува 24
- TV1 KG HD (Кыргызстан)
- TV 2 Sport 1 [NO]
- TV 2 Sport 2 [NO]
- ТВ3 Беларусь
- TV3 EE
- TV3 LT
- TV3 LV
- TV3 Plus [LT]
- ТВ3
- ТВ3 (+2)
- ТВ3 (+3)
- ТВ3 (+4)
- ТВ3 (+7)
- TV4 (Латвия)
- TV4 [PL]
- TV4 Tennis [SE]
- TV-4 (Тернопіль)
- TV5 Monde Europe
- TV6 EE
- TV6 LT
- TV6 LV
- TV6 [PL]
- ТВ-7 Абакан
- TV8 [LT]
- TV8 Moldova
- TV8 HD TR
- ТВ-21M
- ТВ-21+
- TV 8.5 [TR]
- TV999 [BG]
- TV1000 Global Kino
- Go3 Films
- TV BRICS
- ТВ-ИН (Магнитогорск)
- TV Puls 2
- TV RUS
- TV RUS+
- ТВА
- TVC 21
- ТВ Центр +2
- ТВ Центр +4
- ТВ Центр +7
- Тверской проспект
- Твiй серiал
- ТВК6 Красноярск
- TVM3 [CH]
- TVN 7 HD
- TVN 24 BiS HD
- TVN 24 HD
- TVN Fabuła HD
- TVN HD
- TVN Style HD
- TVN Turbo HD
- Твоё ТВ - Юмор
- Твой 2007
- Твоє кіно. Action
- Твоє кіно. Relax
- Твоє кіно. Хіт
- TVоя Тюмень
- Твоё ТВ HD
- Твоё ТВ Казахстан
- TVP 1
- TVP 2
- TVP 3
- TVP 3 Wrocław
- TVR1 [RO]
- TVR2 [RO]
- TVR Sport [RO]
- TVRi [RO]
- ТВС - 9 канал
- TVS [PL]
- ТВС (Саранск)
- ТВТУР
- 4Y Baltic
- TyC Sports HD [AR]
- UA:Буковина
- UA:Черкаси
- UA:Чернігів
- Суспільне Донбас
- UA:Карпати
- UA:Кропивницький
- UA:Крим
- UA:Київ
- UA:Львів
- UA:Миколаїв
- UA:Одеса
- UA:Перший
- UA:Поділля
- UA:Полтава
- UA:Рівне
- UA:Суми
- UA:Тернопіль
- FreeДОМ
- UA:Волинь
- UA:Вінниця
- UA:Харків
- UA:Херсон
- UA:Закарпаття
- UA:Запоріжжя
- UA:Житомир
- Удар
- Ugra Travel
- УР1
- УР2
- УР3
- Ульяновская правда
- Ultra TV 4K [PL]
- Унiан
- УПЛ ТВ
- URAL1
- Урал-24
- УрФО24
- USSR HD
- UTravel
- ЮТВ Чебоксары
- UTV Нефтекамск
- UTV RO
- UTV Салават
- UTV Стерлитамак
- UzSport
- UzSport 2
- В мире животных HD
- V Sport 1 [NO]
- V Sport 2 [NO]
- V Sport 3 [NO]
- V Sport Extra [SE]
- V Sport Football [SE]
- V Sport+ [NO]
- V Sport Premium [SE]
- Vajeu
- Варзиш Спорт
- Вектор 24
- VeleS 60FPS
- VeleS Аниме
- VeleS Dj Set
- VeleS Гоблин
- VeleS Kids
- VeleS Киноплёнка
- VeleS Киносерия
- VeleS Комедия
- VeleS Криминальный
- VeleS Магнитофон
- VeleS Movie Hits
- VeleS Наше Кино
- VeleS Premiere
- VeleS Семейный
- VeleS СССР
- VeleS Страшное
- VeleS Триллер
- VeleS Вестерн
- Velilla TV Action War Films HD
- Velilla TV Adult Channel HD
- Velilla TV Cartoons Disney 4K
- Velilla TV Cinema 4K
- Velilla TV Детский HD
- Velilla TV Домашний HD
- Velilla TV EuroCup 1984
- Velilla TV EuroCup 1988
- Velilla TV EuroCup 1992
- Velilla TV EuroCup 1996
- Velilla TV Eurodance 90s
- Velilla TV Hard And Heavy Concerts HD
- Velilla TV Кухня + Отель Элеон HD
- Velilla TV Legendary Matches HD
- Velilla TV Морские дьяволы HD
- Velilla TV Морские дьяволы 2 HD
- Velilla TV Мосгаз HD
- Velilla TV ИП Пирогова HD
- Velilla TV Pop And Rock Concerts HD
- Velilla TV Russiandance 90s
- Velilla TV Русский Сериал HD
- Velilla TV Русские Мелодрамы HD
- Velilla TV Счастливы вместе
- Velilla TV Том и Джерри HD
- Velilla TV World Cup 1966
- Velilla TV World Cup 1970
- Velilla TV World Cup 1974
- Velilla TV World Cup 1978
- Velilla TV World Cup 1990
- Velilla TV World Cup 1994
- Velilla TV World Cup 1998
- Velilla TV World Cup 2002
- Velilla TV World Cup 2006
- Velilla TV World Cup 2010
- Velilla TV World Cup 2014
- Velilla TV World Cup 2018
- Velilla TV World Cup 2022
- Ветта 24 Пермь
- VF Два с половиной человека
- VF Привет из 90х
- VF Adventure
- VF Американская история ужасов
- VF Anime
- VF Art house
- VF Баня
- VF Беларусьфильм
- VF Бесстыжие
- VF Без цензуры
- VF Боевик
- VF Cartoon
- VF Чернобыль
- VF Classic
- VF Comedy
- VF Comedy Woman
- VF Comics
- VF Detective
- VF Disney Cartoon
- VF Disney Movie
- VF Джеки Чан
- VF Ёлки
- VF Ералаш
- VF Family
- VF Fantastic
- VF Fantasy
- VF Фильмы СССР
- VF Друзья
- VF Леонид Гайдай
- VF Гарри Поттер
- VF Городок
- VF Граиндхаус
- VF HBO
- VF Доктор Хаус
- VF Игра престолов
- VF Индия
- VF История
- VF Каламбур
- VF Карточный домик
- VF Катастрофы
- VF Кино 4K
- VF Киностудия им. Горького
- VF Классика
- VF Комедия
- VF Концерты
- VF Криминал
- VF Кухня
- VF КВН
- VF Ленфильм
- VF Луи де Фюнес
- VF Малыш
- VF Marvel
- VF Маски Шоу
- VF Melodrama
- VF Мосфильм
- VF Мультфильмы СССР
- VF Музыка
- VF Мыльные оперы
- VF Mystic
- VF Наша Раша
- VF Netflix
- VF New Year
- VF Новогодние мультфильмы
- VF Новогодний
- VF Одесская киностудия
- VF Однажды в России
- VF Орел и решка
- VF Оскар
- VF Охота
- VF Наша победа
- VF Премьера
- VF Premiere
- VF Реальные пацаны
- VF Рижская киностудия
- VF Эльдар Рязанов
- VF СашаТаня
- VF Счастливы Вместе
- VF Сериал
- VF Сериал 4K
- VF Сериалы Турции
- VF Series
- VF Секс в большом городе
- VF Скуби-Ду
- VF След
- VF С новым Годом!
- VF Солдаты
- VF Союзмультфильм
- VF Стройка
- VF Сверхъестественное
- VF Свердловская киностудия
- VF Сваты
- VF Тайны следствия
- VF Теория большого взрыва
- VF Thriller
- VF TOP Series
- VF Универ
- VF Универ новая общага
- VF Уральские пельмени
- VF Ужасы
- VF Ужасы VHS
- VF VHS
- VF VHS Cartoon
- VF Военные
- VF Воронины
- VF Владимир Высоцкий
- VF Ходячие мертвецы
- VF Вестерн
- VF The X-Files
- VF Юмор 18+
- VH1 Classic
- VHS HD
- VHS-ка Сериал
- Viasat Explore CEE
- Viasat History Ukraine
- Viasat Hockey HD
- Viasat Nature CEE
- Viasat Serial
- Viasat Sport HD [SE]
- Victory HD
- viju TV1000 Новелла
- viju TV1000 romantica
- Vivid Red
- Vivid Touch HD
- Vivid TV
- Вкус
- Вкусное TV
- Военное кино
- Волейбол
- Восточный экспресс
- Восток 24
- ВОТ ТВ
- VOX
- Vox Music TV [PL]
- VOXup [DE]
- Время Арктики
- Волга 24
- Вселенная мультфильмов
- Вся Уфа
- Всесвітня служба радіомовлення України
- ВТК Аргус
- Выборг ТВ
- Waidwerk HD DE
- Women's Magazine
- World Fashion Channel En
- WP
- Wydarzenia 24
- Хабаровск
- Хамдан-Калмыкия 24 (Элиста)
- Xezer
- Хоккей ТВ
- Хроніка+
- Yaban TV [TR]
- Ямал-Регион
- Yes 1
- Yes 3
- Yes 4
- Yes Action
- yes Bollywood
- Yes Comedy
- Yes Drama
- YES Network [US]
- Yes Sport 1
- Yes Sport 2
- Yes Sport 3
- Yes Sport 4
- #Ё
- YOSSO TV 4K
- YOSSO TV 4K HDR
- YOSSO TV Adrenaline
- YOSSO TV Adventure
- YOSSO TV BEST
- YOSSO TV BEST 60fps
- YOSSO TV BEST Box 60fps
- YOSSO TV Ковбойское
- YOSSO TV Disney
- YOSSO TV Food
- YOSSO TV Grand
- YOSSO TV Kids
- YOSSO TV Мелодрама
- YOSSO TV Music Hits
- YOSSO TV Nature
- YOSSO TV Наше детское
- YOSSO TV Netflix
- YOSSO TV New Кино
- YOSSO TV Oblivion
- YOSSO TV Русские фильмы
- YOSSO TV Science
- YOSSO TV Шансон
- YOSSO TV Советские фильмы
- YOSSO TV Советские фильмы 4K
- YOSSO TV Союзмульт
- YOSSO TV Thriller
- YOSSO TV Трагичное
- YOSSO TV Travel
- YOSSO TV VHS
- YOSSO TV Забавное
- Your Play!
- Ю +2
- Ю +4
- Ю +7
- Югра
- РТК Забайкалье
- Закон ТВ
- Зал 1 (Шерлок Холмс и доктор Ватсон)
- Зал 2 (След)
- Зал 3 (Ментовские войны)
- Зал 4 (Мелодрамы)
- Зал 5 (Солдаты)
- Зал 6 (Некрасивая подружка)
- Зал 7 (Три кота)
- Зал 8 (Доказательства вины)
- Зал 9 (Анна-детективъ)
- Зал 10 (Советские мультфильмы)
- Зал 11 (Смешарики)
- Зал 12 (Комедии)
- Зал 14 (Белка и Стрелка)
- Зал 15 (Шукки и Бейта)
- Зал 16 (Диностер)
- Зал 17 (Боевики HD)
- Зал 18 (Бодо Бородо)
- Зал 19 (Ужасы HD)
- Зал 20 (Исторический HD)
- Зал 21 (Робозуна)
- Зал 22 (Детские песенки)
- Зал 23 (Советские фильмы)
- Зал 24 (Глухарь)
- Зал 25 (Горюнов)
- Зал 26 (Балабол)
- Зал 27 (Улицы разбитых фонарей)
- Зал 28 (6 кадров)
- Зал 29 (Женский детектив)
- Зал 30 (Мажор)
- Зал 31 (Осторожно, Модерн!)
- Зал 32 (Бандитский Петербург)
- Зал 33 (Восток-Запад)
- Запад 24
- Заречный
- Жетысу
- Живи
- Живи активно
- Ziggo Sport 1 [NL]
- Ziggo Sport 2 [NL]
- Ziggo Sport 3 [NL]
- Ziggo Sport 4 [NL]
- Ziggo Sport 5 [NL]
- Ziggo Sport 6 [NL]
- Знаєм 24
- Знание ТВ
- ZU TV [RO]
- Звезда (+2)
- Звезда (+4)
- Звезда (+7)
- 1+1
- 1+1 International
- 1+1 Україна
- 1+2
- 2+2
- 2x2
- Три Ангела
- 4ever Cinema
- 4ever Drama
- 4ever Music
- 4ever Theater
- 5Sport 4K
- 5Sport
- 6 соток
- 13th Street HD
- Хабар 24
- 78
- 312 Кино
- 312 Музыка
- 312 Сериал
- 360° Новости
- 360TuneBox
- 365 дней ТВ
- А1
- А2
- Abai TV
- ABC News Live [US]
- Adult Channel
- Agro TV Moldova
- Ajara TV
- Алмазный край
- Altai
- Анекдот ТВ
- Ani
- AQJAIYQ
- AQTOBE
- Арис 24
- Архыз 24
- Armenia 1
- Armenia 2
- Армія ТБ
- Арсенал ТВ
- Астрахань 24
- Astro Cricket
- Atameken Business
- ATR
- ATV Bazmoc TV
- ATV Filmzone
- ATV Kinoman
- ATYRAY
- Авто Плюс
- Аверс
- Авто24
- Baby Time
- Balapan
- Баластан
- Balticum Auksinis
- Башкортостан 24
- BCU Charm HD
- Бьюти.TV
- beIN Sports 1
- beIN Sports 2
- beIN Sports 3
- beIN Sports 4
- beIN Sports 5
- beIN Sports 6
- beIN Sports 7
- beIN Sports AFC
- beIN Sports NBA
- beIN Sports News
- beIN Sports [US]
- Белгород 24
- БелРос
- Benfica TV
- Большая Азия
- Big Planet
- .black
- Блокбастер
- Blue Hustler
- Бобер
- Бокс ТВ
- Bollywood
- Bolt
- БСТ
- BTV
- Буг-ТВ
- Карусель
- Карусель International
- Cars & Stars TV
- Cartoon Network
- Caspian News
- CBC
- CBC Sport
- CBS Reality [PL]
- CBS Sports Network [US]
- CGTN
- Пятый канал
- 8 канал
- 8 канал International
- Первый канал
- Первый канал Евразия
- Чижик
- Cinema
- Cinemax
- Cine+
- Cine+ Hit
- Cine+ Kids
- Classic Music
- Clubbing TV
- C More Fotboll HD
- C More Hockey HD
- CNBC [US]
- CNN International
- Comedy Central [PL]
- Continent E
- Крым 24
- ČT1
- ČT2
- ČT24
- Cum4k UHD
- Дача
- Das Erste
- Da Vinci Learning
- DAZN LALIGA 2 [ES]
- DAZN LALIGA [ES]
- День Победы
- Детский мир
- Диалоги о рыбалке
- Diema Sport 2
- Diema Sport 3
- Diema Sport
- DIGI Sport 1
- DIGI Sport 2
- DIGI Sport 3
- DIGI Sport 4
- Дикая охота HD
- Дикая рыбалка HD
- Дом
- Discovery Channel
- Discovery Science
- Доктор
- Домашние животные
- Домашний
- Домашний International
- Дом кино
- Дом кино Премиум
- Дон 24
- Дорама
- Dorcel XXX
- Драйв
- ducktv
- ducktv plus
- Dynamo Kyiv TV
- Еда
- Eesti Kanal
- English Class
- English Club TV
- Epic Drama
- Equalympic
- Eromania 4K
- Erox
- ERTIS
- Eska Rock TV
- Eska TV
- Eska TV Extra
- ESPN2 [US]
- ESPN [US]
- Еспресо TV
- Евразия
- Eurochannel
- Eurosport 1
- Eurosport 2
- Eurosport 4K
- Еврокино
- Extasy TV
- Fashion One
- Fashion TV
- Fast Sports 1
- Fast Sports 2
- Fast Sports
- Фауна
- Fenerbahçe TV
- FilmZone [EE]
- FlixSnip
- Food Network
- FoodTime
- Fox Business [US]
- Fox News
- France 24
- Fresh TV
- Пятница!
- Пятница! International
- Футбол
- FX
- FX Life
- Galatasaray TV
- ОТБ Галичина
- Gametoon
- Genuine TV
- GINX Esports TV
- Глазами туриста
- GNC Америка
- TV3 Sport 2
- TV3 Sport 3
- TV3 Sport Open
- Gold TV
- Golf Channel [US]
- Грозный
- Губерния
- Губерния 33
- Gulli
- HBO2 HD
- HBO3 HD
- HBO HD
- Точка.РФ
- HD Медиа
- HGTV
- H2 [PL]
- History
- Хит
- HIT TV
- HITV
- Hollywood
- Home 4K
- Надежда
- Надія
- Hustler HD
- Hustler TV
- Хузур ТВ
- ICTV2
- ID Fashion
- Индия
- Индийское кино
- Info TV
- Init Ekstra TV
- Init TV
- Insight UHD
- История
- Известия
- Jambyl
- JimJam
- Just TV
- Калейдоскоп ТВ
- Камеди
- Капитан Фантастика
- Катунь 24
- Кавказ 24
- KBS World
- Kentron TV
- Хабар
- Kids TV
- Kidzone Max
- Kidzone Mini
- Кинеко
- Kino 1
- Kino 2
- Кино 18+
- Кино 18+ International
- Kino 24
- Кинохит
- Kinojam 1
- Kinojam 2
- Кинокомедия
- KinoLiving
- Киномикс
- Kino Polska Muzyka International
- Кинопремьера
- Киносат
- Киносемья
- Киносерия
- КиноСезон
- Киносвидание
- Кино UHD
- Киноужас
- Kinowood
- KION Хит
- Ключ
- Kokshe
- Конный мир
- Крик-ТВ
- Кто есть кто
- Кубань 24
- Кухня ТВ
- Кус-кус
- Квартал ТВ
- КВН ТВ
- Київ
- Lale
- Latvijas Šlāgerkanāls
- ЛДПР ТВ
- Легендарный 24
- Домашний магазин
- Leo TV
- Лёва
- Липецкое время
- Live Music Channel HD
- LNK
- LRT Lituanica
- LRT Televizija
- LTV1
- LTV7
- Luxury
- Magnat
- Майдан
- Мама
- Mangystay
- Матч!
- Матч! Арена
- Матч! Боец
- Матч! Футбол 1
- Матч! Футбол 2
- Матч! Футбол 3
- Матч! Игра
- Матч! Планета
- Матч! Премьер
- Матч! Страна
- Матур ТВ
- MAX Sport 1
- MAX Sport 2
- MAX Sport 3
- MAX Sport 4
- MCM Pop
- MCM Top
- Medeniyyet TV
- Мега
- Mezzo
- Mezzo Live HD
- Milady Television
- Milan TV
- Миллет
- Министерство идей
- Мир 24
- Мир баскетбола
- Мир Белогорья
- Мир
- Мир сериала
- MLB Network [US]
- MMA-TV
- Moldova 1
- Moldova 2
- Мордовия 24
- Московский образовательный
- Классика Кино
- Movify Kino
- Моя Планета
- Моя стихия
- MSNBC [US]
- MTV DE
- MTV Hits
- MTV Live [US]
- MTV Live HD
- MTV U [US]
- Мульт
- Мультиландия
- Мультимузыка
- КТРК Музыка
- Мужское кино HD
- Мужской
- Mūzikas Video Kanāls
- MuzLife
- Muzsika TV
- Муз-ТВ
- Музвар
- Музыка Первого
- MuzZone
- N4
- Нано
- Наша Сибирь
- Наша тема
- Наш дом
- Любимое кино
- Наше Мужское
- Наше новое кино
- Наш КиноМир
- Наш Кинопоказ
- National Geographic
- Nat Geo Wild
- Наука
- Nautical Channel
- NBA TV [US]
- Неизвестная Планета
- NewsMax TV [US]
- NewsNation US
- NFL Network [US]
- NHK World
- NHL Network [US]
- Nickelodeon
- NickMusic
- Nicktoons
- Niki Junior
- Niki Kids
- Нижний Новгород 24
- ННТ
- ННТВ
- Ностальгия
- Nova Sport
- Nova Sport 1
- Nova Sport 2
- Nova Sport 3
- Nova Sport 4
- Новый мир
- Now Rock
- НСТ
- НТА
- НТК
- НТМ
- НТН
- НТВ
- НТВ-Америка
- НТВ-Беларусь
- НТВ-Хит
- НТВ Право
- НТВ Сериал
- НТВ Стиль
- О2ТВ
- О!
- OBOZ TV
- Ocean TV
- Óčko
- Óčko Black
- Óčko Expres
- Óčko Star
- Охотник и рыболов
- Охота и рыбалка
- О!Кино
- ONE
- One Planet
- ОНТ
- Ontustik
- Orizont TV
- Оружие
- Осетия-Ирыстон
- Открытый мир
- ОТС
- Оце
- ОТВ Сахалин
- Перший автомобільний
- Перший Західний
- Первый информационный
- Первый крымский
- Первый Космический
- Первый Псковский
- Первый тульский
- Первый вегетарианский
- Пес и Ко
- Pingvīns
- Пингвин Лоло
- Playboy TV
- Play TV
- ПлюсПлюс
- Победа
- Поехали!
- Polonia 1
- Polsat 2
- Polsat
- Polsat Cafe
- Polsat Doku
- Polsat Film
- Polsat Games
- Polsat News 2
- Polsat News
- Polsat Play
- Polsat Rodzina
- Polsat Seriale
- Polsat Sport 1
- Polsat Sport 2
- Polsat Sport 3
- Polsat Sport Fight
- Polsat Sport Premium 1
- Polsat Sport Premium 2
- Polsat Viasat Explore
- Polsat Viasat History
- Polsat Viasat Nature
- Прямий
- Прима
- Private Spice
- Private TV
- ПРНК
- PRO Business
- Продвижение
- ProKino
- Про Любовь
- ProSieben
- Просвещение
- Provence
- Психология 21
- PTV
- Qostanai
- Quiz TV
- Qyzyljar
- Qyzylorda
- Радио Шансон
- Радость моя
- Rai News 24
- RAI Sport
- Раменское ТВ
- Ратник
- Real Madrid TV
- .red
- Redlight HD
- Красная линия
- Red Lips
- Рен ТВ
- Ретро
- Revolt TV [US]
- Рівне 1
- Родное кино
- Родной канал
- RTG TV
- РТР-Беларусь
- РТР-Планета Азия
- РТР-Планета Европа
- RTVi
- Setanta Sports
- Русский экстрим
- Russian Extreme Ultra HD
- Russian MusicBox
- Русская ночь
- Русский бестселлер
- Русский детектив
- Русский иллюзион
- Русский роман
- Русский Север
- RU.TV
- Рыжий
- РЖД ТВ
- Соль ТВ
- Салям
- Санкт-Петербург
- San Porto
- Сапфир
- Сарафан
- Саратов 24
- Saryarqa
- .sci-fi
- SCT
- Sea TV
- Semei
- Севастополь 24
- 7ТВ
- Север
- SextoSenso
- Шалун
- Шаян ТВ
- Shop24
- Shopping Live
- Shot TV
- Сила
- Шелк
- Сказки Зайки
- SmartZone
- Смайлик ТВ
- Сочи24
- Солнце
- Советские мультфильмы
- Советское кино
- Союз
- Спас
- Spectrum SportsNet [US]
- Sport 1
- Sport 1 Baltic
- Sport 2 Baltic
- КТРК Спорт
- Sportdigital Fussball
- Sport Klub 1 [HR]
- Sport Klub 2 [HR]
- Sport Klub 3
- Sport Klub 4
- Sport Klub 5
- SPOTV2
- SPOTV
- Старт
- Start Air
- Старт Триумф
- Start World
- C Music TV
- Stingray iConcerts
- Страшное HD
- СТС
- СТС Love
- СТБ
- Суббота!
- Супергерои
- Super+
- Super Polsat
- Super RTL HD
- Сургут 24
- Сварожичи
- Светлое ТВ
- Світло
- Т24
- Тамыр
- Тайна
- TBN Armenia
- Театр
- Tele 5
- Телекафе
- Теледом
- Телевсесвіт
- Тернопіль 1
- Терра
- Terra
- Терра Инкогнита
- TiJi
- Timeless Dizi Channel
- ТипТоп
- Tivibu Spor 2 [TR]
- Tivibu Spor 3 [TR]
- Тивиком
- TLC
- TMTV
- ТНТ4
- ТНТ4 International
- ТНТ
- ТНВ-Планета
- Точка отрыва
- Тольятти 24
- Совершенно секретно
- Top Shop TV
- Trace Sport Stars
- Trace Urban
- Travel Channel
- Travel+Adventure
- Трофей
- TRT Avaz [TR]
- Центр Красноярск
- TSN1
- TSN2
- TSN3
- TSN4
- TSN5
- ТСВ
- Туган Тел
- Turkistan
- Тюсо
- ТВ3 International
- TV3 Life
- TV3 Mini
- TV3 Sport
- ТВ Центр
- ТВ Центр International
- TV Extra
- TV Губерния
- TVMChannel
- TVP 3 Warszawa
- TVP ABC
- TVP Dokument
- TVP HD
- TVP Historia
- TVP Info
- TVP Kobieta
- TVP Kultura 2
- TVP Kultura
- TVP Nauka
- TVP Polonia
- TVP Rozrywka
- TVP Seriale
- TVP Sport
- TV Puls
- TVP World
- Дождь
- TV XXI
- Тюменское время
- Ю
- Учалы ТВ
- Удмуртия
- Ultra HD Cinema
- Ulytau
- Уникум
- Univer TV
- Неизвестная Россия
- Усадьба
- Успех
- UTV Уфа
- Варяг
- Вестник Надыма
- VF Cartoon 18+
- В гостях у сказки
- VH1
- VHS-ка
- Viasat Kino
- Viasat Kino Action
- Viasat Kino Comedy
- Viasat Kino Megahit
- Viasat Kino World
- H2
- viju Explore
- viju History
- viju Nature
- viju+ Comedy
- viju+ Megahit
- viju+ Planet
- viju+ Premiere
- viju+ Serial
- viju+ Sport
- viju TV1000
- viju TV1000 Action
- viju TV1000 Русское
- Витебск
- VIVA Russia
- Вместе-РФ
- Волга
- Волгоград 1
- Волгоград 24
- Вопросы и ответы
- Восток ТВ
- Время
- TV1
- V Sport Golf
- V Sport Motor
- Warner TV
- TNT Comedy
- TNT Film
- TNT Serie
- World Business Channel
- World Fashion Channel
- W-Sport
- Xsport
- Xsport+
- XXL
- Якутия 24
- Yes 2
- Yes Docu
- yes Movies Kids
- YOSSO TV SEXY
- Юрган
- Ювелирочка
- Загородная жизнь
- Загородный
- Загородный International
- Зал суда
- ZDF
- Здоровое ТВ
- Жара
- Жар Птица
- Живая планета
- Живая природа
- Zoom
- ZooПарк
- Zoo TV
- Звезда
- Звезда Плюс
- Звязда
-
+
+
+ Горящий камин
+ 1HD Music
+ Первый областной Благовещенск
+ ТВ2 Могилёв
+ 2x2 (+2)
+ 2x2 (+4)
+ 2x2 (+7)
+ TV3 Gold [EE]
+ 3+ (Латвия)
+ 4fun
+ 4fun Fit&Dance
+ 4fun Kids
+ 4K Русское кино
+ 4 канал (Екатеринбург)
+ 5 TV [AM]
+ 5 канал (Таганрог)
+ 5 канал (Караганда)
+ Пятый канал +2
+ Пятый канал +4
+ Пятый канал +7
+ 5 канал (Україна)
+ 5Sport Gold
+ 5Sport Live
+ 5Sport Plus
+ 5Sport Stars
+ 6 канал (Владимир)
+ 6 ТВ
+ 7 канал (Нефтеюганск)
+ 7 канал (Красноярск)
+ 7 канал (Казахстан)
+ 8 канал Беларусь
+ 8 канал (Красноярский край)
+ 8 канал (Новосибирск)
+ 8TV [LV]
+ 8 канал (Владивосток)
+ 9 канал (Израиль)
+ 10 канал / РенТВ Саранск
+ Десятка (Новокузнецк)
+ 11 канал Днепр
+ 11 канал (Усолье)
+ 12 канал Омск
+ 13 Ulica [PL]
+ 21 канал (Ужгород)
+ 24 [UA]
+ 25 регион (Владивосток)
+ 26 регион
+ 31 канал (Челябинск)
+ 31 канал (Казахстан)
+ 36,6 TV
+ 41 регион (Петропавловск-Камчатский)
+ 43 канал (Туапсе)
+ 49 канал
+ UA:Дніпро
+ 77TV
+ 86 Сургут
+ 360° International
+ 360TV (Латвия)
+ 360° Подмосковье
+ A2 HD [TR]
+ A Haber HD
+ A News HD
+ A Para HD
+ A Spor HD
+ Абакан 24
+ ACC Network [US]
+ Ачинское телевидение
+ Active Family [PL]
+ Adventure in 90's
+ Adventure [PL]
+ Афонтово Красноярск
+ Айғак
+ Аист
+ AIVA
+ Актис
+ Аква ТВ
+ Al Jazeera International
+ Алау
+ Ale Kino+ HD
+ Алматы
+ AMC
+ A HOME OF HBO 1
+ A HOME OF HBO 2
+ Angel TV
+ Animal Planet HD
+ Animal Planet [PL]
+ Animaux
+ Funny Kids
+ Anime TV
+ Antena 1 RO
+ Анжерское ТВ
+ Апостроф TV
+ Аппетитный
+ Aquarium 4K
+ Arena4 [HU]
+ Arena Adrenalin [RS]
+ Arena Esport [RS]
+ Arena Fight HD
+ Arena Premium 1
+ Arena Premium 2
+ Arena Premium 3
+ Arena Sport 1 HD [RS]
+ Arena Sport 1 [HR]
+ Arena Sport 1 [SK]
+ Arena Sport 1 [SI]
+ Arena Sport 2 HD [RS]
+ Arena Sport 2 [HR]
+ Arena Sport 2 [SK]
+ Arena Sport 2 [SI]
+ Arena Sport 3 HD [RS]
+ Arena Sport 3 [HR]
+ Arena Sport 3 [SI]
+ Arena Sport 4 HD [RS]
+ Arena Sport 4 [HR]
+ Arena Sport 4 [SI]
+ Arena Sport 5 HD [RS]
+ Arena Sport 5 [HR]
+ Arena Sport 6 HD [RS]
+ Arena Sport 6 [HR]
+ Arena Sport 7 HD [RS]
+ Arena Sport 7 [HR]
+ Arena Sport 8 HD [RS]
+ Arena Sport 8 [HR]
+ Arena Sport 9 [HR]
+ Arena Sport 9 [RS]
+ Arena Sport 10 [HR]
+ Arena Sport 10 [RS]
+ Arena Tenis [RS]
+ Ариг Ус 24 HD
+ Arirang
+ Арктик-TV
+ Арктика 24
+ Армения ТВ
+ Armnews [AM]
+ Арт
+ Arte HD
+ ARTN
+ Астана
+ Астрахань Live
+ Astro Arena 1 HD
+ Astro Arena 2 HD
+ Astro Arena Bola 1
+ Astro Arena Bola 2
+ Astro Badminton
+ Astro Sports Plus
+ Astro Premier League HD
+ Astro Premier League 2 HD
+ Astro Grandstand HD
+ Astro Football HD
+ Astro Sports UHD
+ АСТВ Южно-Сахалинск
+ Асыл Арна
+ ATV Армения
+ ATV HD [TR]
+ АТВ-Медиа
+ АТВ-Ставрополь
+ Auto Moto Sport Channel [DE]
+ AXN Black HD
+ AXN HD
+ AXN Spin HD
+ AXN White HD
+ AzTV
+ Babes TV
+ Baby TV
+ Балашиха ТВ
+ Балет Опера
+ Balkanika
+ Balticum Platinum
+ Balticum HD
+ Barely Legal
+ Barely Legal Украина
+ Барс
+ Батайск ТВ
+ BBC
+ BBC America [US]
+ BBC Brit [PL]
+ BBC CBeebies [PL]
+ BBC Earth [PL]
+ BBC First [PL]
+ BBC Four [UK]
+ BBC Lifestyle [PL]
+ BCU Action HD
+ BCU Catastrophe HD
+ BCU Cinema HD
+ BCU Cinema+ HD
+ BCU Comedy HD
+ BCU Cosmo HD
+ BCU Cosmo HDR
+ BCU Criminal HD
+ BCU Fantastic HD
+ BCU FilMystic HD
+ BCU History HD
+ BCU Kids HD
+ BCU Kids 4K
+ BCU Kids+ HD
+ BCU Kinorating HD
+ BCU Кинозал Premiere 1 HD
+ BCU Кинозал Premiere 2 HD
+ BCU Кинозал Premiere 3 HD
+ BCU Little HD
+ BCU Marvel HD
+ BCU Premium Marvel 4K HDR
+ BCU Kinozakaz
+ BCUMedia Premium 4K HDR
+ BCU Мультсериал HD
+ BCU Premiere HD
+ BCU Premiere Ultra 4K
+ BCU Premium Action 4K HDR
+ BCU Premium Comedy 4K HDR
+ BCU Premium Crime 4K HDR
+ BCU Premium Fantastic 4K HDR
+ BCU Premium Franchise 4K HDR
+ BCU Premium History 4K HDR
+ BCU Premium Horror 4K HDR
+ BCU Premium Kids 4K HDR
+ BCU Premium Kinozakaz 4K HDR
+ BCU Premium Kinozakaz+ 4K HDR
+ BCU Premium 80 лет Победы 4K HDR
+ BCU Premium Premiere 4K HDR
+ BCU Premium Premiere+ 4K HDR
+ BCU Premium Russian 4K HDR
+ BCU Premium СССР 4K HDR
+ BCU Reality HD
+ BCU Romantic HD
+ BCU RUSerial HD
+ BCU Russia 90s
+ BCU Russian HD
+ BCU Кинозал СССР
+ BCU СССР HDR
+ BCU Stars HD
+ BCU Survival HD
+ BCU Сваты HD
+ BCU Сваты 4K
+ BCU TruMotion HD
+ BCU Ultra 4K
+ BCU VHS HD
+ beIN Sports 1 [FR]
+ beIN Sports 2 [FR]
+ beIN Sports 3 [FR]
+ beIN Sports 1 [UK]
+ beIN Sports 1 Singapore
+ beIN Sports 1 [TR]
+ beIN Sports 2 [UK]
+ beIN Sports 2 Singapore
+ beIN Sports 2 [TR]
+ beIN Sports 3 Singapore
+ beIN Sports 3 [TR]
+ beIN Sports 4 [TR]
+ beIN Sports 4K
+ beIN Sports 5 [TR]
+ beIN Sports FTA
+ beIN Sports Haber [TR]
+ beIN Sports Max 1 [TR]
+ beIN Sports Max 2 [TR]
+ beIN Sports Xtra [US]
+ Беларусь 1 HD
+ Беларусь 2 HD
+ Беларусь 3 HD
+ Беларусь 4 Брест
+ Беларусь 4 Гомель
+ Беларусь 4 Гродно
+ Беларусь 4 Могилев
+ Беларусь 4 Витебск
+ Беларусь 5 HD
+ Беларусь 5 Интернет
+ Беларусь-24
+ МузТВ Беларусь
+ BelSat
+ Белвиасат +ТВ
+ Best4Sport TV
+ Best4Sport 2
+ BET Gospel [US]
+ BET Her [US]
+ BET Jams [US]
+ BET Soul [US]
+ Beyaz TV HD TR
+ BG Music Channel
+ Big Ten Network [US]
+ Бiгудi
+ Бийское ТВ
+ Блокбастер HD
+ Bloomberg
+ Bloomberg HT TR
+ Blue Hustler 24
+ Blue Hustler Украина
+ Bolajon Telekanali [UZ]
+ Большой эфир
+ Bolt Россия
+ Boomerang
+ BOX Anime HD
+ BOX Apocalypse HD
+ BOX AutoTrend HD
+ BOX Be ON Edge HD
+ BOX Be ON Edge 1 Live HD
+ BOX Be ON Edge 2 Live HD
+ BOX Be ON Edge 3 Live HD
+ BOX Cyber HD
+ BOX Docu. HD
+ BOX Fantasy HD
+ BOX Franchise HD
+ BOX Franchise HDR
+ BOX Game HD
+ BOX Gangster HD
+ BOX Ghost HD
+ BOX Gurman HD
+ BOX History 4K
+ BOX Hybrid HD
+ BOX Kosmo 4K
+ BOX LoFi HD
+ BOX M.Serial HD
+ BOX Memory HD
+ BOX Metall HD
+ BOX Music 4K
+ Box Music TV BG
+ BOX Mayday HD
+ BOX Oscar HD
+ BOX Premiere+ 4K HDR
+ BOX Relax 4K
+ BOX Remast 4K
+ BOX Remast+ 4K
+ BOX RU.RAP HD
+ BOX Russian 4K
+ BOX Serial HD
+ BOX Serial 4K
+ BOX Serial Premiere 4K
+ BOX Sitcom HD
+ BOX Sport 1 Live HD
+ BOX Sport 2 Live HD
+ BOX Sport 3 Live HD
+ BOX Sport 4 Live HD
+ BOX Sport 5 Live HD
+ BOX Sport 6 Live HD
+ BOX Sport 7 Live HD
+ BOX Sport 8 Live HD
+ BOX Sport 9 Live HD
+ BOX Sport 10 Live 4K
+ BOX Sport 11 Live 4K
+ BOX SportCast HD
+ BOX SportCast Live 1 HD
+ BOX SportCast Live 2 HD
+ BOX SportCast Live 3 HD
+ BOX SportCast Live 4 HD
+ BOX SportCast Live 5 HD
+ BOX SportCast Live 6 HD
+ BOX SportCast Live 7 HD
+ BOX SportCast Live 8 HD
+ BOX SportCast Live 9 HD
+ BOX Spy HD
+ BOX SR Sport 2 Live 4K HDR
+ BOX SR Sport 3 Live 4K HDR
+ BOX SR Sport 4 Live 4K HDR
+ BOX SR Sport 4K HDR
+ BOX SR Sport 1 Live 4K HDR
+ BOX СССР 4K
+ BOX Stories HD
+ BOX Travel HD
+ BOX Travel Premiere HD
+ BOX UltraStars 4K
+ BOX Western HD
+ BOX Zombie HD
+ Brazzers TV
+ Brazzers TV Россия
+ Брянск 24
+ Брянская Губерния
+ Bridge TV Deluxe
+ Bridge TV
+ Bridge TV Classic
+ Bridge TV Hits
+ Bridge TV Этно
+ Bridge TV Фрэш
+ Bridge TV Rock
+ Bridge TV Русский хит
+ Bridge TV Шлягер
+ БСТ Братск
+ BT Sport 1 HD
+ BT Sport 2 HD
+ BT Sport 3 HD
+ BT Sport 4 HD
+ BT Sport 5 HD
+ BT Sport 6 HD
+ BT Sport 7 HD
+ BT Sport 8 HD
+ BT Sport 9 HD
+ BT Sports 10 HD
+ BT Sport 4K
+ БТВ
+ Буряад ТВ
+ C-Cartoon
+ C-Comedy
+ C-History
+ C-Holiday
+ C-Inquest
+ Citrus Live HD
+ C-Marvel
+ Canal 11 [PT]
+ Canal+ 1 HD
+ Canal+ 4K
+ Canal+ Dokument HD
+ Canal+ Domo HD
+ Canal+ Extra 1 [PL]
+ Canal+ Extra 2 [PL]
+ Canal+ Extra 3 [PL]
+ Canal+ Extra 4 [PL]
+ Canal+ Extra 5 [PL]
+ Canal+ Extra 6 [PL]
+ Canal+ Extra 7 [PL]
+ Canal+ 360 [PL]
+ Canal+ Film HD
+ Canal+ Foot [FR]
+ Canal+ Kuchnia HD
+ Canal+ Premier League [FR]
+ Canal+ Premium HD
+ Canal+ Seriale HD
+ Canal+ Sport 2 [CZ]
+ Canal+ Sport 360 [FR]
+ Canal+ Sport 1 [PL]
+ Canal+ Sport 2 [PL]
+ Canal+ Sport 3 [PL]
+ Canal+ Sport 4 [PL]
+ Canal+ Sport 5 [PL]
+ Canal+ Sport [CZ]
+ Canal+ Sport [FR]
+ Candy
+ CandyMan
+ Cartoon Classics
+ Cartoons 90
+ Cartoons Big
+ Cartoons Short
+ CCTV4
+ CCTV-Русский
+ ЦТ
+ Channel 11 IL
+ Channel 12 IL
+ Channel 13 IL
+ Чаваш ЕН
+ Че
+ Че +2
+ Че +4
+ Че +7
+ Чемодан
+ CI Polsat
+ Cine+ Legend HD
+ Cine+ Mix
+ Cinema Cosmos TV
+ Cinema 1 MD
+ CineMan
+ CineMan Action
+ CineMan Air Crash
+ CineMan Комедия
+ CineMan Фитнес
+ CineMan Криминальные Сериалы
+ CineMan Катастрофы
+ CineMan Kids 4K
+ CineMan Комедийные сериалы
+ CineMan Лесник
+ CineMan Marvel
+ CineMan Melodrama
+ CineMan MiniSeries
+ CineMan Ментовские Войны
+ CineMan OLD 4K
+ CineMan ПёС + Лихач
+ CineMan Premium
+ CineMan Relax 4K
+ CineMan РуКино
+ CineMan Симпсоны
+ CineMan Скорая помощь
+ CineMan CCCP 4K
+ CineMan CCCP FHD
+ CineMan Сваты
+ CineMan Thriller
+ CineMan Top
+ CineMan Ужасы
+ CineMan VHS
+ CineMan Военные Сериалы
+ Cinemax 2
+ City TV [BG]
+ СК1
+ Clarity4K Anime
+ Clarity4K Asia
+ Clarity4K Авто Блог
+ Clarity4K Боевик
+ Clarity4K Боевик VHS
+ Clarity4K HDR Cinema MIX 1
+ Clarity4K HDR Cinema MIX 2
+ Clarity4K HDR Cinema MIX 3
+ Clarity4K HDR Cinema MIX 4
+ Clarity4K HDR Cinema MIX 5
+ Clarity4K HDR Cinema MIX 6
+ Clarity4K HDR Cinema MIX 7
+ Clarity4K HDR Cinema MIX 8
+ Clarity4K HDR Cinema MIX 9
+ Clarity4K HDR Cinema MIX 10
+ Clarity4K Комедия VHS
+ Clarity4K Драмы
+ Clarity4K Единоборства
+ Clarity4K Фантастика
+ Clarity4K Фантастика (siries)
+ Clarity4K Фэнтези
+ Clarity4K Galaxy Films
+ Clarity4K Gamefilm
+ Clarity4K HBO series
+ Clarity4K Ужасы VHS
+ Clarity4K Kинодети CССР
+ Clarity4K КиноФраншизы
+ Clarity4K КиноНовинки
+ Clarity4K КиноШарм
+ Clarity4K Комедия
+ Clarity4K Комедия СССР 1
+ Clarity4K Комедия СССР 2
+ Clarity4K Космомир
+ Clarity4K Космомир 2
+ Clarity4K Marvel
+ Clarity4K Молодежные комедии
+ Clarity4K Мультимир
+ Clarity4K Мультляндия
+ Clarity4K Наше кино
+ Clarity4K Netflix
+ Clarity4K Приключения
+ Clarity4K Travel Blog
+ Clarity4К Города
+ Clarity4K Ретро-Сказка 1
+ Clarity4K Ретро-Сказка 2
+ Clarity4K Русские сериалы
+ Clarity4K КиноСССР
+ Clarity4K Семейный
+ Clarity4K Сумеречный Эфир
+ Clarity4K Театр
+ Clarity4K Триллер
+ Clarity4K UFO
+ Clarity4K Вселенная
+ Clarity4K Ужасы
+ Clarity4K Ужасы VHS (siries)
+ Clarity4K Walt Disney
+ Clarity4K Классика кино
+ Clarity4K Запал
+ Clarity4K Звериный мир
+ Clubland UK
+ C More Mix HD
+ CNBC
+ GNC Европа
+ GNC Сибирь
+ CNN TÜRK HD
+ Comedy Stage
+ Comedy Hub
+ Courtside 1891
+ Crime Golden
+ Crime Today
+ ČT4 Sport
+ Curiosity Stream
+ D1
+ Da Vinci Learning Europe
+ Дайвинг.TV
+ DAZN 1 [ES]
+ DAZN 2 [ES]
+ DAZN F1 [ES]
+ DAZN 1 HD
+ DAZN 2 HD
+ Deejay TV [IT]
+ Delfi.TV
+ Deluxe Music [DE]
+ DetectiveJam
+ Детское кино (TvikselTV)
+ Детское кино International
+ Детское кино
+ Deutsche Welle Europe
+ Deutsche Welle Russia
+ Девятка ТВ
+ Девон-Инфо
+ Digi 4K [RO]
+ Digital Desire HD
+ DIGI World RO
+ Дикий HD
+ Discovery Channel [PL]
+ Discovery Historia [PL]
+ Discovery Life [PL]
+ Discovery Science [PL]
+ Disney
+ Disney Channel [PL]
+ Disney Junior [PL]
+ Disney XD [PL]
+ DiviSport
+ DMAX HD TR
+ ДнiпроTV
+ DocuBox HD
+ Домашний +2
+ Домашний +4
+ Домашний +7
+ Дом кино International
+ Домашний Очаг [KZ]
+ Домодедово
+ Dorcel
+ Достық [KZ]
+ Доверие
+ Dream Türk [TR]
+ DSTV [BG]
+ DTX [PL]
+ ДумаТВ
+ Duo 5 LV
+ Duo 7 [EE]
+ Duo 7 [LV]
+ Duo One [EE]
+ Душевное SD
+ Душевное HD
+ Дзержинск ТВ
+ E! Entertainment [PL]
+ Телеканал Е HD
+ EarthTV The World Live
+ Эх!
+ Эхо TV
+ Эхо ТВ 24
+ Еда Премиум Int. HD
+ Edge Sport HD DE
+ Эфир
+ ЕГЭ
+ Эко-ТВ
+ DAZN 1 PT
+ DAZN 2 PT
+ DAZN 3 PT
+ DAZN 4 PT
+ DAZN 5 PT
+ DAZN 6 PT
+ Eleven Sports 1 [PL]
+ Eleven Sports 2 [PL]
+ Eleven Sports 3 [PL]
+ Eleven Sports 4 [PL]
+ Енисей регион
+ Enter-фильм
+ Epic
+ eQtv
+ Эра
+ Еркир Медия (Армения)
+ EroLuxe 4k
+ EroLuxe 4k60fps
+ EroLuxe 60fps
+ EroLuxe Anal
+ EroLuxe Asian
+ EroLuxe Babysitter
+ EroLuxe BBW
+ EroLuxe BDSM
+ EroLuxe BigCock
+ EroLuxe Blonde
+ EroLuxe Blowjob
+ EroLuxe Brunette
+ EroLuxe Cheerleader
+ EroLuxe Cinema
+ EroLuxe Cosplay
+ EroLuxe Creampie
+ EroLuxe Cuckold
+ EroLuxe Ebony
+ EroLuxe FakeTaxi
+ EroLuxe Fisting
+ EroLuxe FootFetish
+ EroLuxe Gangbang
+ EroLuxe Gays
+ EroLuxe Gloryhole
+ EroLuxe Henati
+ EroLuxe Japanese
+ EroLuxe Lesbians
+ EroLuxe Massage
+ EroLuxe MILF
+ EroLuxe Orgy
+ EroLuxe Parody
+ EroLuxe POV
+ EroLuxe Pregnant
+ EroLuxe PublicAgent
+ EroLuxe RedHeads
+ EroLuxe Russian
+ EroLuxe Schoolgirl
+ EroLuxe Shemale
+ EroLuxe Solo
+ EroLuxe Stepfamily
+ Erox (Украина)
+ Eroxxx HD
+ ESPN 1 [NL]
+ ESPN 2 [NL]
+ ESPN 3 [NL]
+ ESPN3 [US]
+ ESPN 4 [NL]
+ ESPN News [US]
+ ESPN U [US]
+ Ethno World
+ Етно канал HD
+ ETV2 Эстония
+ ETV Эстония
+ ETV+ Эстония
+ EU.Music
+ EuroNews
+ Euronews (английский)
+ Европа Плюс ТВ
+ Eurosport 1 [PL]
+ Eurosport 2 [PL]
+ Евпатория 24
+ EWTN Украина
+ Экспресс
+ Extasy 4K
+ Extreme Channel [PL]
+ Extreme sports
+ Extreme Sports [RU]
+ Exxxotica HD
+ FamilyJam
+ FAN HD
+ Fashion One 4K
+ Fashion TV Europe
+ FashionBox HD
+ Fast&FunBox HD
+ FEN TV [BG]
+ FEN TV Folk [BG]
+ Феникс+ Кино
+ Festival 4K
+ Fight Network [US]
+ FightBox HD
+ FightBox [PL]
+ FightKlub [PL]
+ FightTVPlus
+ FilmBox Action [PL]
+ FilmBox ArtHouse
+ FilmBox Arthouse [PL]
+ FilmBox Extra [PL]
+ FilmBox Family [PL]
+ FilmBox Premium [PL]
+ FilmBox Russia
+ Film.Ua Drama
+ FilmZone [LT]
+ FilmZone [LV]
+ FilmZone+ [EE]
+ FilmZone+ [LT]
+ FilmZone+ [LV]
+ FiredUp Network
+ Food Network Европа
+ Food Network [PL]
+ Foodman.club
+ Мяч
+ NOW TR
+ Fox Soccer Plus [US]
+ FOX Sports HD [AR]
+ Fox Sports [MX]
+ FOX Sports 2 HD [AR]
+ Fox Sports 2 [MX]
+ FOX Sports 3 HD [AR]
+ Fox Sports 3 [MX]
+ France 24 Arabian
+ France 24 English
+ France 24 Francais
+ FrenchLover
+ Fresh Adventure
+ Fresh Cinema
+ Fresh Comedy
+ Fresh Family
+ Fresh Fantastic
+ Fresh Horror
+ Fresh Kids
+ Fresh Premiere
+ Fresh Rating
+ Fresh Romantic
+ Fresh Russian
+ Fresh Series
+ Fresh Soviet
+ Fresh Thriller
+ Fresh VHS
+ Фронт
+ Fashion TV 4K
+ FTV Telekanali [UZ]
+ Fubo Sports Network [US]
+ Fuel TV HD
+ FunBox UHD
+ Futbol TV Telekanali [UZ]
+ FX Comedy [PL]
+ FX [PL]
+ FX Sports 1 [US]
+ FX Sports 2 [US]
+ FX HD TR
+ Gags Network
+ Galaxy-TV
+ ГИС Самара
+ Глазами туриста 4K
+ GLN 24 (Геленджик)
+ Go3 Sport 4
+ Gold Line Brief
+ Gold Line Chef
+ Gold Line Детектив
+ Gold Line Evidence
+ Gold Line Exist
+ Gold Line Girlfight
+ Gold Line Hostage
+ Gold Line Island
+ Gold Line Motivation
+ Gold Line Naked&Funny
+ Gold Line Невский
+ Gold Line Psycho
+ Gold Line Series
+ Gold Line Survival
+ Golf+ [FR]
+ Город
+ Город 24
+ Городской телеканал Ярославль
+ Госфильмофонд. Машина времени
+ Гродно Плюс
+ Губерния Самара
+ Hajduk TV [HR]
+ Халык Арна
+ HGTV [PL]
+ HISTORY [PL]
+ Viasat History Baltic
+ Hollywood HD
+ Horror TV
+ Ictimai
+ ICTV Серіали
+ ICTV
+ ID Xtra EU
+ Idman
+ Игра
+ Iльдана
+ Иллюзион +
+ Импульс Севера
+ Индийское кино International
+ Инфо 24 (Шадринск)
+ Информационный Канал Севастополя
+ InRating
+ Insight TV HD
+ Инсит-ТВ
+ Insomnia HD
+ Интекс Барановичи
+ Inter TV
+ Iнтер+
+ Iнтер
+ InUltra [PL]
+ Ирбис
+ Исландия
+ iTV [LV]
+ ITV [UA]
+ Ивановское общественное телевидение
+ Ижевск
+ JimJam Polsat
+ JOJ Šport 2 [CZ]
+ JOJ Sport [CZ]
+ Jukebox [DE]
+ juQ Comedy
+ juQ Ужасы
+ juQ-World
+ JurnalTV
+ К1
+ К2
+ К16
+ Кабардино-Балкария
+ Kabel 1
+ Kabel 1 Classics
+ Kabel 1 Doku
+ Kanal 2 (Эстония)
+ Kanal 7 HD TR
+ Duo 4 EE
+ Канал 12 Череповец
+ Duo 5 EE
+ Kanal D HD
+ Караван ТВ
+ Карибу
+ Карусель (+2)
+ Карусель (+3)
+ Карусель (+4)
+ Карусель (+7)
+ Карусель (+8)
+ Каскад-24
+ Kazakh TV
+ Казахстан
+ KAZsport
+ KBC+100500
+ KBC-Animals
+ KBC-Aниме
+ KBC-Comics
+ KBC-Драмаtic
+ KBC-Elite Comedys
+ KBC-Family Animation
+ KBC-Fantastic
+ KBC-Goblin
+ KBC-History
+ KBC-Кошмарное
+ KBC-Союзмультzal
+ KBC-MusKino
+ KBC-Наш Rock
+ KBC-Newfilm
+ KBC-Гай Ritchie And Tarantino
+ KBC-Russian Комедия
+ KBC-Сказочный Remake
+ KBC-СпортМикс
+ KBC-Шпионское
+ KBC-Страна СССР
+ KBC-Ultra
+ KBC-Видак
+ KBC-ВОВ
+ KBC-WAR
+ KBC-Вестерн
+ Kernel TV Аладдин
+ Kernel TV Алиса
+ Kernel TV Аниме
+ Kernel TV Барбоскины
+ Kernel TV Бен 10
+ Kernel TV Буба
+ Kernel TV Бумажный дом
+ Kernel TV Царевны
+ Kernel TV Черепашки ниндзя
+ Kernel TV Чёрный плащ
+ Kernel TV Чип и Дейл
+ Kernel TV Доктор
+ Kernel TV Драконы и всадники Олуха
+ Kernel TV Фиксики
+ Kernel TV Финис и Ферб
+ Kernel TV Футурама
+ Kernel TV Герой
+ Kernel TV Подружки
+ Kernel TV Гравити Фолз
+ Kernel TV Губка Боб Квадратные Штаны
+ Kernel TV Счастливого нового года
+ Kernel TV Интерны
+ Kernel TV Команда Турбо
+ Kernel TV Комедия
+ Kernel TV Космос
+ Kernel TV Леди Баг и Супер Кот
+ Kernel TV Лего
+ Kernel TV Лило и Стич
+ Kernel TV Люк путешественник во времени
+ Kernel TV Лунтик
+ Kernel TV Магия
+ Kernel TV Мой маленький Пони
+ Kernel TV Малыш
+ Kernel TV Марвел vs DC
+ Kernel TV Мервел сериалы
+ Kernel TV Маша и Медведь
+ Kernel TV Ми-ми-мишки
+ Kernel TV МиниФорс
+ Kernel TV Новинки
+ Kernel TV Щенячий патруль
+ Kernel TV Пушистики
+ Kernel TV Русалочка
+ Kernel TV Шкодники
+ Kernel TV Смешарики
+ Kernel TV Сонник Бум
+ Kernel TV Человек-паук
+ Kernel TV Супер крылья
+ Kernel TV Сваты
+ Kernel TV Тимон и Пумба
+ Kernel TV Том и Джерри
+ Kernel TV Три кота
+ Kernel TV Утиные истории
+ Kernel TV Винни и его друзья
+ Kernel TV Время
+ Kernel TV Звёздные войны
+ Хит HD
+ Кино 1
+ Кино 1 International
+ Кино 2
+ Kino 7 [LV]
+ Кино без границ
+ Кино и Жизнь
+ Кино Стрим Live
+ КиноТВ
+ Kino TV HD
+ КиноТВ (+4)
+ КиноТВ (+7)
+ КиноБоевик KZ
+ KinoKazka
+ Кинокомедия International
+ КиноКульт
+ Кинолента 24
+ Киномикс International
+ Киномульт
+ Кинопоказ SD
+ Кинопоказ HD
+ Kino Polska HD
+ Kino Polska Muzyka HD
+ Кинопремьера International
+ Киносемья International
+ Киносерия International
+ Киносвидание International
+ Kinosweet
+ Киноужас International
+ Kinowelt
+ Кинохит International
+ Kiss TV RO
+ Köktem
+ Колыма-Плюс
+ Комедийное SD
+ Комедийное HD
+ Компас ТВ
+ Конгресс ТВ
+ Конкурент.Україна
+ Королев ТВ
+ Котлас ТВ
+ Краснодар
+ Криминальное HD
+ КТК
+ КТВ-Луч (Сызрань)
+ Россия К
+ Россия К +2
+ Россия К +4
+ Россия К +7
+ Суспільне Культура
+ Кунел ТВ Татарстан
+ Курай
+ Кузбасс Первый
+ КХЛ ТВ
+ КХЛ HD
+ Київ FM
+ Музыка Live
+ Ladies Story HD
+ LaLiga TV Hypermotion [ES]
+ Ланет Relax
+ Лапки Live
+ Лавстори
+ Лавстори HD
+ Легенда
+ Лента
+ Liberty Аниме
+ Liberty Аванпост
+ Liberty Автогир
+ Liberty Азия 4K HDR
+ Liberty BBC
+ Liberty Бебимульт
+ Liberty Боевики
+ Liberty Боевики 4K HDR
+ Liberty DC
+ Liberty Disney
+ Liberty Документалка
+ Liberty Драма 4K HDR
+ Liberty Dreamworks
+ Liberty Эротика
+ Liberty Fan
+ Liberty Фан 4K HDR
+ Liberty Индия
+ Liberty Кино ENG
+ Liberty Кино Микс
+ Liberty Кино UKR
+ Liberty Кино UKR 4K
+ Liberty Кинохит 4K HDR
+ Liberty Комедии
+ Liberty Комедии 4K HDR
+ Liberty Короткометражный
+ Liberty Криминал
+ Liberty Крош
+ Liberty Куб
+ Liberty Легенда
+ Liberty Marvel
+ Liberty Медивал 4K
+ Liberty Мелодрамы
+ Liberty МиксMusic
+ Liberty Мим
+ Liberty Мульт
+ Liberty Мульт ENG
+ Liberty Мультверсия FHD
+ Liberty Мульт UKR
+ Liberty Мульт UKR 4K
+ Liberty Мюзикл
+ Liberty Наука
+ Liberty Netflix
+ Liberty Оскар 4K HDR
+ Liberty Pixar
+ Liberty Планета360
+ Liberty Планктон
+ Liberty Приключения 4K HDR
+ Liberty РусФильм
+ Liberty Семейный
+ Liberty Сериал
+ Liberty Сериалы
+ Liberty Шоу
+ Liberty Симпсоны
+ Liberty Скандинавия 4K HDR
+ Liberty Сказки
+ Liberty South Park
+ Liberty Союз
+ Liberty Сваты
+ Liberty Триллеры
+ Liberty ТуркФильм
+ Liberty Ужасы
+ Liberty Ужасы 4K HDR
+ Liberty XX Век
+ Liberty Занавес
+ Лида
+ Lietuvos ryto televizija
+ Липецк 24
+ Liuks!
+ Лен ТВ 24
+ Love Nature 4K
+ LRT Kultūra
+ Луч
+ Луч (ЯНАО)
+ Luxe HD
+ Luxury HD
+ М1
+ М2
+ M4 Sport [HU]
+ M6 Music [FR]
+ M+ Deportes 2 [ES]
+ M+ Deportes 3 [ES]
+ M+ Deportes 4 [ES]
+ M+ Deportes 5 [ES]
+ M+ Deportes 6 [ES]
+ M+ Deportes 7 [ES]
+ M+ Deportes 8 [ES]
+ M+ Deportes [ES]
+ M+ Golf [ES]
+ M+ LALIGA [ES]
+ M+ Liga de Campeones [ES]
+ M+ Vamos [ES]
+ М-студіо
+ Мадаинят тарах Тыл (Киргизия)
+ Магия кухни
+ Magic Action
+ Magic Adventure
+ Magic Comedy
+ Magic Disney
+ Magic Family
+ Magic Galaxy
+ Magic Horror
+ Magic Karate
+ Magic Love
+ Magic Premiere
+ Magic Russian
+ Magic Thriller
+ Magic TV [BG]
+ Magic TV RO
+ Magic VHS
+ Maincast
+ Мамонт ТВ
+ MU TV
+ Март ТВ
+ Масон ТВ
+ Match4 [HU]
+ Max Sport 1 [HR]
+ Max Sport 2 [HR]
+ Мегаполис
+ Megogo Футбол 1
+ Megogo Футбол 2
+ Megogo Футбол 3
+ Megogo Футбол 4
+ Megogo Футбол 5
+ Megogo Гонг
+ Megogo Live
+ Megogo Спорт
+ Melody [FR]
+ МЭТР
+ Metro TV [PL]
+ Миг ТВ Ноябрьск
+ MiniJam
+ Minika Çocuk [TR]
+ MinikaGO [TR]
+ MM 007 HD
+ MM Агата Кристи HD
+ MS Animated HD
+ MM Боевик HD
+ MM Боевик Classic HD
+ MM Celebrity HD
+ MM Classic HD
+ MM Комедия HD
+ MM Комедия Classic HD
+ MM Драма HD
+ MM Experiment HD
+ MM Семейный 1 HD
+ MM Семейный 2 HD
+ MM Фантастика HD
+ MM Flip UHD
+ MM Фобия HD
+ MM Гриффины HD
+ MM Грайндхаус HD
+ MM Honey HD
+ MM История HD
+ MM Катастрофа HD
+ MM Киберпанк HD
+ MM Кинофестиваль HD
+ MM Криминал HD
+ MM Крутые 90-е HD
+ MM Кунг-Фу HD
+ MM Квартирник HD
+ MM Lesson HD
+ MM Live Planet HD
+ MM Love HD
+ MM Макромир HD
+ MM Мегамир HD
+ MM Микромир HD
+ MM Мифология HD
+ MS Crime HD
+ MS Magic 4K
+ MS Prisons HD
+ MS Toons HD
+ MS Young Blood HD
+ MM USSR Мультфильм HD
+ MM NewFilm 1 HD
+ MM NewFilm 2 HD
+ MM NewFilm 3 HD
+ MM NewFilm RU HD
+ MM Нуар HD
+ MM OldSchool HD
+ MM Открытия HD
+ MM Погружение HD
+ MM Полицейский С Рублёвки HD
+ MM Приключения HD
+ MM Роскино HD
+ MM Синематограф HD
+ MM Ситком HD
+ MM Ситком 2.0 HD
+ MM Скорость HD
+ MM Smile HD
+ MM Спорт HD
+ MM Стивен Кинг HD
+ MM Супергерои HD
+ MM Сваты HD
+ MM Tom And Jerry HD
+ MM Translation HD
+ MM Триллер HD
+ MM UFO HD
+ MM Ужасы HD
+ MM Ужасы Classic HD
+ MM Ужастик HD
+ MM USSR 1941-1945 HD
+ MM USSR Детектив HD
+ MM USSR Драма HD
+ MM USSR Комедия HD
+ MM USSR Приключения HD
+ MM USSR Сказки HD
+ MM Воронины HD
+ MM Walt Disney HD
+ MM Вестерн HD
+ MM Затмение HD
+ MiniMini+ HD
+ Яснае ТВ
+ Мир KZ
+ Мир (+2)
+ Мир (+4)
+ Мир (+7)
+ Кто Куда
+ Мир вокруг
+ Мировое Кино KZ
+ Mixtape [PL]
+ МКТВ Молодечно
+ MÖDO Armageddon
+ MÖDO Beer Land
+ MÖDO Candy Land
+ MÖDO Cocaine
+ MÖDO Documental
+ MÖDO Fantasies
+ MÖDO Fire Action
+ MÖDO Фильмы СССР
+ MÖDO Green World
+ MÖDO Камин
+ MÖDO Love Stories
+ MÖDO Mafia Island
+ MÖDO Man Like
+ MÖDO Мультфильмы СССР
+ MÖDO Mixed 4K
+ MÖDO Music 2021
+ MÖDO Music 2022
+ MÖDO Music 2023
+ MÖDO Music RU-UA 2023
+ MÖDO Music Club
+ MÖDO Music 2024
+ MÖDO Music RU-UA 2024
+ MÖDO Music Movies
+ MÖDO New Blood
+ MÖDO Night Scary
+ MÖDO Novelty HDR
+ MÖDO Rus Movies
+ MÖDO Snoop Gun
+ MÖDO Spaceship
+ MÖDO Sunshine
+ MÖDO Super Hero
+ MÖDO Tarantino-G.Ritchie
+ MÖDO Toon 4K
+ MÖDO Top Movies
+ MÖDO Top Series
+ MÖDO VHS Mix 4K
+ MÖDO Video Show
+ MÖDO Village
+ MÖDO Wild West
+ MÖDO Zombie land
+ Mooz Dance [RO]
+ Mooz Hits [RO]
+ Mooz [RO]
+ More Than Sports TV [DE]
+ Мосфильм. Золотая коллекция
+ Мосфильм. Золотая коллекция (+2)
+ Мосфильм. Золотая коллекция (+4)
+ Москва-24
+ MostVideo
+ Motor Trend [IT]
+ Motorvision+ [DE]
+ Motowizja [PL]
+ Movify History
+ Movify Series
+ MSG [US]
+ МТК
+ MTV 90s [UK]
+ MTV 2 [US]
+ MTV 80's [UK]
+ MTV Classic [US]
+ MTV Dance
+ MTV Europe
+ MTV Hits [FR]
+ MTV Max [FI]
+ MTV Music [UK]
+ MTV Rocks
+ MTV Urheilu 1 [FI]
+ MTV Urheilu 2 [FI]
+ MTV Urheilu 3 [FI]
+ MTV [US]
+ МТВ Волгоград
+ Мультимания LV
+ МультСезон
+ Муравленко 24
+ Муром ТВ
+ Museum 4K
+ Museum HD
+ Music Channel RO
+ MusicBox
+ Music Box [PL]
+ Musicmix
+ Муви ТВ
+ Мужское кино International
+ МузСоюз
+ Муз-ТВ (+2)
+ Муз-ТВ (+4)
+ Муз-ТВ (+7)
+ Музыка Мода ТВ
+ Мы и город
+ Ми - Україна
+ Ми - Україна+
+ MyHits [EE]
+ МЫ
+ MyZen 4К
+ myZen.tv
+ n-tv HD
+ Национальный Жилищный Канал
+ Nano HD
+ Народ Всё Видит
+ NASA 4K
+ #НАШ канал
+ Наш Кинопоказ HD
+ Наша Сибирь 4K
+ Любимое SD
+ Любимое HD
+ Наше любимое кино Украина
+ #НАШЕ music
+ Наше Мужское HD
+ Наше Наследие
+ Наше новое кино International
+ Наше HD
+ Наше SD
+ Наши Города (Когалым)
+ Настоящее время HD
+ Nat Geo People [PL]
+ National Geographic Wild [PL]
+ Натали
+ National Geographic Baltic
+ National Geographic [PL]
+ National TV
+ Научпоп
+ Наука 2.0
+ NavigatorTV
+ Navo Telekanali [UZ]
+ NBA TV
+ NEXT-TV
+ NFL Network
+ Nick Jr
+ Nick Jr. Baltic
+ Nickelodeon Baltic
+ NickMusic [US]
+ Ника FM
+ Ника ТВ
+ NO EPG (заглушка)
+ NO EPG Cinema (заглушка)
+ NO EPG Mult (заглушка)
+ NO EPG Music (заглушка)
+ NO EPG News (заглушка)
+ NO EPG Radio (заглушка)
+ NO EPG Sport (заглушка)
+ NO EPG XXX 18+ (заглушка)
+ Nor Hayastan (Армения)
+ Noroc TV Moldova
+ Nova Sport 5 [CZ]
+ Nova Sport 6 [CZ]
+ Nova Sport [BG]
+ Novela TV [PL]
+ Novelas+ [PL]
+ Novella TV
+ Новгородское Областное телевидение
+ Новочеркасск ТВ
+ Новое телевидение
+ Новое время
+ Новороссийск ТВ
+ Новошахтинск ТВ
+ Новый канал
+ Новый век (Тамбов)
+ Новый христианский
+ Now 70's
+ Now 80's
+ Now 90s & 00s [UK]
+ NOW Series
+ Новый игровой канал
+ NR1 Türk [TR]
+ NRJ Hits [FR]
+ НТК (Нягань)
+ НТК (Зеленогорск)
+ НТРК Ингушетия
+ НТС-Ирбит
+ НТС (Иркутск)
+ НТС (Севастополь)
+ NTV HD TR
+ НТВ-Мир
+ НТВ (+1)
+ НТВ (+2)
+ НТВ (+3)
+ НТВ (+4)
+ НТВ (+7)
+ Nu.ART TV
+ Nuta TV [PL]
+ Обком
+ Область 45
+ Окко.Футбол
+ Okko.Герои
+ Окко.Спорт
+ Окко.Прайм Спорт
+ Okko TV
+ Olsib Action comdey FHD
+ Olsib Australia cinema FHD
+ Olsib Black Sails FHD
+ Olsib Беспринципные FHD
+ Olsib Black Comedy
+ Olsib Canada cinema FHD
+ Olsib Catastrophe FHD
+ Olsib China cinema FHD
+ Olsib Чужой район FHD
+ Olsib Comedy FHD
+ Olsib Crime FHD
+ Olsib Czech Republic cinema FHD
+ Olsib Disco-80 FHD
+ Olsib Documentary FHD
+ Olsib Два холма FHD
+ Olsib Fantasy FHD
+ Olsib French cinema FHD
+ Olsib Galicia FHD
+ Olsib GAlicia_2 FHD
+ Olsib Germany cinema FHD
+ Olsib India cinema FHD
+ Olsib Italian cinema FHD
+ Olsib Japan cinema FHD
+ Olsib Юмор шоу FHD
+ Olsib Kids FHD
+ Olsib Киносказки FHD
+ Olsib Киноуроки FHD
+ Olsib Knives FHD
+ Olsib Конфетка FHD
+ Olsib Криминальная Одесса FHD
+ Olsib Легавый FHD
+ Olsib Литейный, 4 FHD
+ Olsib Love story FHD
+ Olsib Marvel FHD
+ Olsib Меч FHD
+ Olsib Mexico cinema FHD
+ Olsib Мир Человека FHD
+ Olsib Multfilm FHD
+ Olsib Наш флаг означает Смерть FHD
+ Olsib Netflix Orig FHD
+ Olsib The newest FHD
+ Olsib New Year FHD
+ Olsib The old best HD
+ Olsib Остров FHD
+ Olsib Первый отдел FHD
+ Olsib Pirates of the Caribbean FHD
+ Olsib Poland cinema FHD
+ Olsib Полярный FHD
+ Olsib Память Победы! FHD
+ Olsib ППС FHD
+ Olsib Pro100 Kitchen FHD
+ Olsib Radio FHD
+ Olsib Ремейк FHD
+ Olsib Ancient Rome FHD
+ Olsib RU.Music FHD
+ Olsib RuAction FHD
+ Olsib Science-fiction FHD
+ Olsib Сериалы - Жарков FHD
+ Olsib Шеф FHD
+ Olsib Show FHD
+ Olsib Spain cinema FHD
+ Olsib Star Wars FHD
+ Olsib STB FHD
+ Olsib The Best FHD
+ Olsib Time Travel FHD
+ Olsib British cinema FHD
+ Olsib USSR 30 FHD
+ Olsib USSR 40 FHD
+ Olsib USSR 50 FHD
+ Olsib USSR 60 FHD
+ Olsib USSR 70 FHD
+ Olsib USSR 80 FHD
+ Olsib USSR 90 FHD
+ Olsib USSR Classic FHD
+ Olsib USSR serial FHD
+ Olsib Великолепная пятёрка FHD
+ Olsib VHS
+ Olsib Водный Мир FHD
+ Olsib Walt Disney FHD
+ Olsib War FHD
+ Olsib Живой мир FHD
+ Olsib Звездные врата FHD
+ Омск ТВ
+ ONE2
+ Первый музыкальный
+ Oneplay Sport 1 [CZ]
+ Oneplay Sport 2 [CZ]
+ Oneplay Sport 3 [CZ]
+ Oneplay Sport 4 [CZ]
+ ORF Sport +
+ ОРТ-Планета (Оренбург)
+ Остросюжетное SD
+ Остросюжетное HD
+ OstWest
+ OstWest24
+ ОТР
+ ОТР (+2)
+ ОТР (+4)
+ ОТР (+6)
+ ОТР (+8)
+ ОТВ Челябинск
+ ОТВ Екатеринбург
+ OTV [LV]
+ ОТВ Одинцово
+ ОТВ Приморье
+ Отырар TV
+ Охотник и рыболов HD
+ Охотник и Рыболов Международный
+ Панорама ТВ Тверь
+ Paradise HD
+ Paradox HD
+ Comedy Central
+ Paramount Network
+ PassionXXX HD
+ Патриот
+ Penthouse Gold HD
+ Penthouse HD
+ Penthouse Passion Украина
+ Penthouse Reality TV
+ Перец Int
+ Перпетуум Мобиле
+ Первоуральск ТВ
+ Первый городской (Гомель)
+ Первый городской (Киров)
+ Первый городской (Кривой Рог)
+ Первый городской (Одесса)
+ Первый городской (Омск)
+ Первый канал СНГ
+ Первый канал Европа
+ Первый канал США
+ Первый Карагандинский
+ Первый канал -1
+ Первый мытищинский
+ Первый областной Орел
+ Первый канал +1
+ Первый канал +2
+ Первый канал +3
+ Первый канал +4
+ Первый канал +5
+ Первый канал +6
+ Первый канал +7
+ Первый канал +8
+ Первый канал +9
+ Первый Приднестровский
+ Первый Ростовский
+ Первый Севастопольский
+ Первый Ярославский
+ Пятница Int KZ
+ Пятница! (+2)
+ Пятница! (+3)
+ Пятница! (+4)
+ Пятница! (+7)
+ Пятый Int
+ Pink Erotic 1 [RS]
+ Pink Erotic 2 [RS]
+ Pink Erotic 3 [RS]
+ Pink Erotic 4 [RS]
+ Пинск ТВ
+ Пиксель
+ Plan B
+ Planeta Folk [BG]
+ Planeta HD [BG]
+ Planete+ HD [PL]
+ Playboy TV [UK]
+ Playboy TV UK (Украина)
+ Поединок
+ Поиск-ТВ
+ Полёт ТВ
+ Polsat Comedy C. E.
+ Polsat Music HD
+ Polsat Sport Premium 3
+ Polsat Sport Premium 4
+ Polsat Sport Premium 5
+ Polsat Sport Premium 6
+ Power Türk [TR]
+ Power TV [PL]
+ Премиальное SD
+ Премиальное HD
+ Premier Sport 1 [SK]
+ Premier Sport 2 [SK]
+ Premier Sport 3 [SK]
+ Premier Sports Asia
+ Premier Sports 1 [UK]
+ Premier Sports 2 [UK]
+ Premiere HD
+ Premier League TV HD
+ Premiere HD 1
+ Premiere HD 2
+ Premiere HD 3
+ Premiere HD 4
+ Premium HD
+ Премиум Кино KZ
+ Приключения HD
+ Прим 24
+ Prima Sport 1 HD
+ Prima Sport 2 HD
+ Prima Sport 3 HD
+ Prima Sport 4 HD
+ Prima Sport 5 HD
+ Prime Fight
+ Про100 ТВ
+ Pro Arena
+ Про Астрахань
+ Pro TV Moldova
+ Pro Всё
+ Про жизнь
+ Продвижение (+3)
+ Продвижение (+4)
+ Продвижение (+7)
+ ProSieben Fun HD
+ ProSieben Maxx HD
+ ПТРК Павлоград
+ Q Football
+ Киносериал HD [KZ]
+ Кинодрама HD [KZ]
+ Q Live 1
+ Q Live 2
+ Q Live 3
+ Q Live 4
+ Q League
+ QAZAQSTAN HD Int
+ Q Sport Киргизия
+ Q Arena
+ Quadro 4K
+ QVC Style [DE]
+ Рада
+ Radio Italia TV [IT]
+ Радио Мир
+ Радіо НВ
+ Телеканал Радио Страна ФМ
+ РАІ
+ RAZ 1
+ RAZ 2
+ Развлекательное ТВ [KZ]
+ РБК
+ Re:TV
+ Real Time [IT]
+ Reality Kings
+ Rebel [CZ]
+ Reble!
+ Регион 29
+ Регион 67
+ РенТВ International
+ Истоки
+ РенТВ Молдова
+ Рен ТВ (+2)
+ Рен ТВ (+4)
+ Рен ТВ (+7)
+ Репортер
+ Репортер 73
+ Retro Music
+ Revel TV
+ Резонанс
+ RFM TV [FR]
+ РГВК Дагестан
+ Рифей-ТВ
+ Riga TV24
+ Рика
+ РИМ
+ RING.BG
+ RMC Sport 1 [FR]
+ RMC Sport 2 [FR]
+ RMC Sport Access [FR]
+ Rock TV RO
+ Родное кино International
+ Romance
+ Романтичное SD
+ Романтичное HD
+ Россия 1
+ Россия 1 (-1)
+ Россия 1 (+1)
+ Россия 1 (+2)
+ Россия 1 (+3)
+ Россия 1 (+4)
+ Россия 1 (+5)
+ Россия 1 (+6)
+ Россия 1 (+7)
+ Россия 1 (+8)
+ Россия 1 (+9)
+ Россия 24
+ Розпакуй.TV
+ RT News
+ RT Д English
+ RT Д Русский
+ RTG International
+ RTL
+ RTL 2
+ RTL Nitro [DE]
+ RTLup [DE]
+ РТР-Планета Америка
+ РТР-Планета Армения
+ РТР-Планета Украина
+ РТС - Абакан
+ RTVI Retro
+ RTVI США
+ RTVS Sport [SK]
+ RU.TV Беларусь
+ РуКино HD
+ Russia Hualiang TV
+ Русская история
+ Русь Кострома
+ Русский корабль
+ Russias Future
+ Русская комедия
+ RUTUBE TV
+ Рыбалка
+ Рыбалка и охота
+ Рыбинск-40
+ С1 Сургут
+ S Sport 2 [TR]
+ S Sport [TR]
+ Saga TV
+ Sälem, älem! [KZ]
+ Самара 24
+ Самотлор (Нижневартовск)
+ Сампо ТВ
+ Саров 24
+ Sat.1 HD
+ Sat.1 Emotions HD
+ Sat.1 Gold HD DE
+ Саха
+ Щёлково
+ Schlager Deluxe [DE]
+ Sci Fi [PL]
+ Scream
+ Сделано в Кузбассе
+ Семейное Кино KZ
+ Семейный Теле Сигнал [KZ]
+ Senzi TV [SK]
+ Serial HD
+ Сериал
+ Setanta Sports 1 Georgia
+ Setanta Sports 1 KZ
+ Setanta Sports 1 Lietuva
+ Setanta Sports 2 Georgia
+ Setanta Sports 2 KZ
+ Setanta Sports 2 Lietuva
+ Setanta Sports 3 Georgia
+ Setanta Kyrgyzstan
+ Setanta Казахстан
+ Setanta Sport+ [KZ]
+ Setanta+ Украина
+ Setanta Sports Premium [UA]
+ Setanta Sports+
+ Setanta Украина
+ Сейм Курск
+ Шахты ТВ
+ Шансон-TB
+ Шант Kids HD
+ Шант Music HD
+ Шант Premium HD
+ Шант Serial HD
+ Шокирующее SD
+ Шокирующее HD
+ Show HD TR
+ Show KZ
+ Сибирь 24
+ Silk Way Cinema
+ Silk Way
+ Симферополь 24
+ Simpsons Channel
+ Sixx [DE]
+ СкиФ-Витебск
+ Sky Atlantic HD
+ Sky Caccia e Pesca
+ Sky Cinema Action HD
+ Sky Cinema Classics HD
+ Sky Cinema Family HD
+ Sky Cinema Highlights HD
+ Sky Cinema Premiere HD
+ Sky News [UK]
+ Sky Sport 24 [IT]
+ Sky Sport Arena [IT]
+ Sky Sport Austria HD
+ Sky Sport Bundesliga 1 HD
+ Sky Sport Bundesliga 2 HD
+ Sky Sport Bundesliga 3 HD
+ Sky Sport Bundesliga 4 HD
+ Sky Sport Bundesliga 5 HD
+ Sky Sport Bundesliga 6 HD
+ Sky Sport Bundesliga UHD [DE]
+ Sky Sport Bundesliga HD [DE]
+ Sky Sport Calcio [IT]
+ Sky Sport F1 [DE]
+ Sky Sport F1 [IT]
+ Sky Sport Golf [DE]
+ Sky Sport Golf [IT]
+ Sky Sport 1 [NZ]
+ Sky Sport 2 [NZ]
+ Sky Sport 3 [NZ]
+ Sky Sport 4 [NZ]
+ Sky Sport 5 [NZ]
+ Sky Sport 6 [NZ]
+ Sky Sport 7 [NZ]
+ Sky Sport Premier League [NZ]
+ Sky Sport 9 [NZ]
+ Sky Sport Legend [IT]
+ Sky Sport Max [IT]
+ Sky Sport Mix [DE]
+ Sky Sport Mix [IT]
+ Sky Sport MotoGP [IT]
+ Sky Sport NBA [IT]
+ Sky Sport News [DE]
+ Sky Sport Premier League [DE]
+ Sky Sport Select [NZ]
+ Sky Sport Tennis [DE]
+ Sky Sport Tennis [IT]
+ Sky Sport Top Event [DE]
+ Sky Sport UHD [DE]
+ Sky Sport Uno [IT]
+ Sky Sports 1 UHD [UK]
+ Sky Sports 2 UHD [UK]
+ Sky Sports Action / NFL [UK]
+ Sky Sports Premier League [UK]
+ Sky Sports + [UK]
+ Sky Sports Box Office [UK]
+ Sky Sports Cricket [UK]
+ Sky Sports Darts / F1 [UK]
+ Sky Sports F1 UHD [UK]
+ Sky Sports Football [UK]
+ Sky Sports Golf [UK]
+ Sky Sports LaLiga [MX]
+ Sky Sports Main Event [UK]
+ Sky Sports Mix [UK]
+ Sky Sports [MX]
+ Sky Sports News [UK]
+ Sky Sports Racing [UK]
+ Sky Sports Tennis [UK]
+ SkyCam +100500
+ SkyCam Action
+ SkyCam Catastrophe
+ SkyCam Goblin
+ SkyCam Horrors
+ SkyCam Relax
+ SkyCam Romantic
+ SkyCam RuKino
+ SkyCam Симпсоны
+ SkyCam Южный Парк
+ SkyCam Victory
+ SKY HIGH CLASSIC HD
+ SKY HIGH 2D CLASSIC HDR
+ SKY HIGH 3D CLASSIC HDR
+ SKY HIGH 911 S 4K HDR
+ SKY HIGH ADULT
+ SKY HIGH ANIME HD
+ SKY HIGH ASIAN HDR
+ SKY HIGH AUTUMN HDR
+ SKY HIGH BIO HDR
+ SKY HIGH BLOOD 4K HDR
+ SKY HIGH BLOODY HDR
+ SKY HIGH BRAIN
+ BUNNY HD
+ SKY HIGH CENTURY HDR
+ SKY HIGH CHBU
+ SKY HIGH CINEMA 4K HDR
+ SKY HIGH SMILE HDR
+ SKY HIGH COMICS 4K HDR
+ SKY HIGH CONCERT HD
+ SKY HIGH COSMOS HDR
+ SKY HIGH CRIME 4K HDR
+ SKY HIGH CRIME HDR
+ SKY HIGH CRIMES 4K HDR
+ SKY HIGH DANCE
+ SKY HIGH DARK S 4K HDR
+ SKY HIGH DC 4K HDR
+ SKY HIGH DCU S 4K HDR
+ SKY HIGH DEAD S 4K HDR
+ SKY HIGH DECTS 4K HDR
+ SKY HIGH DETECT HDR
+ SKY HIGH DLOVE 4K HDR
+ SKY HIGH DOC
+ SKY HIGH DOC UHD
+ SKY HIGH DRAMA 4K HDR
+ SKY HIGH EPOCH HD
+ SKY HIGH FAMILY 4K HDR
+ SKY HIGH FAMILY VHS HDR
+ SKY HIGH FIGHT+ HD
+ SKY HIGH FRESH HD
+ SKY HIGH FRESH HDR
+ SKY HIGH FUN S 4K HDR
+ SKY HIGH GALAXY HDR
+ SKY HIGH GOT S 4K HDR
+ SKY HIGH HEROES HD
+ SKY HIGH HISTORY 4K HDR
+ SKY HIGH HIST S 4K HDR
+ SKY HIGH HORROR 4K HDR
+ SKY HIGH HORROR VHS HDR
+ SKY HIGH JETIX HDR
+ SKY HIGH JETIX HD
+ SKY HIGH KID 0+ 4K HDR
+ SKY HIGH KID 6+ 4K HDR
+ SKY HIGH KID 12+ 4K HDR
+ SKY HIGH KID 16+ 4K HDR
+ SKY HIGH KID 18+ 4K HDR
+ SKY HIGH KIDS USSR
+ SKY HIGH LEGENDS HDR
+ SKY HIGH MAGIC S 4K HDR
+ SKY HIGH MAN HD
+ SKY HIGH MARVEL 4K HDR
+ SKY HIGH MCU S 4K HDR
+ SKY HIGH MIX 4K
+ SKY HIGH MYSTIC VHS HDR
+ SKY HIGH NATURE HD
+ SKY HIGH NATURE 4K
+ SKY HIGH NATURE 4K HDR
+ SKY HIGH NEW 4K HDR
+ SKY HIGH NOIR HD
+ SKY HIGH NON STOP HDR
+ SKY HIGH NSTOP 4K HDR
+ SKY HIGH ORIG
+ SKY HIGH POLIT S 4K HDR
+ SKY HIGH PUPPET HDR
+ SKY HIGH ROMAN VHS HDR
+ SKY HIGH RUSSIAN
+ SKY HIGH SADLY HDR
+ SKY HIGH SERIES HD
+ SKY HIGH SMASH 4K HDR
+ SKY HIGH SMASH VHS HDR
+ SKY HIGH SMILE 4K HDR
+ SKY HIGH SPACE 4K HDR
+ SKY HIGH SPIRIT HD
+ SKY HIGH SPNS 4K HDR
+ SKY HIGH SPRING HDR
+ SKY HIGH STANDUP
+ SKY HIGH STARWS 4K HDR
+ SKY HIGH SUNNY HDR
+ SKY HIGH THRILLER 4K HDR
+ SKY HIGH TOON 4K HDR
+ SKY HIGH UHD HDR
+ SKY HIGH VAMPIRE HDR
+ SKY HIGH VERSE S 4K HDR
+ SKY HIGH VHS DEJAVU HDR
+ SKY HIGH VHS FUTURE HDR
+ SKY HIGH VHS UHD
+ SKY HIGH WBROS HDR
+ SKY HIGH WESTERN HDR
+ SKY HIGH WEST S 4K HDR
+ SKY HIGH WINTER HDR
+ Šláger Muzika [CZ]
+ Šláger Original [CZ]
+ Sláger TV [HU]
+ Соль
+ Солнце (+2)
+ Солнце (+4)
+ Солнце (+7)
+ Соловьев.Live
+ Сонце
+ Song TV Armenia
+ Song TV Georgia
+ Song TV Russia
+ Duo 3 [EE]
+ Duo 3 Baltic
+ Sony Sports Ten 1 HD
+ Sony Sports Ten 2 HD
+ Sony Sports Ten 3 HD
+ Sony Sports Ten 4 HD
+ Sony Sports Ten 5 HD
+ Duo 6 Baltic
+ Duo 6 [EE]
+ Советская киноклассика
+ Советская киноклассика HD
+ Спас (+2)
+ Спас (+7)
+ Spiler 1 [HU]
+ Spiler 2 [HU]
+ Spor Smart 2 TR
+ Spor Smart TR
+ Sport1 HD
+ Sport1+ HD
+ Sport TV 1 Slovenia
+ Спорт 1 Украина
+ Sport TV 2 Slovenia
+ Спорт 2 Украина
+ Sport TV 3 Slovenia
+ Спорт 3 Украина
+ Спорт 4 Украина
+ Спорт 5
+ Sport 1 [CZ]
+ Sport 1 [HU]
+ Sport 2 [CZ]
+ Sport 2 [HU]
+ Sport Extra [RO]
+ Sport+ Qazaqstan
+ Sportdigital Fussball 2
+ ТВ Спорт
+ Sport Klub 1 [SI]
+ Sport Klub 2 [SI]
+ SportKlub
+ Спортмастер ТВ
+ Sportska Televizija [HR]
+ Sportsnet 360 [CA]
+ SNY: SportsNet New York [US]
+ Sportsnet One [CA]
+ Sportsnet World [CA]
+ Sports TV [TR]
+ Sport TV 1 [PT]
+ Sport TV 2 [PT]
+ Sport TV 3 [PT]
+ Sport TV 4 [PT]
+ Sport TV 5 [PT]
+ Sport TV 6 [PT]
+ Sport TV 7 [PT]
+ Sport TV+ [PT]
+ Star Cinema Россия
+ Star Cinema [EU]
+ Star Cinema UA
+ Star Family Россия
+ Star Family [EU]
+ Star Family UA
+ Star TV HD TR
+ Stars.TV
+ Stingray Classica [FR]
+ Stingray Djazz [FR]
+ СТК-Солигорск
+ СТРК HD
+ СТС International
+ СТС International (-7)
+ СТС Kids HD
+ СТС Love (+2)
+ СТС Love (+4)
+ СТС Love (+7)
+ СТС (+2)
+ СТС (+4)
+ СТС (+7)
+ СТВ 24
+ СТВ Беларусь
+ STV Pirmā!
+ Sumiko
+ Sundance TV [PL]
+ Super Baltic
+ Super One HD
+ Суббота! (+2)
+ Суббота! (+4)
+ Суббота! (+7)
+ Super Plus
+ Супермама
+ Super-Tennis
+ Suspense
+ Суспільне Спорт
+ Світ навиворіт+
+ Світ+
+ Svoboda
+ Своё ТВ Березники
+ Своё ТВ Ставрополь
+ Тагил-ТВ 24
+ Такт
+ Танцуй! HD
+ Тарарам!
+ Тараз 24
+ Татарстан-24
+ Таврия ТВ
+ ТБН Россия
+ ТДК 42
+ Teledeporte [ES]
+ Телеканал народной музыки
+ Телекон 24 (Нижний Тагил)
+ Телемикс
+ Телепутешествия HD
+ TeleToon+ HD
+ Temptation TV
+ Tennis Channel [US]
+ Тео ТВ
+ ТЕТ
+ Teve2 HD
+ The Country Network [US]
+ The Explorers
+ The Fishing and Hunting
+ The Voice BG
+ Thriller HD
+ Tiny4k UHD
+ Tivibu Spor [TR]
+ Tivibu Spor 1 [TR]
+ Tivibu Spor 4 [TR]
+ ТиВиСи HD
+ ТК Вариант
+ TLC Balkans
+ TLC [PL]
+ TLC TR
+ ТНТ4 (+2)
+ ТНТ4 (+4)
+ ТНТ4 (+6)
+ ТНТ4 (+7)
+ Exclusiv TV [MD]
+ ТНТ-International (Беларусь)
+ ТНТ-International (СНГ)
+ ТНТ-International (Европа)
+ ТНТ KZ
+ ТНТ-Music
+ ТНТ (+2)
+ ТНТ (+3)
+ ТНТ (+4)
+ ТНТ (+7)
+ TNT Sports Premium HD [AR]
+ ТНВ
+ Точка
+ Толк
+ Толпар-ТВ (Уфа)
+ Томское время
+ Тонус ТВ
+ Тооку
+ Той Думан
+ Trace Brasil
+ Trace Latina [FR]
+ Trash
+ Travel&Adventure
+ Travel Channel [PL]
+ Travel Guide-TV
+ Travel XP 4K
+ Travel XP HD
+ Третий Цифровой
+ ТРК Чернівці
+ ТКР Рязань
+ ТРК Юганск
+ TRT 4K [TR]
+ TRT 1 HD
+ TRT 2 HD
+ TRT 3 HD
+ TRT Çocuk [TR]
+ TRT Haber HD
+ TRT MÜZİK [TR]
+ TRT Spor Yıldız [TR]
+ TRT Türk [TR]
+ ТСН 24 (Тула)
+ ТСТ (Черемхово)
+ TTV [PL]
+ Туапсе 24
+ Туран ТВ
+ Турк Сааҭ
+ Тува 24
+ TV1 KG HD (Кыргызстан)
+ TV 2 Sport 1 [NO]
+ TV 2 Sport 2 [NO]
+ ТВ3 Беларусь
+ TV3 EE
+ TV3 LT
+ TV3 LV
+ TV3 Plus [LT]
+ ТВ3
+ ТВ3 (+2)
+ ТВ3 (+3)
+ ТВ3 (+4)
+ ТВ3 (+7)
+ TV4 (Латвия)
+ TV4 [PL]
+ TV4 Tennis [SE]
+ TV-4 (Тернопіль)
+ TV5 Monde Europe
+ TV6 EE
+ TV6 LT
+ TV6 LV
+ TV6 [PL]
+ ТВ-7 Абакан
+ TV8 [LT]
+ TV8 Moldova
+ TV8 HD TR
+ ТВ-21M
+ ТВ-21+
+ TV 8.5 [TR]
+ TV999 [BG]
+ TV1000 Global Kino
+ Go3 Films
+ TV BRICS
+ ТВ-ИН (Магнитогорск)
+ TV Puls 2
+ TV RUS
+ TV RUS+
+ ТВА
+ TVC 21
+ ТВ Центр +2
+ ТВ Центр +4
+ ТВ Центр +7
+ Тверской проспект
+ Твiй серiал
+ ТВК6 Красноярск
+ TVM3 [CH]
+ TVN 7 HD
+ TVN 24 BiS HD
+ TVN 24 HD
+ TVN Fabuła HD
+ TVN HD
+ TVN Style HD
+ TVN Turbo HD
+ Твоё ТВ - Юмор
+ Твой 2007
+ Твоє кіно. Action
+ Твоє кіно. Relax
+ Твоє кіно. Хіт
+ TVоя Тюмень
+ Твоё ТВ HD
+ Твоё ТВ Казахстан
+ TVP 1
+ TVP 2
+ TVP 3
+ TVP 3 Wrocław
+ TVR1 [RO]
+ TVR2 [RO]
+ TVR Sport [RO]
+ TVRi [RO]
+ ТВС - 9 канал
+ TVS [PL]
+ ТВС (Саранск)
+ ТВТУР
+ 4Y Baltic
+ TyC Sports HD [AR]
+ UA:Буковина
+ UA:Черкаси
+ UA:Чернігів
+ Суспільне Донбас
+ UA:Карпати
+ UA:Кропивницький
+ UA:Крим
+ UA:Київ
+ UA:Львів
+ UA:Миколаїв
+ UA:Одеса
+ UA:Перший
+ UA:Поділля
+ UA:Полтава
+ UA:Рівне
+ UA:Суми
+ UA:Тернопіль
+ FreeДОМ
+ UA:Волинь
+ UA:Вінниця
+ UA:Харків
+ UA:Херсон
+ UA:Закарпаття
+ UA:Запоріжжя
+ UA:Житомир
+ Удар
+ Ugra Travel
+ УР1
+ УР2
+ УР3
+ Ульяновская правда
+ Ultra TV 4K [PL]
+ Унiан
+ УПЛ ТВ
+ URAL1
+ Урал-24
+ УрФО24
+ USSR HD
+ UTravel
+ ЮТВ Чебоксары
+ UTV Нефтекамск
+ UTV RO
+ UTV Салават
+ UTV Стерлитамак
+ UzSport
+ UzSport 2
+ В мире животных HD
+ V Sport 1 [NO]
+ V Sport 2 [NO]
+ V Sport 3 [NO]
+ V Sport Extra [SE]
+ V Sport Football [SE]
+ V Sport+ [NO]
+ V Sport Premium [SE]
+ Vajeu
+ Варзиш Спорт
+ Вектор 24
+ VeleS 60FPS
+ VeleS Аниме
+ VeleS Dj Set
+ VeleS Гоблин
+ VeleS Kids
+ VeleS Киноплёнка
+ VeleS Киносерия
+ VeleS Комедия
+ VeleS Криминальный
+ VeleS Магнитофон
+ VeleS Movie Hits
+ VeleS Наше Кино
+ VeleS Premiere
+ VeleS Семейный
+ VeleS СССР
+ VeleS Страшное
+ VeleS Триллер
+ VeleS Вестерн
+ Velilla TV Action War Films HD
+ Velilla TV Adult Channel HD
+ Velilla TV Cartoons Disney 4K
+ Velilla TV Cinema 4K
+ Velilla TV Детский HD
+ Velilla TV Домашний HD
+ Velilla TV EuroCup 1984
+ Velilla TV EuroCup 1988
+ Velilla TV EuroCup 1992
+ Velilla TV EuroCup 1996
+ Velilla TV Eurodance 90s
+ Velilla TV Hard And Heavy Concerts HD
+ Velilla TV Кухня + Отель Элеон HD
+ Velilla TV Legendary Matches HD
+ Velilla TV Морские дьяволы HD
+ Velilla TV Морские дьяволы 2 HD
+ Velilla TV Мосгаз HD
+ Velilla TV ИП Пирогова HD
+ Velilla TV Pop And Rock Concerts HD
+ Velilla TV Russiandance 90s
+ Velilla TV Русский Сериал HD
+ Velilla TV Русские Мелодрамы HD
+ Velilla TV Счастливы вместе
+ Velilla TV Том и Джерри HD
+ Velilla TV World Cup 1966
+ Velilla TV World Cup 1970
+ Velilla TV World Cup 1974
+ Velilla TV World Cup 1978
+ Velilla TV World Cup 1990
+ Velilla TV World Cup 1994
+ Velilla TV World Cup 1998
+ Velilla TV World Cup 2002
+ Velilla TV World Cup 2006
+ Velilla TV World Cup 2010
+ Velilla TV World Cup 2014
+ Velilla TV World Cup 2018
+ Velilla TV World Cup 2022
+ Ветта 24 Пермь
+ VF Два с половиной человека
+ VF Привет из 90х
+ VF Adventure
+ VF Американская история ужасов
+ VF Anime
+ VF Art house
+ VF Баня
+ VF Беларусьфильм
+ VF Бесстыжие
+ VF Без цензуры
+ VF Боевик
+ VF Cartoon
+ VF Чернобыль
+ VF Classic
+ VF Comedy
+ VF Comedy Woman
+ VF Comics
+ VF Detective
+ VF Disney Cartoon
+ VF Disney Movie
+ VF Джеки Чан
+ VF Ёлки
+ VF Ералаш
+ VF Family
+ VF Fantastic
+ VF Fantasy
+ VF Фильмы СССР
+ VF Друзья
+ VF Леонид Гайдай
+ VF Гарри Поттер
+ VF Городок
+ VF Граиндхаус
+ VF HBO
+ VF Доктор Хаус
+ VF Игра престолов
+ VF Индия
+ VF История
+ VF Каламбур
+ VF Карточный домик
+ VF Катастрофы
+ VF Кино 4K
+ VF Киностудия им. Горького
+ VF Классика
+ VF Комедия
+ VF Концерты
+ VF Криминал
+ VF Кухня
+ VF КВН
+ VF Ленфильм
+ VF Луи де Фюнес
+ VF Малыш
+ VF Marvel
+ VF Маски Шоу
+ VF Melodrama
+ VF Мосфильм
+ VF Мультфильмы СССР
+ VF Музыка
+ VF Мыльные оперы
+ VF Mystic
+ VF Наша Раша
+ VF Netflix
+ VF New Year
+ VF Новогодние мультфильмы
+ VF Новогодний
+ VF Одесская киностудия
+ VF Однажды в России
+ VF Орел и решка
+ VF Оскар
+ VF Охота
+ VF Наша победа
+ VF Премьера
+ VF Premiere
+ VF Реальные пацаны
+ VF Рижская киностудия
+ VF Эльдар Рязанов
+ VF СашаТаня
+ VF Счастливы Вместе
+ VF Сериал
+ VF Сериал 4K
+ VF Сериалы Турции
+ VF Series
+ VF Секс в большом городе
+ VF Скуби-Ду
+ VF След
+ VF С новым Годом!
+ VF Солдаты
+ VF Союзмультфильм
+ VF Стройка
+ VF Сверхъестественное
+ VF Свердловская киностудия
+ VF Сваты
+ VF Тайны следствия
+ VF Теория большого взрыва
+ VF Thriller
+ VF TOP Series
+ VF Универ
+ VF Универ новая общага
+ VF Уральские пельмени
+ VF Ужасы
+ VF Ужасы VHS
+ VF VHS
+ VF VHS Cartoon
+ VF Военные
+ VF Воронины
+ VF Владимир Высоцкий
+ VF Ходячие мертвецы
+ VF Вестерн
+ VF The X-Files
+ VF Юмор 18+
+ VH1 Classic
+ VHS HD
+ VHS-ка Сериал
+ Viasat Explore CEE
+ Viasat History Ukraine
+ Viasat Hockey HD
+ Viasat Nature CEE
+ Viasat Serial
+ Viasat Sport HD [SE]
+ Victory HD
+ viju TV1000 Новелла
+ viju TV1000 romantica
+ Vivid Red
+ Vivid Touch HD
+ Vivid TV
+ Вкус
+ Вкусное TV
+ Военное кино
+ Волейбол
+ Восточный экспресс
+ Восток 24
+ ВОТ ТВ
+ VOX
+ Vox Music TV [PL]
+ VOXup [DE]
+ Время Арктики
+ Волга 24
+ Вселенная мультфильмов
+ Вся Уфа
+ Всесвітня служба радіомовлення України
+ ВТК Аргус
+ Выборг ТВ
+ Waidwerk HD DE
+ Women's Magazine
+ World Fashion Channel En
+ WP
+ Wydarzenia 24
+ Хабаровск
+ Хамдан-Калмыкия 24 (Элиста)
+ Xezer
+ Хоккей ТВ
+ Хроніка+
+ Yaban TV [TR]
+ Ямал-Регион
+ Yes 1
+ Yes 3
+ Yes 4
+ Yes Action
+ yes Bollywood
+ Yes Comedy
+ Yes Drama
+ YES Network [US]
+ Yes Sport 1
+ Yes Sport 2
+ Yes Sport 3
+ Yes Sport 4
+ #Ё
+ YOSSO TV 4K
+ YOSSO TV 4K HDR
+ YOSSO TV Adrenaline
+ YOSSO TV Adventure
+ YOSSO TV BEST
+ YOSSO TV BEST 60fps
+ YOSSO TV BEST Box 60fps
+ YOSSO TV Ковбойское
+ YOSSO TV Disney
+ YOSSO TV Food
+ YOSSO TV Grand
+ YOSSO TV Kids
+ YOSSO TV Мелодрама
+ YOSSO TV Music Hits
+ YOSSO TV Nature
+ YOSSO TV Наше детское
+ YOSSO TV Netflix
+ YOSSO TV New Кино
+ YOSSO TV Oblivion
+ YOSSO TV Русские фильмы
+ YOSSO TV Science
+ YOSSO TV Шансон
+ YOSSO TV Советские фильмы
+ YOSSO TV Советские фильмы 4K
+ YOSSO TV Союзмульт
+ YOSSO TV Thriller
+ YOSSO TV Трагичное
+ YOSSO TV Travel
+ YOSSO TV VHS
+ YOSSO TV Забавное
+ Your Play!
+ Ю +2
+ Ю +4
+ Ю +7
+ Югра
+ РТК Забайкалье
+ Закон ТВ
+ Зал 1 (Шерлок Холмс и доктор Ватсон)
+ Зал 2 (След)
+ Зал 3 (Ментовские войны)
+ Зал 4 (Мелодрамы)
+ Зал 5 (Солдаты)
+ Зал 6 (Некрасивая подружка)
+ Зал 7 (Три кота)
+ Зал 8 (Доказательства вины)
+ Зал 9 (Анна-детективъ)
+ Зал 10 (Советские мультфильмы)
+ Зал 11 (Смешарики)
+ Зал 12 (Комедии)
+ Зал 14 (Белка и Стрелка)
+ Зал 15 (Шукки и Бейта)
+ Зал 16 (Диностер)
+ Зал 17 (Боевики HD)
+ Зал 18 (Бодо Бородо)
+ Зал 19 (Ужасы HD)
+ Зал 20 (Исторический HD)
+ Зал 21 (Робозуна)
+ Зал 22 (Детские песенки)
+ Зал 23 (Советские фильмы)
+ Зал 24 (Глухарь)
+ Зал 25 (Горюнов)
+ Зал 26 (Балабол)
+ Зал 27 (Улицы разбитых фонарей)
+ Зал 28 (6 кадров)
+ Зал 29 (Женский детектив)
+ Зал 30 (Мажор)
+ Зал 31 (Осторожно, Модерн!)
+ Зал 32 (Бандитский Петербург)
+ Зал 33 (Восток-Запад)
+ Запад 24
+ Заречный
+ Жетысу
+ Живи
+ Живи активно
+ Ziggo Sport 1 [NL]
+ Ziggo Sport 2 [NL]
+ Ziggo Sport 3 [NL]
+ Ziggo Sport 4 [NL]
+ Ziggo Sport 5 [NL]
+ Ziggo Sport 6 [NL]
+ Знаєм 24
+ Знание ТВ
+ ZU TV [RO]
+ Звезда (+2)
+ Звезда (+4)
+ Звезда (+7)
+ 1+1
+ 1+1 International
+ 1+1 Україна
+ 1+2
+ 2+2
+ 2x2
+ Три Ангела
+ 4ever Cinema
+ 4ever Drama
+ 4ever Music
+ 4ever Theater
+ 5Sport 4K
+ 5Sport
+ 6 соток
+ 13th Street HD
+ Хабар 24
+ 78
+ 312 Кино
+ 312 Музыка
+ 312 Сериал
+ 360° Новости
+ 360TuneBox
+ 365 дней ТВ
+ А1
+ А2
+ Abai TV
+ ABC News Live [US]
+ Adult Channel
+ Agro TV Moldova
+ Ajara TV
+ Алмазный край
+ Altai
+ Анекдот ТВ
+ Ani
+ AQJAIYQ
+ AQTOBE
+ Арис 24
+ Архыз 24
+ Armenia 1
+ Armenia 2
+ Армія ТБ
+ Арсенал ТВ
+ Астрахань 24
+ Astro Cricket
+ Atameken Business
+ ATR
+ ATV Bazmoc TV
+ ATV Filmzone
+ ATV Kinoman
+ ATYRAY
+ Авто Плюс
+ Аверс
+ Авто24
+ Baby Time
+ Balapan
+ Баластан
+ Balticum Auksinis
+ Башкортостан 24
+ BCU Charm HD
+ Бьюти.TV
+ beIN Sports 1
+ beIN Sports 2
+ beIN Sports 3
+ beIN Sports 4
+ beIN Sports 5
+ beIN Sports 6
+ beIN Sports 7
+ beIN Sports AFC
+ beIN Sports NBA
+ beIN Sports News
+ beIN Sports [US]
+ Белгород 24
+ БелРос
+ Benfica TV
+ Большая Азия
+ Big Planet
+ .black
+ Блокбастер
+ Blue Hustler
+ Бобер
+ Бокс ТВ
+ Bollywood
+ Bolt
+ БСТ
+ BTV
+ Буг-ТВ
+ Карусель
+ Карусель International
+ Cars & Stars TV
+ Cartoon Network
+ Caspian News
+ CBC
+ CBC Sport
+ CBS Reality [PL]
+ CBS Sports Network [US]
+ CGTN
+ Пятый канал
+ 8 канал
+ 8 канал International
+ Первый канал
+ Первый канал Евразия
+ Чижик
+ Cinema
+ Cinemax
+ Cine+
+ Cine+ Hit
+ Cine+ Kids
+ Classic Music
+ Clubbing TV
+ C More Fotboll HD
+ C More Hockey HD
+ CNBC [US]
+ CNN International
+ Comedy Central [PL]
+ Continent E
+ Крым 24
+ ČT1
+ ČT2
+ ČT24
+ Cum4k UHD
+ Дача
+ Das Erste
+ Da Vinci Learning
+ DAZN LALIGA 2 [ES]
+ DAZN LALIGA [ES]
+ День Победы
+ Детский мир
+ Диалоги о рыбалке
+ Diema Sport 2
+ Diema Sport 3
+ Diema Sport
+ DIGI Sport 1
+ DIGI Sport 2
+ DIGI Sport 3
+ DIGI Sport 4
+ Дикая охота HD
+ Дикая рыбалка HD
+ Дом
+ Discovery Channel
+ Discovery Science
+ Доктор
+ Домашние животные
+ Домашний
+ Домашний International
+ Дом кино
+ Дом кино Премиум
+ Дон 24
+ Дорама
+ Dorcel XXX
+ Драйв
+ ducktv
+ ducktv plus
+ Dynamo Kyiv TV
+ Еда
+ Eesti Kanal
+ English Class
+ English Club TV
+ Epic Drama
+ Equalympic
+ Eromania 4K
+ Erox
+ ERTIS
+ Eska Rock TV
+ Eska TV
+ Eska TV Extra
+ ESPN2 [US]
+ ESPN [US]
+ Еспресо TV
+ Евразия
+ Eurochannel
+ Eurosport 1
+ Eurosport 2
+ Eurosport 4K
+ Еврокино
+ Extasy TV
+ Fashion One
+ Fashion TV
+ Fast Sports 1
+ Fast Sports 2
+ Fast Sports
+ Фауна
+ Fenerbahçe TV
+ FilmZone [EE]
+ FlixSnip
+ Food Network
+ FoodTime
+ Fox Business [US]
+ Fox News
+ France 24
+ Fresh TV
+ Пятница!
+ Пятница! International
+ Футбол
+ FX
+ FX Life
+ Galatasaray TV
+ ОТБ Галичина
+ Gametoon
+ Genuine TV
+ GINX Esports TV
+ Глазами туриста
+ GNC Америка
+ TV3 Sport 2
+ TV3 Sport 3
+ TV3 Sport Open
+ Gold TV
+ Golf Channel [US]
+ Грозный
+ Губерния
+ Губерния 33
+ Gulli
+ HBO2 HD
+ HBO3 HD
+ HBO HD
+ Точка.РФ
+ HD Медиа
+ HGTV
+ H2 [PL]
+ History
+ Хит
+ HIT TV
+ HITV
+ Hollywood
+ Home 4K
+ Надежда
+ Надія
+ Hustler HD
+ Hustler TV
+ Хузур ТВ
+ ICTV2
+ ID Fashion
+ Индия
+ Индийское кино
+ Info TV
+ Init Ekstra TV
+ Init TV
+ Insight UHD
+ История
+ Известия
+ Jambyl
+ JimJam
+ Just TV
+ Калейдоскоп ТВ
+ Камеди
+ Капитан Фантастика
+ Катунь 24
+ Кавказ 24
+ KBS World
+ Kentron TV
+ Хабар
+ Kids TV
+ Kidzone Max
+ Kidzone Mini
+ Кинеко
+ Kino 1
+ Kino 2
+ Кино 18+
+ Кино 18+ International
+ Kino 24
+ Кинохит
+ Kinojam 1
+ Kinojam 2
+ Кинокомедия
+ KinoLiving
+ Киномикс
+ Kino Polska Muzyka International
+ Кинопремьера
+ Киносат
+ Киносемья
+ Киносерия
+ КиноСезон
+ Киносвидание
+ Кино UHD
+ Киноужас
+ Kinowood
+ KION Хит
+ Ключ
+ Kokshe
+ Конный мир
+ Крик-ТВ
+ Кто есть кто
+ Кубань 24
+ Кухня ТВ
+ Кус-кус
+ Квартал ТВ
+ КВН ТВ
+ Київ
+ Lale
+ Latvijas Šlāgerkanāls
+ ЛДПР ТВ
+ Легендарный 24
+ Домашний магазин
+ Leo TV
+ Лёва
+ Липецкое время
+ Live Music Channel HD
+ LNK
+ LRT Lituanica
+ LRT Televizija
+ LTV1
+ LTV7
+ Luxury
+ Magnat
+ Майдан
+ Мама
+ Mangystay
+ Матч!
+ Матч! Арена
+ Матч! Боец
+ Матч! Футбол 1
+ Матч! Футбол 2
+ Матч! Футбол 3
+ Матч! Игра
+ Матч! Планета
+ Матч! Премьер
+ Матч! Страна
+ Матур ТВ
+ MAX Sport 1
+ MAX Sport 2
+ MAX Sport 3
+ MAX Sport 4
+ MCM Pop
+ MCM Top
+ Medeniyyet TV
+ Мега
+ Mezzo
+ Mezzo Live HD
+ Milady Television
+ Milan TV
+ Миллет
+ Министерство идей
+ Мир 24
+ Мир баскетбола
+ Мир Белогорья
+ Мир
+ Мир сериала
+ MLB Network [US]
+ MMA-TV
+ Moldova 1
+ Moldova 2
+ Мордовия 24
+ Московский образовательный
+ Классика Кино
+ Movify Kino
+ Моя Планета
+ Моя стихия
+ MSNBC [US]
+ MTV DE
+ MTV Hits
+ MTV Live [US]
+ MTV Live HD
+ MTV U [US]
+ Мульт
+ Мультиландия
+ Мультимузыка
+ КТРК Музыка
+ Мужское кино HD
+ Мужской
+ Mūzikas Video Kanāls
+ MuzLife
+ Muzsika TV
+ Муз-ТВ
+ Музвар
+ Музыка Первого
+ MuzZone
+ N4
+ Нано
+ Наша Сибирь
+ Наша тема
+ Наш дом
+ Любимое кино
+ Наше Мужское
+ Наше новое кино
+ Наш КиноМир
+ Наш Кинопоказ
+ National Geographic
+ Nat Geo Wild
+ Наука
+ Nautical Channel
+ NBA TV [US]
+ Неизвестная Планета
+ NewsMax TV [US]
+ NewsNation US
+ NFL Network [US]
+ NHK World
+ NHL Network [US]
+ Nickelodeon
+ NickMusic
+ Nicktoons
+ Niki Junior
+ Niki Kids
+ Нижний Новгород 24
+ ННТ
+ ННТВ
+ Ностальгия
+ Nova Sport
+ Nova Sport 1
+ Nova Sport 2
+ Nova Sport 3
+ Nova Sport 4
+ Новый мир
+ Now Rock
+ НСТ
+ НТА
+ НТК
+ НТМ
+ НТН
+ НТВ
+ НТВ-Америка
+ НТВ-Беларусь
+ НТВ-Хит
+ НТВ Право
+ НТВ Сериал
+ НТВ Стиль
+ О2ТВ
+ О!
+ OBOZ TV
+ Ocean TV
+ Óčko
+ Óčko Black
+ Óčko Expres
+ Óčko Star
+ Охотник и рыболов
+ Охота и рыбалка
+ О!Кино
+ ONE
+ One Planet
+ ОНТ
+ Ontustik
+ Orizont TV
+ Оружие
+ Осетия-Ирыстон
+ Открытый мир
+ ОТС
+ Оце
+ ОТВ Сахалин
+ Перший автомобільний
+ Перший Західний
+ Первый информационный
+ Первый крымский
+ Первый Космический
+ Первый Псковский
+ Первый тульский
+ Первый вегетарианский
+ Пес и Ко
+ Pingvīns
+ Пингвин Лоло
+ Playboy TV
+ Play TV
+ ПлюсПлюс
+ Победа
+ Поехали!
+ Polonia 1
+ Polsat 2
+ Polsat
+ Polsat Cafe
+ Polsat Doku
+ Polsat Film
+ Polsat Games
+ Polsat News 2
+ Polsat News
+ Polsat Play
+ Polsat Rodzina
+ Polsat Seriale
+ Polsat Sport 1
+ Polsat Sport 2
+ Polsat Sport 3
+ Polsat Sport Fight
+ Polsat Sport Premium 1
+ Polsat Sport Premium 2
+ Polsat Viasat Explore
+ Polsat Viasat History
+ Polsat Viasat Nature
+ Прямий
+ Прима
+ Private Spice
+ Private TV
+ ПРНК
+ PRO Business
+ Продвижение
+ ProKino
+ Про Любовь
+ ProSieben
+ Просвещение
+ Provence
+ Психология 21
+ PTV
+ Qostanai
+ Quiz TV
+ Qyzyljar
+ Qyzylorda
+ Радио Шансон
+ Радость моя
+ Rai News 24
+ RAI Sport
+ Раменское ТВ
+ Ратник
+ Real Madrid TV
+ .red
+ Redlight HD
+ Красная линия
+ Red Lips
+ Рен ТВ
+ Ретро
+ Revolt TV [US]
+ Рівне 1
+ Родное кино
+ Родной канал
+ RTG TV
+ РТР-Беларусь
+ РТР-Планета Азия
+ РТР-Планета Европа
+ RTVi
+ Setanta Sports
+ Русский экстрим
+ Russian Extreme Ultra HD
+ Russian MusicBox
+ Русская ночь
+ Русский бестселлер
+ Русский детектив
+ Русский иллюзион
+ Русский роман
+ Русский Север
+ RU.TV
+ Рыжий
+ РЖД ТВ
+ Соль ТВ
+ Салям
+ Санкт-Петербург
+ San Porto
+ Сапфир
+ Сарафан
+ Саратов 24
+ Saryarqa
+ .sci-fi
+ SCT
+ Sea TV
+ Semei
+ Севастополь 24
+ 7ТВ
+ Север
+ SextoSenso
+ Шалун
+ Шаян ТВ
+ Shop24
+ Shopping Live
+ Shot TV
+ Сила
+ Шелк
+ Сказки Зайки
+ SmartZone
+ Смайлик ТВ
+ Сочи24
+ Солнце
+ Советские мультфильмы
+ Советское кино
+ Союз
+ Спас
+ Spectrum SportsNet [US]
+ Sport 1
+ Sport 1 Baltic
+ Sport 2 Baltic
+ КТРК Спорт
+ Sportdigital Fussball
+ Sport Klub 1 [HR]
+ Sport Klub 2 [HR]
+ Sport Klub 3
+ Sport Klub 4
+ Sport Klub 5
+ SPOTV2
+ SPOTV
+ Старт
+ Start Air
+ Старт Триумф
+ Start World
+ C Music TV
+ Stingray iConcerts
+ Страшное HD
+ СТС
+ СТС Love
+ СТБ
+ Суббота!
+ Супергерои
+ Super+
+ Super Polsat
+ Super RTL HD
+ Сургут 24
+ Сварожичи
+ Светлое ТВ
+ Світло
+ Т24
+ Тамыр
+ Тайна
+ TBN Armenia
+ Театр
+ Tele 5
+ Телекафе
+ Теледом
+ Телевсесвіт
+ Тернопіль 1
+ Терра
+ Terra
+ Терра Инкогнита
+ TiJi
+ Timeless Dizi Channel
+ ТипТоп
+ Tivibu Spor 2 [TR]
+ Tivibu Spor 3 [TR]
+ Тивиком
+ TLC
+ TMTV
+ ТНТ4
+ ТНТ4 International
+ ТНТ
+ ТНВ-Планета
+ Точка отрыва
+ Тольятти 24
+ Совершенно секретно
+ Top Shop TV
+ Trace Sport Stars
+ Trace Urban
+ Travel Channel
+ Travel+Adventure
+ Трофей
+ TRT Avaz [TR]
+ Центр Красноярск
+ TSN1
+ TSN2
+ TSN3
+ TSN4
+ TSN5
+ ТСВ
+ Туган Тел
+ Turkistan
+ Тюсо
+ ТВ3 International
+ TV3 Life
+ TV3 Mini
+ TV3 Sport
+ ТВ Центр
+ ТВ Центр International
+ TV Extra
+ TV Губерния
+ TVMChannel
+ TVP 3 Warszawa
+ TVP ABC
+ TVP Dokument
+ TVP HD
+ TVP Historia
+ TVP Info
+ TVP Kobieta
+ TVP Kultura 2
+ TVP Kultura
+ TVP Nauka
+ TVP Polonia
+ TVP Rozrywka
+ TVP Seriale
+ TVP Sport
+ TV Puls
+ TVP World
+ Дождь
+ TV XXI
+ Тюменское время
+ Ю
+ Учалы ТВ
+ Удмуртия
+ Ultra HD Cinema
+ Ulytau
+ Уникум
+ Univer TV
+ Неизвестная Россия
+ Усадьба
+ Успех
+ UTV Уфа
+ Варяг
+ Вестник Надыма
+ VF Cartoon 18+
+ В гостях у сказки
+ VH1
+ VHS-ка
+ Viasat Kino
+ Viasat Kino Action
+ Viasat Kino Comedy
+ Viasat Kino Megahit
+ Viasat Kino World
+ H2
+ viju Explore
+ viju History
+ viju Nature
+ viju+ Comedy
+ viju+ Megahit
+ viju+ Planet
+ viju+ Premiere
+ viju+ Serial
+ viju+ Sport
+ viju TV1000
+ viju TV1000 Action
+ viju TV1000 Русское
+ Витебск
+ VIVA Russia
+ Вместе-РФ
+ Волга
+ Волгоград 1
+ Волгоград 24
+ Вопросы и ответы
+ Восток ТВ
+ Время
+ TV1
+ V Sport Golf
+ V Sport Motor
+ Warner TV
+ TNT Comedy
+ TNT Film
+ TNT Serie
+ World Business Channel
+ World Fashion Channel
+ W-Sport
+ Xsport
+ Xsport+
+ XXL
+ Якутия 24
+ Yes 2
+ Yes Docu
+ yes Movies Kids
+ YOSSO TV SEXY
+ Юрган
+ Ювелирочка
+ Загородная жизнь
+ Загородный
+ Загородный International
+ Зал суда
+ ZDF
+ Здоровое ТВ
+ Жара
+ Жар Птица
+ Живая планета
+ Живая природа
+ Zoom
+ ZooПарк
+ Zoo TV
+ Звезда
+ Звезда Плюс
+ Звязда
+
diff --git a/sites/epg.iptvx.one/epg.iptvx.one.config.js b/sites/epg.iptvx.one/epg.iptvx.one.config.js
index 9c37deb3..c210abb1 100644
--- a/sites/epg.iptvx.one/epg.iptvx.one.config.js
+++ b/sites/epg.iptvx.one/epg.iptvx.one.config.js
@@ -1,64 +1,64 @@
-const axios = require('axios')
-const iconv = require('iconv-lite')
-const parser = require('epg-parser')
-const pako = require('pako')
-
-let cachedContent
-
-module.exports = {
- site: 'epg.iptvx.one',
- days: 2,
- url: 'https://iptvx.one/epg/epg_noarch.xml.gz',
- request: {
- maxContentLength: 500000000, // 500 MB
- cache: {
- ttl: 24 * 60 * 60 * 1000 // 1 day
- }
- },
- parser: function ({ buffer, channel, date, cached }) {
- if (!cached) cachedContent = undefined
-
- let programs = []
- const items = parseItems(buffer, channel, date)
- items.forEach(item => {
- programs.push({
- title: item.title?.[0]?.value,
- description: item.desc?.[0]?.value,
- start: item.start,
- stop: item.stop
- })
- })
-
- return programs
- },
- async channels() {
- const data = await axios
- .get('https://epg.iptvx.one/api/channels.json')
- .then(r => r.data)
- .catch(console.log)
-
- return data.channels.map(channel => {
- const [name] = channel.chan_names.split(' • ')
-
- return {
- lang: 'ru',
- site_id: channel.chan_id,
- name
- }
- })
- }
-}
-
-function parseItems(buffer, channel, date) {
- if (!buffer) return []
-
- if (!cachedContent) {
- const content = pako.ungzip(buffer)
- const encoded = iconv.decode(content, 'utf8')
- cachedContent = parser.parse(encoded)
- }
-
- const { programs } = cachedContent
-
- return programs.filter(p => p.channel === channel.site_id && date.isSame(p.start, 'day'))
-}
+const axios = require('axios')
+const iconv = require('iconv-lite')
+const parser = require('epg-parser')
+const pako = require('pako')
+
+let cachedContent
+
+module.exports = {
+ site: 'epg.iptvx.one',
+ days: 2,
+ url: 'https://iptvx.one/epg/epg_noarch.xml.gz',
+ request: {
+ maxContentLength: 500000000, // 500 MB
+ cache: {
+ ttl: 24 * 60 * 60 * 1000 // 1 day
+ }
+ },
+ parser: function ({ buffer, channel, date, cached }) {
+ if (!cached) cachedContent = undefined
+
+ let programs = []
+ const items = parseItems(buffer, channel, date)
+ items.forEach(item => {
+ programs.push({
+ title: item.title?.[0]?.value,
+ description: item.desc?.[0]?.value,
+ start: item.start,
+ stop: item.stop
+ })
+ })
+
+ return programs
+ },
+ async channels() {
+ const data = await axios
+ .get('https://epg.iptvx.one/api/channels.json')
+ .then(r => r.data)
+ .catch(console.log)
+
+ return data.channels.map(channel => {
+ const [name] = channel.chan_names.split(' • ')
+
+ return {
+ lang: 'ru',
+ site_id: channel.chan_id,
+ name
+ }
+ })
+ }
+}
+
+function parseItems(buffer, channel, date) {
+ if (!buffer) return []
+
+ if (!cachedContent) {
+ const content = pako.ungzip(buffer)
+ const encoded = iconv.decode(content, 'utf8')
+ cachedContent = parser.parse(encoded)
+ }
+
+ const { programs } = cachedContent
+
+ return programs.filter(p => p.channel === channel.site_id && date.isSame(p.start, 'day'))
+}
diff --git a/sites/epg.iptvx.one/epg.iptvx.one.test.js b/sites/epg.iptvx.one/epg.iptvx.one.test.js
index e08601a6..de221979 100644
--- a/sites/epg.iptvx.one/epg.iptvx.one.test.js
+++ b/sites/epg.iptvx.one/epg.iptvx.one.test.js
@@ -1,46 +1,46 @@
-const { parser, url } = require('./epg.iptvx.one.config.js')
-const dayjs = require('dayjs')
-const utc = require('dayjs/plugin/utc')
-const timezone = require('dayjs/plugin/timezone')
-const fs = require('fs')
-const path = require('path')
-
-dayjs.extend(utc)
-dayjs.extend(timezone)
-
-const date = dayjs.utc('2025-09-24', 'YYYY-MM-DD').startOf('d')
-const channel = { site_id: '12-omsk', xmltv_id: 'Channel12.ru' }
-
-it('can generate valid url', () => {
- expect(url).toBe('https://iptvx.one/epg/epg_noarch.xml.gz')
-})
-
-it('can parse response', () => {
- const buffer = fs.readFileSync(path.resolve(__dirname, '__data__/content.xml.gz'))
- const results = parser({ date, buffer, channel })
-
- expect(results.length).toBe(33)
- expect(results[0]).toMatchObject({
- start: '2025-09-24T00:00:00.000Z',
- stop: '2025-09-24T00:25:00.000Z',
- title: 'Час новостей',
- description:
- 'Каждый день наша программа рассказывает вам о самых горячих событиях. Наше преимущество – оперативность: мы всегда там, где происходит что-то важное. Наш девиз – объективность: у нас нет запретных тем и героев вне критики. Наша цель – быть интересными каждому из вас. Мы живем рядом с вами, нас волнуют общие проблемы, каждую – мы обсуждаем, как свою'
- })
- expect(results[32]).toMatchObject({
- start: '2025-09-24T22:35:00.000Z',
- stop: '2025-09-25T00:00:00.000Z',
- title: 'д/с Необыкновенные люди',
- description:
- 'В этом документальном цикле герои – врачи, спортсмены, волонтеры, творческие личности и многие другие – делятся своими историями. Их работа и деятельность имеют важное значение для жизни особенных людей, которые сталкиваются с непростыми жизненными условиями. Россия'
- })
-})
-
-it('can handle empty guide', () => {
- const result = parser({
- date,
- channel,
- buffer: ''
- })
- expect(result).toMatchObject([])
-})
+const { parser, url } = require('./epg.iptvx.one.config.js')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const timezone = require('dayjs/plugin/timezone')
+const fs = require('fs')
+const path = require('path')
+
+dayjs.extend(utc)
+dayjs.extend(timezone)
+
+const date = dayjs.utc('2025-09-24', 'YYYY-MM-DD').startOf('d')
+const channel = { site_id: '12-omsk', xmltv_id: 'Channel12.ru' }
+
+it('can generate valid url', () => {
+ expect(url).toBe('https://iptvx.one/epg/epg_noarch.xml.gz')
+})
+
+it('can parse response', () => {
+ const buffer = fs.readFileSync(path.resolve(__dirname, '__data__/content.xml.gz'))
+ const results = parser({ date, buffer, channel })
+
+ expect(results.length).toBe(33)
+ expect(results[0]).toMatchObject({
+ start: '2025-09-24T00:00:00.000Z',
+ stop: '2025-09-24T00:25:00.000Z',
+ title: 'Час новостей',
+ description:
+ 'Каждый день наша программа рассказывает вам о самых горячих событиях. Наше преимущество – оперативность: мы всегда там, где происходит что-то важное. Наш девиз – объективность: у нас нет запретных тем и героев вне критики. Наша цель – быть интересными каждому из вас. Мы живем рядом с вами, нас волнуют общие проблемы, каждую – мы обсуждаем, как свою'
+ })
+ expect(results[32]).toMatchObject({
+ start: '2025-09-24T22:35:00.000Z',
+ stop: '2025-09-25T00:00:00.000Z',
+ title: 'д/с Необыкновенные люди',
+ description:
+ 'В этом документальном цикле герои – врачи, спортсмены, волонтеры, творческие личности и многие другие – делятся своими историями. Их работа и деятельность имеют важное значение для жизни особенных людей, которые сталкиваются с непростыми жизненными условиями. Россия'
+ })
+})
+
+it('can handle empty guide', () => {
+ const result = parser({
+ date,
+ channel,
+ buffer: ''
+ })
+ expect(result).toMatchObject([])
+})
diff --git a/sites/epg.telemach.ba/epg.telemach.ba.config.js b/sites/epg.telemach.ba/epg.telemach.ba.config.js
index 62c6a298..42bd295f 100644
--- a/sites/epg.telemach.ba/epg.telemach.ba.config.js
+++ b/sites/epg.telemach.ba/epg.telemach.ba.config.js
@@ -1,125 +1,127 @@
-const dayjs = require('dayjs')
-const axios = require('axios')
-
-const BASIC_TOKEN =
- 'MjdlMTFmNWUtODhlMi00OGU0LWJkNDItOGUxNWFiYmM2NmY1OjEyejJzMXJ3bXdhZmsxMGNkdzl0cjloOWFjYjZwdjJoZDhscXZ0aGc='
-
-let session
-
-module.exports = {
- site: 'epg.telemach.ba',
- days: 3,
- url({ channel, date, country }) {
- const communityId = country === 'ba' ? 12 : country === 'me' ? 5 : 12
- const languageId = country === 'ba' ? 59 : country === 'me' ? 10001 : 59
-
- return `https://api-web.ug-be.cdn.united.cloud/v1/public/events/epg?fromTime=${date.format(
- 'YYYY-MM-DDTHH:mm:ss-00:00'
- )}&toTime=${date
- .add(1, 'days')
- .subtract(1, 's')
- .format('YYYY-MM-DDTHH:mm:ss-00:00')}&communityId=${communityId}&languageId=${languageId}&cid=${channel.site_id}`
- },
- request: {
- async headers({ country } = {}) {
- if (!session) {
- session = await loadSessionDetails()
- if (!session || !session.access_token) return null
- }
-
- const referer = country === 'me' ? 'https://epg.telemach.me/' : 'https://epg.telemach.ba/'
-
- return {
- Authorization: `Bearer ${session.access_token}`,
- Referer: referer
- }
- }
- },
- parser({ content }) {
- try {
- const programs = []
- const data = JSON.parse(content)
- for (const channelId in data) {
- if (Array.isArray(data[channelId])) {
- data[channelId].forEach(item => {
- programs.push({
- title: item.title,
- description: item.shortDescription,
- image: parseImage(item),
- season: item.seasonNumber,
- episode: item.episodeNumber,
- start: dayjs(item.startTime),
- stop: dayjs(item.endTime)
- })
- })
- }
- }
-
- return programs
- } catch {
- return []
- }
- },
- async channels({ country }) {
- const communityID = country === 'ba' ? 12 : country === 'me' ? 5 : 12
- const languageID = country === 'ba' ? 59 : country === 'me' ? 10001 : 59
- const lang = country === 'ba' ? 'hr' : country === 'me' ? 'bs' : ''
-
- const tokenSession = await loadSessionDetails()
- if (!tokenSession || !tokenSession.access_token) return null
-
- const data = await axios
- .get(
- `https://api-web.ug-be.cdn.united.cloud/v1/public/channels?channelType=TV&communityId=${communityID}&languageId=${languageID}&imageSize=L`,
- {
- headers: {
- Authorization: `Bearer ${tokenSession.access_token}`
- }
- }
- )
- .then(r => r.data)
- .catch(err => {
- console.error(err)
- return null
- })
-
- if (!Array.isArray(data)) return []
-
- return data
- .map(item => ({
- lang,
- site_id: item.id,
- name: item.name
- }))
- .sort((a, b) => {
- const ai = Number(a.site_id)
- const bi = Number(b.site_id)
- if (!Number.isFinite(ai) || !Number.isFinite(bi)) return String(a.site_id).localeCompare(String(b.site_id))
- return ai - bi
- })
- }
-}
-
-function parseImage(item) {
- const baseURL = 'https://images-web.ug-be.cdn.united.cloud'
-
- return Array.isArray(item?.images) && item.images[0] ? `${baseURL}${item.images[0].path}` : null
-}
-
-async function loadSessionDetails() {
- try {
- const r = await axios
- .post(
- 'https://api-web.ug-be.cdn.united.cloud/oauth/token?grant_type=client_credentials',
- {},
- {
- headers: {
- Authorization: `Basic ${BASIC_TOKEN}`
- }
- }
- )
- return r.data
- } catch (message) {
- return console.log(message)
- }
-}
+const dayjs = require('dayjs')
+const axios = require('axios')
+
+const BASIC_TOKEN =
+ 'MjdlMTFmNWUtODhlMi00OGU0LWJkNDItOGUxNWFiYmM2NmY1OjEyejJzMXJ3bXdhZmsxMGNkdzl0cjloOWFjYjZwdjJoZDhscXZ0aGc='
+
+let session
+
+module.exports = {
+ site: 'epg.telemach.ba',
+ days: 3,
+ url({ channel, date, country }) {
+ const communityId = country === 'ba' ? 12 : country === 'me' ? 5 : 12
+ const languageId = country === 'ba' ? 59 : country === 'me' ? 10001 : 59
+
+ return `https://api-web.ug-be.cdn.united.cloud/v1/public/events/epg?fromTime=${date.format(
+ 'YYYY-MM-DDTHH:mm:ss-00:00'
+ )}&toTime=${date
+ .add(1, 'days')
+ .subtract(1, 's')
+ .format(
+ 'YYYY-MM-DDTHH:mm:ss-00:00'
+ )}&communityId=${communityId}&languageId=${languageId}&cid=${channel.site_id}`
+ },
+ request: {
+ async headers({ country } = {}) {
+ if (!session) {
+ session = await loadSessionDetails()
+ if (!session || !session.access_token) return null
+ }
+
+ const referer = country === 'me' ? 'https://epg.telemach.me/' : 'https://epg.telemach.ba/'
+
+ return {
+ Authorization: `Bearer ${session.access_token}`,
+ Referer: referer
+ }
+ }
+ },
+ parser({ content }) {
+ try {
+ const programs = []
+ const data = JSON.parse(content)
+ for (const channelId in data) {
+ if (Array.isArray(data[channelId])) {
+ data[channelId].forEach(item => {
+ programs.push({
+ title: item.title,
+ description: item.shortDescription,
+ image: parseImage(item),
+ season: item.seasonNumber,
+ episode: item.episodeNumber,
+ start: dayjs(item.startTime),
+ stop: dayjs(item.endTime)
+ })
+ })
+ }
+ }
+
+ return programs
+ } catch {
+ return []
+ }
+ },
+ async channels({ country }) {
+ const communityID = country === 'ba' ? 12 : country === 'me' ? 5 : 12
+ const languageID = country === 'ba' ? 59 : country === 'me' ? 10001 : 59
+ const lang = country === 'ba' ? 'hr' : country === 'me' ? 'bs' : ''
+
+ const tokenSession = await loadSessionDetails()
+ if (!tokenSession || !tokenSession.access_token) return null
+
+ const data = await axios
+ .get(
+ `https://api-web.ug-be.cdn.united.cloud/v1/public/channels?channelType=TV&communityId=${communityID}&languageId=${languageID}&imageSize=L`,
+ {
+ headers: {
+ Authorization: `Bearer ${tokenSession.access_token}`
+ }
+ }
+ )
+ .then(r => r.data)
+ .catch(err => {
+ console.error(err)
+ return null
+ })
+
+ if (!Array.isArray(data)) return []
+
+ return data
+ .map(item => ({
+ lang,
+ site_id: item.id,
+ name: item.name
+ }))
+ .sort((a, b) => {
+ const ai = Number(a.site_id)
+ const bi = Number(b.site_id)
+ if (!Number.isFinite(ai) || !Number.isFinite(bi))
+ return String(a.site_id).localeCompare(String(b.site_id))
+ return ai - bi
+ })
+ }
+}
+
+function parseImage(item) {
+ const baseURL = 'https://images-web.ug-be.cdn.united.cloud'
+
+ return Array.isArray(item?.images) && item.images[0] ? `${baseURL}${item.images[0].path}` : null
+}
+
+async function loadSessionDetails() {
+ try {
+ const r = await axios.post(
+ 'https://api-web.ug-be.cdn.united.cloud/oauth/token?grant_type=client_credentials',
+ {},
+ {
+ headers: {
+ Authorization: `Basic ${BASIC_TOKEN}`
+ }
+ }
+ )
+ return r.data
+ } catch (message) {
+ return console.log(message)
+ }
+}
diff --git a/sites/epg.telemach.ba/epg.telemach.ba.test.js b/sites/epg.telemach.ba/epg.telemach.ba.test.js
index 350baea1..773306a1 100644
--- a/sites/epg.telemach.ba/epg.telemach.ba.test.js
+++ b/sites/epg.telemach.ba/epg.telemach.ba.test.js
@@ -1,94 +1,94 @@
-const { parser, url, request } = require('./epg.telemach.ba.config.js')
-const fs = require('fs')
-const axios = require('axios')
-const path = require('path')
-const dayjs = require('dayjs')
-const utc = require('dayjs/plugin/utc')
-const customParseFormat = require('dayjs/plugin/customParseFormat')
-dayjs.extend(customParseFormat)
-dayjs.extend(utc)
-
-jest.mock('axios')
-
-axios.post.mockImplementation((url, data, opts) => {
- if (
- url === 'https://api-web.ug-be.cdn.united.cloud/oauth/token?grant_type=client_credentials' &&
- JSON.stringify(opts.headers) ===
- JSON.stringify({
- Authorization:
- 'Basic MjdlMTFmNWUtODhlMi00OGU0LWJkNDItOGUxNWFiYmM2NmY1OjEyejJzMXJ3bXdhZmsxMGNkdzl0cjloOWFjYjZwdjJoZDhscXZ0aGc='
- })
- ) {
- return Promise.resolve({
- data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/session.json')))
- })
- } else {
- return Promise.resolve({
- data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/no_session.json')))
- })
- }
-})
-
-const date = dayjs.utc('2025-01-20', 'YYYY-MM-DD').startOf('d')
-const channel = {
- site_id: '1607',
- xmltv_id: 'N1HD.hr'
-}
-
-it('can generate valid url', async () => {
- const result = url({ date, channel, country : 'ba' })
-
- expect(result).toBe(
- 'https://api-web.ug-be.cdn.united.cloud/v1/public/events/epg?fromTime=2025-01-20T00:00:00-00:00&toTime=2025-01-20T23:59:59-00:00&communityId=12&languageId=59&cid=1607'
- )
-})
-
-it('can generate valid request headers', async () => {
- const result = await request.headers()
-
- expect(result).toMatchObject({
- Authorization:
- 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsidWMtaW5mby1zZXJ2aWNlIl0sInNjb3BlIjpbInJlYWQiXSwiZXhwIjoxNzM3Mzc3NDUxLCJhdXRob3JpdGllcyI6WyJST0xFX1BVQkxJQ19FUEciXSwianRpIjoiUVBubHdRSDczS1EwSnU0WDZwRTc2Zm5mUmRnIiwiY2xpZW50X2lkIjoiMjdlMTFmNWUtODhlMi00OGU0LWJkNDItOGUxNWFiYmM2NmY1In0.LqJAZUWEqIOcLrRSMpxZxnF-f1arKbHgfweLMXt-MBjCDbVJD39OQEsh_b68mtePAoa3n8LRbf3IFT40Ys5Vbe-k_Btm4a9gdEGr6cNi_4HGk4Bto6RUDvCp59VRfoRZhWe145Q2b5TS6szmC4Ws2YWIcZU5vrJcYs2GZiCk6U11MOcd1i52WmZj8cLPq0ZPDB_bzmTgYkvkVa7zOzUOPSl4M8T6fPUa__vVKUt0jOgtFoHeue2mQVgISC2puEGsBN0jJwvJ8PzM6IVxXrQno3MBv0VJy_qILiFPcxRePGRAmKLuEqagvikO7P_XQgFjZgg-j8u8wX2WwO0Yxft0Pg'
- })
-})
-
-it('can parse response', () => {
- const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'), 'utf8')
- let results = parser({ content })
- results = results.map(p => {
- p.start = p.start.toJSON()
- p.stop = p.stop.toJSON()
- return p
- })
-
- expect(results.length).toBe(35)
- expect(results[0]).toMatchObject({
- start: '2025-01-20T00:00:00.000Z',
- stop: '2025-01-20T00:30:00.000Z',
- title: 'DW Euromaxx',
- description:
- 'Euromaxx je lifestyle Europe magazine, koji nam donosi zanimljivosti iz evropskih gradova, priče o načinu života ljudi i upoznaje nas sa njihovim kulturama.',
- image:
- 'https://images-web.ug-be.cdn.united.cloud/2021/02/18/06/05/21/stb_xl_cd4f72e01d308ecce782e29b69af7de6707b9e85.jpg',
- season: null,
- episode: null
- })
- expect(results[34]).toMatchObject({
- start: '2025-01-20T23:50:00.000Z',
- stop: '2025-01-21T00:00:00.000Z',
- title: 'DW Shift',
- description: 'Tjedni magazin koji nam donosi najnovije vijesti vezane za Internet.',
- image:
- 'https://images-web.ug-be.cdn.united.cloud/2023/06/09/13/07/53/stb_xl_0849d5d70c1337651b85b6335e340e15bd5d6a73_340fc454bc73019d052cf936ebee5da3.jpg',
- season: null,
- episode: null
- })
-})
-
-it('can handle empty guide', () => {
- const results = parser({
- content: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.json'), 'utf8')
- })
-
- expect(results).toMatchObject([])
-})
+const { parser, url, request } = require('./epg.telemach.ba.config.js')
+const fs = require('fs')
+const axios = require('axios')
+const path = require('path')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+const customParseFormat = require('dayjs/plugin/customParseFormat')
+dayjs.extend(customParseFormat)
+dayjs.extend(utc)
+
+jest.mock('axios')
+
+axios.post.mockImplementation((url, data, opts) => {
+ if (
+ url === 'https://api-web.ug-be.cdn.united.cloud/oauth/token?grant_type=client_credentials' &&
+ JSON.stringify(opts.headers) ===
+ JSON.stringify({
+ Authorization:
+ 'Basic MjdlMTFmNWUtODhlMi00OGU0LWJkNDItOGUxNWFiYmM2NmY1OjEyejJzMXJ3bXdhZmsxMGNkdzl0cjloOWFjYjZwdjJoZDhscXZ0aGc='
+ })
+ ) {
+ return Promise.resolve({
+ data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/session.json')))
+ })
+ } else {
+ return Promise.resolve({
+ data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/no_session.json')))
+ })
+ }
+})
+
+const date = dayjs.utc('2025-01-20', 'YYYY-MM-DD').startOf('d')
+const channel = {
+ site_id: '1607',
+ xmltv_id: 'N1HD.hr'
+}
+
+it('can generate valid url', async () => {
+ const result = url({ date, channel, country: 'ba' })
+
+ expect(result).toBe(
+ 'https://api-web.ug-be.cdn.united.cloud/v1/public/events/epg?fromTime=2025-01-20T00:00:00-00:00&toTime=2025-01-20T23:59:59-00:00&communityId=12&languageId=59&cid=1607'
+ )
+})
+
+it('can generate valid request headers', async () => {
+ const result = await request.headers()
+
+ expect(result).toMatchObject({
+ Authorization:
+ 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsidWMtaW5mby1zZXJ2aWNlIl0sInNjb3BlIjpbInJlYWQiXSwiZXhwIjoxNzM3Mzc3NDUxLCJhdXRob3JpdGllcyI6WyJST0xFX1BVQkxJQ19FUEciXSwianRpIjoiUVBubHdRSDczS1EwSnU0WDZwRTc2Zm5mUmRnIiwiY2xpZW50X2lkIjoiMjdlMTFmNWUtODhlMi00OGU0LWJkNDItOGUxNWFiYmM2NmY1In0.LqJAZUWEqIOcLrRSMpxZxnF-f1arKbHgfweLMXt-MBjCDbVJD39OQEsh_b68mtePAoa3n8LRbf3IFT40Ys5Vbe-k_Btm4a9gdEGr6cNi_4HGk4Bto6RUDvCp59VRfoRZhWe145Q2b5TS6szmC4Ws2YWIcZU5vrJcYs2GZiCk6U11MOcd1i52WmZj8cLPq0ZPDB_bzmTgYkvkVa7zOzUOPSl4M8T6fPUa__vVKUt0jOgtFoHeue2mQVgISC2puEGsBN0jJwvJ8PzM6IVxXrQno3MBv0VJy_qILiFPcxRePGRAmKLuEqagvikO7P_XQgFjZgg-j8u8wX2WwO0Yxft0Pg'
+ })
+})
+
+it('can parse response', () => {
+ const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'), 'utf8')
+ let results = parser({ content })
+ results = results.map(p => {
+ p.start = p.start.toJSON()
+ p.stop = p.stop.toJSON()
+ return p
+ })
+
+ expect(results.length).toBe(35)
+ expect(results[0]).toMatchObject({
+ start: '2025-01-20T00:00:00.000Z',
+ stop: '2025-01-20T00:30:00.000Z',
+ title: 'DW Euromaxx',
+ description:
+ 'Euromaxx je lifestyle Europe magazine, koji nam donosi zanimljivosti iz evropskih gradova, priče o načinu života ljudi i upoznaje nas sa njihovim kulturama.',
+ image:
+ 'https://images-web.ug-be.cdn.united.cloud/2021/02/18/06/05/21/stb_xl_cd4f72e01d308ecce782e29b69af7de6707b9e85.jpg',
+ season: null,
+ episode: null
+ })
+ expect(results[34]).toMatchObject({
+ start: '2025-01-20T23:50:00.000Z',
+ stop: '2025-01-21T00:00:00.000Z',
+ title: 'DW Shift',
+ description: 'Tjedni magazin koji nam donosi najnovije vijesti vezane za Internet.',
+ image:
+ 'https://images-web.ug-be.cdn.united.cloud/2023/06/09/13/07/53/stb_xl_0849d5d70c1337651b85b6335e340e15bd5d6a73_340fc454bc73019d052cf936ebee5da3.jpg',
+ season: null,
+ episode: null
+ })
+})
+
+it('can handle empty guide', () => {
+ const results = parser({
+ content: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.json'), 'utf8')
+ })
+
+ expect(results).toMatchObject([])
+})
diff --git a/sites/epgshare01.online/epgshare01.online.config.js b/sites/epgshare01.online/epgshare01.online.config.js
index d134c83f..420cbeb1 100644
--- a/sites/epgshare01.online/epgshare01.online.config.js
+++ b/sites/epgshare01.online/epgshare01.online.config.js
@@ -1,123 +1,123 @@
-const axios = require('axios')
-const iconv = require('iconv-lite')
-const parser = require('epg-parser')
-const { ungzip } = require('pako')
-const zlib = require('zlib')
-const sax = require('sax')
-
-let cachedContent
-
-module.exports = {
- site: 'epgshare01.online',
- days: 2,
- url({ channel }) {
- const [tag] = channel.site_id.split('#')
-
- return `https://epgshare01.online/epgshare01/epg_ripper_${tag}.xml.gz`
- },
- request: {
- cache: {
- ttl: 24 * 60 * 60 * 1000 // 1 day
- },
- maxContentLength: 100000000 // 100 MB
- },
- parser({ buffer, channel, date, cached }) {
- if (!cached) cachedContent = undefined
-
- let programs = []
- const items = parseItems(buffer, channel, date)
- items.forEach(item => {
- programs.push({
- title: item.title?.[0]?.value,
- description: item.desc?.[0]?.value,
- start: item.start,
- stop: item.stop
- })
- })
-
- return programs
- },
- async channels({ tag }) {
- const url = `https://epgshare01.online/epgshare01/epg_ripper_${tag}.xml.gz`
- try {
- const res = await axios.get(url, { responseType: 'stream' })
-
- const parserStream = sax.createStream(true, { trim: true })
- const channels = []
- let current = null
- let curText = ''
- let curTag = null
-
- parserStream.on('opentag', node => {
- const name = node.name.toLowerCase()
- if (name === 'channel') {
- current = { id: node.attributes.id || node.attributes.ID, displayName: [] }
- } else if (current && (name === 'display-name' || name === 'displayname')) {
- curTag = 'displayName'
- curText = ''
- // capture possible lang attribute (xml:lang or lang)
- current._lang = node.attributes['xml:lang'] || node.attributes['xml:Lang'] || node.attributes.lang
- }
- })
-
- parserStream.on('text', text => {
- if (curTag === 'displayName') curText += text
- })
-
- parserStream.on('cdata', text => {
- if (curTag === 'displayName') curText += text
- })
-
- parserStream.on('closetag', nameRaw => {
- const name = nameRaw.toLowerCase()
- if (current && (name === 'display-name' || name === 'displayname')) {
- current.displayName.push({
- lang: current._lang || 'en',
- value: curText.trim()
- })
- curTag = null
- curText = ''
- current._lang = undefined
- } else if (name === 'channel' && current) {
- channels.push({ id: current.id, displayName: current.displayName })
- current = null
- }
- })
-
- await new Promise((resolve, reject) => {
- res.data
- .pipe(zlib.createGunzip())
- .pipe(parserStream)
- .on('end', resolve)
- .on('error', reject)
- })
-
- return channels.map(channel => {
- const displayName = (channel.displayName && channel.displayName[0]) || { lang: 'en', value: channel.id }
- return {
- lang: displayName.lang || 'en',
- site_id: `${tag}#${channel.id}`,
- name: displayName.value
- }
- })
- } catch (err) {
- console.error(err)
- return []
- }
- }
-}
-
-function parseItems(buffer, channel, date) {
- if (!buffer) return []
-
- if (!cachedContent) {
- const content = ungzip(buffer)
- const encoded = iconv.decode(content, 'utf8')
- cachedContent = parser.parse(encoded)
- }
-
- const { programs } = cachedContent
- const [, channelId] = channel.site_id.split('#')
-
- return programs.filter(p => p.channel === channelId && date.isSame(p.start, 'day'))
-}
+const axios = require('axios')
+const iconv = require('iconv-lite')
+const parser = require('epg-parser')
+const { ungzip } = require('pako')
+const zlib = require('zlib')
+const sax = require('sax')
+
+let cachedContent
+
+module.exports = {
+ site: 'epgshare01.online',
+ days: 2,
+ url({ channel }) {
+ const [tag] = channel.site_id.split('#')
+
+ return `https://epgshare01.online/epgshare01/epg_ripper_${tag}.xml.gz`
+ },
+ request: {
+ cache: {
+ ttl: 24 * 60 * 60 * 1000 // 1 day
+ },
+ maxContentLength: 100000000 // 100 MB
+ },
+ parser({ buffer, channel, date, cached }) {
+ if (!cached) cachedContent = undefined
+
+ let programs = []
+ const items = parseItems(buffer, channel, date)
+ items.forEach(item => {
+ programs.push({
+ title: item.title?.[0]?.value,
+ description: item.desc?.[0]?.value,
+ start: item.start,
+ stop: item.stop
+ })
+ })
+
+ return programs
+ },
+ async channels({ tag }) {
+ const url = `https://epgshare01.online/epgshare01/epg_ripper_${tag}.xml.gz`
+ try {
+ const res = await axios.get(url, { responseType: 'stream' })
+
+ const parserStream = sax.createStream(true, { trim: true })
+ const channels = []
+ let current = null
+ let curText = ''
+ let curTag = null
+
+ parserStream.on('opentag', node => {
+ const name = node.name.toLowerCase()
+ if (name === 'channel') {
+ current = { id: node.attributes.id || node.attributes.ID, displayName: [] }
+ } else if (current && (name === 'display-name' || name === 'displayname')) {
+ curTag = 'displayName'
+ curText = ''
+ // capture possible lang attribute (xml:lang or lang)
+ current._lang =
+ node.attributes['xml:lang'] || node.attributes['xml:Lang'] || node.attributes.lang
+ }
+ })
+
+ parserStream.on('text', text => {
+ if (curTag === 'displayName') curText += text
+ })
+
+ parserStream.on('cdata', text => {
+ if (curTag === 'displayName') curText += text
+ })
+
+ parserStream.on('closetag', nameRaw => {
+ const name = nameRaw.toLowerCase()
+ if (current && (name === 'display-name' || name === 'displayname')) {
+ current.displayName.push({
+ lang: current._lang || 'en',
+ value: curText.trim()
+ })
+ curTag = null
+ curText = ''
+ current._lang = undefined
+ } else if (name === 'channel' && current) {
+ channels.push({ id: current.id, displayName: current.displayName })
+ current = null
+ }
+ })
+
+ await new Promise((resolve, reject) => {
+ res.data.pipe(zlib.createGunzip()).pipe(parserStream).on('end', resolve).on('error', reject)
+ })
+
+ return channels.map(channel => {
+ const displayName = (channel.displayName && channel.displayName[0]) || {
+ lang: 'en',
+ value: channel.id
+ }
+ return {
+ lang: displayName.lang || 'en',
+ site_id: `${tag}#${channel.id}`,
+ name: displayName.value
+ }
+ })
+ } catch (err) {
+ console.error(err)
+ return []
+ }
+ }
+}
+
+function parseItems(buffer, channel, date) {
+ if (!buffer) return []
+
+ if (!cachedContent) {
+ const content = ungzip(buffer)
+ const encoded = iconv.decode(content, 'utf8')
+ cachedContent = parser.parse(encoded)
+ }
+
+ const { programs } = cachedContent
+ const [, channelId] = channel.site_id.split('#')
+
+ return programs.filter(p => p.channel === channelId && date.isSame(p.start, 'day'))
+}