diff --git a/GUIDES.md b/GUIDES.md
index c96da57a1..1f020f5c9 100644
--- a/GUIDES.md
+++ b/GUIDES.md
@@ -5,9 +5,8 @@
| Host | Status | Channels | Last Updated | Links |
- | worker-9dd4.onrender.com
-raw.githubusercontent.com/StrangeDrVN/epg/public/output
- | 🔴 | 0 | - | - |
+ | worker-9dd4.onrender.com | 🟢 | 2 | a day ago | XML | GZIP | JSON |
+ | raw.githubusercontent.com/StrangeDrVN/epg/public/output | 🟢 | 468 | a day ago | XML | GZIP | JSON |
diff --git a/sites/dazn.com/__data__/content.json b/sites/dazn.com/__data__/content.json
new file mode 100644
index 000000000..3871aef3b
--- /dev/null
+++ b/sites/dazn.com/__data__/content.json
@@ -0,0 +1,154 @@
+{
+ "Id": "LinearChannels",
+ "Title": "Kanäle",
+ "Tiles": [
+ {
+ "Id": "Linear:bj5o60qt6uoe1clfdsev239pr",
+ "AssetId": "bj5o60qt6uoe1clfdsev239pr",
+ "Title": "DAZN 1",
+ "LogoImage": {
+ "ImageMimeType": "png",
+ "ImageType": "image-logo",
+ "Id": "Logo_LTV_DAZN_1"
+ },
+ "LinearSchedule": {
+ "Now": {
+ "Title": "Spanish Copa del Rey Soccer",
+ "EpisodeTitle": "Atlético Madrid - FC Barcelona",
+ "Genre": [
+ {
+ "name": "Soccer",
+ "MappedValue": [1]
+ }
+ ],
+ "Description": "Aus dem Riyadh Air Metropolitano in Madrid, Spanien.",
+ "Start": "2026-07-19T15:00:00Z",
+ "End": "2026-07-19T17:00:00Z",
+ "Image": {
+ "ImageMimeType": "png",
+ "ImageType": "image-portrait",
+ "Id": "DAZN_1"
+ },
+ "BackgroundImage": {
+ "ImageMimeType": "jpg",
+ "ImageType": "image-background",
+ "Id": "111745_2026-07-19_EP037460110300_108429740567_2026-02-13T20:01:23Z_GNLZZGG002QL9SB"
+ },
+ "GradientBackgroundImage": {
+ "ImageMimeType": "jpg",
+ "ImageType": "image-background",
+ "Id": "111745_2026-07-19_EP037460110300_108429740567_2026-02-13T20:01:23Z_GNLZZGG002QL9SB"
+ },
+ "IsLive": false,
+ "EventYear": "2026",
+ "ProgramType": "Sports event",
+ "TvRating": null
+ },
+ "Next": {
+ "Title": "The Late Kick 2026",
+ "EpisodeTitle": "Folge 6",
+ "Genre": [
+ {
+ "name": "Soccer",
+ "MappedValue": [1]
+ }
+ ],
+ "Description": "",
+ "Start": "2026-07-19T17:00:00Z",
+ "End": "2026-07-19T17:50:00Z",
+ "Image": {
+ "ImageMimeType": "png",
+ "ImageType": "image-portrait",
+ "Id": "DAZN_1"
+ },
+ "BackgroundImage": {
+ "ImageMimeType": "jpg",
+ "ImageType": "image-background",
+ "Id": "111745_2026-07-19_SH064823960000_108834056900_2026-06-16T01:52:26Z_p33375908_st_h10_aa"
+ },
+ "GradientBackgroundImage": {
+ "ImageMimeType": "jpg",
+ "ImageType": "image-background",
+ "Id": "111745_2026-07-19_SH064823960000_108834056900_2026-06-16T01:52:26Z_p33375908_st_h10_aa"
+ },
+ "IsLive": false,
+ "EventYear": "2026",
+ "ProgramType": "Sports non-event",
+ "TvRating": null
+ },
+ "Later": [
+ {
+ "Title": "Best of DAZN - Highlights",
+ "EpisodeTitle": "",
+ "Genre": [
+ {
+ "name": "Entertainment"
+ }
+ ],
+ "Description": "Bei Best of DAZN erwarten euch ausgewählte Highlights.",
+ "Start": "2026-07-19T17:50:00Z",
+ "End": "2026-07-19T18:10:00Z",
+ "Image": {
+ "ImageMimeType": "png",
+ "ImageType": "image-portrait",
+ "Id": "DAZN_1"
+ },
+ "BackgroundImage": {
+ "ImageMimeType": "jpg",
+ "ImageType": "image-background",
+ "Id": "111745_2026-07-19_SH048946860000_101077135689_2022-04-22T10:18:32Z_p19111987_i_h8_aa"
+ },
+ "GradientBackgroundImage": {
+ "ImageMimeType": "jpg",
+ "ImageType": "image-background",
+ "Id": "111745_2026-07-19_SH048946860000_101077135689_2022-04-22T10:18:32Z_p19111987_i_h8_aa"
+ },
+ "IsLive": false,
+ "EventYear": "2020",
+ "ProgramType": "Sports non-event",
+ "TvRating": null
+ },
+ {
+ "Title": "Bundesliga Soccer",
+ "EpisodeTitle": "31. Spieltag",
+ "Genre": [
+ {
+ "name": "Soccer",
+ "MappedValue": [1]
+ }
+ ],
+ "Description": "Berichtet wird vom 31. Spieltag der Fußball-Bundesliga.",
+ "Start": "2026-07-20T06:00:00Z",
+ "End": "2026-07-20T07:05:00Z",
+ "Image": {
+ "ImageMimeType": "png",
+ "ImageType": "image-portrait",
+ "Id": "DAZN_1"
+ },
+ "BackgroundImage": {
+ "ImageMimeType": "jpg",
+ "ImageType": "image-background",
+ "Id": "111745_2026-07-20_SH037261360000_109454514209_2025-08-28T09:24:36Z_p7956966_i_h8_aj"
+ },
+ "IsLive": false,
+ "EventYear": "2026",
+ "ProgramType": "Sports non-event",
+ "TvRating": null
+ }
+ ]
+ }
+ },
+ {
+ "Id": "Linear:9dmerrb96eue11mjxhgbnyjho",
+ "AssetId": "9dmerrb96eue11mjxhgbnyjho",
+ "Title": "Rally TV",
+ "LogoImage": {
+ "ImageMimeType": "png",
+ "ImageType": "image-logo",
+ "Id": "Logo_Rally_TV"
+ },
+ "LinearSchedule": null
+ }
+ ],
+ "Type": "Linear"
+}
diff --git a/sites/dazn.com/dazn.com.channels.xml b/sites/dazn.com/dazn.com.channels.xml
new file mode 100644
index 000000000..b9bcb14a0
--- /dev/null
+++ b/sites/dazn.com/dazn.com.channels.xml
@@ -0,0 +1,124 @@
+
+
+ Eurosport 1
+ DAZN 2
+ DAZN FAST+
+ DAZN RISE
+ NHL FAST Channel
+ Rally TV
+ Eurosport 2
+ DAZN 1
+ MLB Network
+ Red Bull TV
+ Unbeaten
+ DFB.TV
+ NFL Network
+ SPORTDIGITAL FUSSBALL
+ Unbeaten
+ Red Bull TV
+ NHL FAST Channel
+ NFL Network: Live 24/7 Coverage
+ NFL Network: Live 24/7 Coverage
+ Red Bull TV: Extreme Sports Channel
+ NHL FAST Channel
+ Unbeaten: 24/7 Global Sports Channel
+ Rally TV
+ MLB Network
+ Unbeaten: 24/7 Global Sports Channel
+ Rally TV
+ Red Bull TV
+ NFL Network
+ Rally TV
+ Red Bull TV: Extreme Sports Channel
+ NHL FAST Channel
+ NFL Network: Live 24/7 Coverage
+ Unbeaten: 24/7 Global Sports Channel
+ Red Bull TV: Extreme Sports Channel
+ DAZN 1 USA
+ Fubo Sports
+ Unbeaten: 24/7 Global Sports Channel
+ Rally TV
+ NFL Network
+ Red Bull TV: Extreme Sports Channel
+ Unbeaten: 24/7 Global Sports Channel
+ Rally TV
+ DSPORTS 2
+ DSPORTS
+ DSPORTS +
+ DSPORTS
+ DSPORTS
+ Red Bull TV
+ Eurosport 2
+ Eurosport 1
+ LALIGA TV HYPERMOTION
+ Rally TV
+ DAZN 2
+ NFL Network
+ NHL FAST Channel
+ DAZN 1
+ DAZN F1®
+ DAZN Mundial
+ Unbeaten
+ DSPORTS
+ DSPORTS
+ DSPORTS
+ Rally TV
+ NFL Network
+ Red Bull TV
+ Unbeaten
+ NHL FAST Channel
+ NFL Network
+ NHL FAST Channel
+ Red Bull TV
+ Unbeaten
+ Unbeaten
+ MLB Network
+ Rally TV
+ Red Bull TV
+ Radio TV Serie A
+ Inter TV
+ Eurosport 4
+ Real Time
+ Eurosport 1
+ DAZN 1
+ DMAX
+ NFL Network
+ Unbeaten
+ NHL FAST Channel
+ Eurosport 5
+ Eurosport 3
+ Eurosport 6
+ Discovery
+ NOVE
+ Eurosport 2
+ Red Bull TV
+ Rally TV
+ Milan TV
+ NHL FAST Channel
+ Unbeaten
+ レッドブルTV(24時間チャンネル)
+ NFL Network
+ Rally TV
+ Red Bull TV: Extreme Sports Channel
+ NHL FAST Channel
+ NFL Network: Live 24/7 Coverage
+ Unbeaten: 24/7 Global Sports Channel
+ Red Bull TV
+ NFL Network
+ Rally TV
+ Unbeaten
+ NHL FAST Channel
+ DAZN 2
+ DAZN 5
+ DAZN 3
+ Red Bull TV
+ DAZN 1
+ NFL Network
+ DAZN 4
+ Unbeaten
+ Red Bull TV
+ Unbeaten
+ NHL FAST Channel
+ Rally TV
+ NFL Network
+
diff --git a/sites/dazn.com/dazn.com.config.js b/sites/dazn.com/dazn.com.config.js
new file mode 100644
index 000000000..faa43f65f
--- /dev/null
+++ b/sites/dazn.com/dazn.com.config.js
@@ -0,0 +1,219 @@
+const axios = require('axios')
+const dayjs = require('dayjs')
+const utc = require('dayjs/plugin/utc')
+
+dayjs.extend(utc)
+
+const API_URL = 'https://rail-router.discovery.indazn.com/eu/v10/Rail'
+const IMAGE_API_URL = 'https://image.discovery.indazn.com/eu/v3/linear-channel/none'
+const DEFAULT_COUNTRY = 'de'
+const SUPPORTED_COUNTRIES =
+ 'ad ae af ag ai al am ao aq ar at au aw ax az ba bb bd be bf bg bh bi bj bl bm bn bo bq br bs bt bv bw bz ca cc cd cf cg ch ci ck cl cm co cr cv cw cx cy cz de dj dk dm do dz ec ee eg eh er es et fi fj fk fm fo fr ga gb gd ge gf gh gl gm gn gp gq gr gs gt gu gw gy hk hm hn hr ht hu id ie il in io iq is it jm jo jp ke kg kh ki km kn kr kw ky kz la lb lc li lk lr ls lt lu lv ly ma mc md me mf mg mh mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nc ne nf ng ni nl no np nr nu nz om pa pe pf pg ph pk pl pm pn ps pt pw py qa re ro rs rw sa sb sc sd se sg sh si sj sk sl sn so sr ss st sv sx sz tc td tf tg th tj tk tl tm tn to tr tt tv tw tz ua ug um us uy uz vc ve vg vi vn vu wf ws xk ye yt za zm zw'.split(
+ ' '
+ )
+const COUNTRY_LANGUAGES = {
+ ar: 'es',
+ at: 'de',
+ be: 'fr',
+ bo: 'es',
+ br: 'pt',
+ ch: 'de',
+ cl: 'es',
+ co: 'es',
+ cr: 'es',
+ de: 'de',
+ do: 'es',
+ ec: 'es',
+ es: 'es',
+ fr: 'fr',
+ gt: 'es',
+ hn: 'es',
+ it: 'it',
+ jp: 'ja',
+ li: 'de',
+ lu: 'fr',
+ mc: 'fr',
+ mx: 'es',
+ ni: 'es',
+ nl: 'nl',
+ pa: 'es',
+ pe: 'es',
+ pt: 'pt',
+ py: 'es',
+ sv: 'es',
+ tw: 'zh',
+ uy: 'es',
+ ve: 'es'
+}
+const PREFERRED_COUNTRIES = {
+ de: 'de',
+ en: 'gb',
+ es: 'es',
+ fr: 'fr',
+ it: 'it',
+ ja: 'jp',
+ nl: 'nl',
+ pt: 'pt',
+ zh: 'tw'
+}
+const HEADERS = {
+ Accept: 'application/json, text/plain, */*',
+ Referer: 'https://www.dazn.com/'
+}
+
+module.exports = {
+ site: 'dazn.com',
+ days: 3,
+ url({ channel }) {
+ const { country } = parseSiteId(channel.site_id)
+
+ return createApiUrl(country, channel.lang || getLanguage(country))
+ },
+ request: {
+ headers: HEADERS,
+ cache: {
+ ttl: 5 * 60 * 1000
+ }
+ },
+ parser({ content, channel, date }) {
+ const data = parseData(content)
+ const tiles = Array.isArray(data?.Tiles) ? data.Tiles : []
+ const { assetId } = parseSiteId(channel.site_id)
+ const tile = tiles.find(item => item.AssetId === assetId)
+
+ if (!tile?.LinearSchedule) return []
+
+ const schedule = tile.LinearSchedule
+ const programs = [
+ schedule.Now,
+ schedule.Next,
+ ...(Array.isArray(schedule.Later) ? schedule.Later : [])
+ ].filter(Boolean)
+
+ return programs
+ .filter(item => item.Start && item.End && dayjs.utc(item.Start).isSame(date, 'day'))
+ .map(parseProgram)
+ },
+ async channels({ country, lang } = {}) {
+ if (country) return loadChannels(country, lang)
+
+ const channelsByAssetAndLanguage = new Map()
+ for (const supportedCountry of SUPPORTED_COUNTRIES) {
+ for (const channel of await loadChannels(supportedCountry)) {
+ const { assetId, country } = parseSiteId(channel.site_id)
+ const key = `${assetId}#${channel.lang}`
+ const current = channelsByAssetAndLanguage.get(key)
+
+ if (!current || isPreferredCountry(country, channel.lang)) {
+ channelsByAssetAndLanguage.set(key, channel)
+ }
+ }
+ }
+
+ return Array.from(channelsByAssetAndLanguage.values())
+ }
+}
+
+async function loadChannels(country, lang) {
+ country = country.toLowerCase()
+ if (!SUPPORTED_COUNTRIES.includes(country)) {
+ throw new Error(`Unsupported DAZN country: ${country}`)
+ }
+
+ const language = lang || getLanguage(country)
+ const { data } = await axios.get(createApiUrl(country, language), { headers: HEADERS })
+ const tiles = Array.isArray(data?.Tiles) ? data.Tiles : []
+
+ return tiles
+ .filter(tile => tile.AssetId && tile.Title)
+ .map(tile => ({
+ lang: language,
+ site_id: createSiteId(country, tile.AssetId),
+ name: tile.Title,
+ logo: createImageUrl(tile.LogoImage, {
+ resizeAction: 'contain',
+ width: 68,
+ height: 56,
+ format: 'png'
+ })
+ }))
+}
+
+function createApiUrl(country, language) {
+ const params = new URLSearchParams({
+ platform: 'web',
+ id: 'Livetvschedule',
+ country,
+ brand: 'dazn',
+ languageCode: language
+ })
+
+ return `${API_URL}?${params}`
+}
+
+function createSiteId(country, assetId) {
+ return country === DEFAULT_COUNTRY ? assetId : `${country}#${assetId}`
+}
+
+function parseSiteId(siteId) {
+ const separator = siteId.indexOf('#')
+
+ if (separator === -1) return { country: DEFAULT_COUNTRY, assetId: siteId }
+
+ return {
+ country: siteId.slice(0, separator),
+ assetId: siteId.slice(separator + 1)
+ }
+}
+
+function getLanguage(country) {
+ return COUNTRY_LANGUAGES[country] || 'en'
+}
+
+function isPreferredCountry(country, language) {
+ return country === PREFERRED_COUNTRIES[language]
+}
+
+function parseData(content) {
+ try {
+ return typeof content === 'string' ? JSON.parse(content) : content
+ } catch {
+ return null
+ }
+}
+
+function parseProgram(item) {
+ const program = {
+ title: item.Title,
+ start: item.Start,
+ stop: item.End
+ }
+
+ if (item.EpisodeTitle) program.subTitle = item.EpisodeTitle
+ if (item.Description) program.description = item.Description
+ if (item.EventYear) program.date = item.EventYear
+ if (item.TvRating) program.rating = item.TvRating
+
+ const categories = (Array.isArray(item.Genre) ? item.Genre : [])
+ .map(genre => genre?.name)
+ .filter(Boolean)
+ if (item.ProgramType) categories.push(item.ProgramType)
+ if (categories.length) program.categories = [...new Set(categories)]
+
+ const image = item.BackgroundImage || item.GradientBackgroundImage || item.Image
+ const icon = createImageUrl(image)
+ if (icon) program.icon = icon
+
+ return program
+}
+
+function createImageUrl(
+ image,
+ { resizeAction = 'fill', width = 856, height = 481, format = 'webp' } = {}
+) {
+ if (!image?.Id) return null
+
+ return `${IMAGE_API_URL}/${encodeURIComponent(
+ image.Id
+ )}/${resizeAction}/center/center/none/80/${width}/${height}/${format}/image?brand=dazn`
+}
diff --git a/sites/dazn.com/dazn.com.test.js b/sites/dazn.com/dazn.com.test.js
new file mode 100644
index 000000000..a11c54758
--- /dev/null
+++ b/sites/dazn.com/dazn.com.test.js
@@ -0,0 +1,122 @@
+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')
+const { channels, parser, url } = require('./dazn.com.config.js')
+
+dayjs.extend(utc)
+dayjs.extend(customParseFormat)
+
+jest.mock('axios')
+
+const date = dayjs.utc('2026-07-19', 'YYYY-MM-DD').startOf('day')
+const channel = { site_id: 'bj5o60qt6uoe1clfdsev239pr' }
+const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'), 'utf8')
+
+it('can generate valid url', () => {
+ expect(url({ channel })).toBe(
+ 'https://rail-router.discovery.indazn.com/eu/v10/Rail?platform=web&id=Livetvschedule&country=de&brand=dazn&languageCode=de'
+ )
+})
+
+it('can generate regional url', () => {
+ expect(url({ channel: { site_id: 'es#asset-id', lang: 'es' } })).toBe(
+ 'https://rail-router.discovery.indazn.com/eu/v10/Rail?platform=web&id=Livetvschedule&country=es&brand=dazn&languageCode=es'
+ )
+})
+
+it('can parse response', () => {
+ const results = parser({ content, channel, date })
+
+ expect(results).toHaveLength(3)
+ expect(results[0]).toMatchObject({
+ title: 'Spanish Copa del Rey Soccer',
+ subTitle: 'Atlético Madrid - FC Barcelona',
+ description: 'Aus dem Riyadh Air Metropolitano in Madrid, Spanien.',
+ categories: ['Soccer', 'Sports event'],
+ date: '2026',
+ start: '2026-07-19T15:00:00Z',
+ stop: '2026-07-19T17:00:00Z',
+ icon: 'https://image.discovery.indazn.com/eu/v3/linear-channel/none/111745_2026-07-19_EP037460110300_108429740567_2026-02-13T20%3A01%3A23Z_GNLZZGG002QL9SB/fill/center/center/none/80/856/481/webp/image?brand=dazn'
+ })
+ expect(results[2]).toMatchObject({
+ title: 'Best of DAZN - Highlights',
+ description: 'Bei Best of DAZN erwarten euch ausgewählte Highlights.',
+ categories: ['Entertainment', 'Sports non-event'],
+ start: '2026-07-19T17:50:00Z',
+ stop: '2026-07-19T18:10:00Z'
+ })
+})
+
+it('can filter response by date', () => {
+ const results = parser({ content, channel, date: date.add(1, 'day') })
+
+ expect(results).toHaveLength(1)
+ expect(results[0]).toMatchObject({
+ title: 'Bundesliga Soccer',
+ start: '2026-07-20T06:00:00Z',
+ stop: '2026-07-20T07:05:00Z'
+ })
+})
+
+it('can handle empty guide', () => {
+ expect(parser({ content: '', channel, date })).toEqual([])
+ expect(parser({ content, channel: { site_id: '9dmerrb96eue11mjxhgbnyjho' }, date })).toEqual([])
+})
+
+it('can create channel list', async () => {
+ axios.get.mockResolvedValue({ data: JSON.parse(content) })
+
+ const results = await channels({ country: 'de' })
+
+ expect(results).toHaveLength(2)
+ expect(results[0]).toMatchObject({
+ lang: 'de',
+ site_id: 'bj5o60qt6uoe1clfdsev239pr',
+ name: 'DAZN 1',
+ logo: 'https://image.discovery.indazn.com/eu/v3/linear-channel/none/Logo_LTV_DAZN_1/contain/center/center/none/80/68/56/png/image?brand=dazn'
+ })
+ expect(results[0]).not.toHaveProperty('xmltv_id')
+})
+
+it('can create one deduplicated channel list', async () => {
+ axios.get.mockClear()
+ axios.get.mockResolvedValue({ data: JSON.parse(content) })
+
+ const results = await channels()
+
+ expect(axios.get).toHaveBeenCalledTimes(235)
+ expect(results).toHaveLength(18)
+ expect(results).toEqual(
+ expect.arrayContaining([
+ expect.objectContaining({ lang: 'de', site_id: 'bj5o60qt6uoe1clfdsev239pr' }),
+ expect.objectContaining({ lang: 'es', site_id: 'es#bj5o60qt6uoe1clfdsev239pr' }),
+ expect.objectContaining({ lang: 'en', site_id: 'gb#bj5o60qt6uoe1clfdsev239pr' })
+ ])
+ )
+
+ const keys = results.map(result => {
+ const assetId = result.site_id.includes('#') ? result.site_id.split('#')[1] : result.site_id
+
+ return `${assetId}#${result.lang}`
+ })
+ expect(new Set(keys).size).toBe(results.length)
+})
+
+it('can create regional channel list', async () => {
+ axios.get.mockResolvedValue({ data: JSON.parse(content) })
+
+ const results = await channels({ country: 'es', lang: 'es' })
+
+ expect(axios.get).toHaveBeenCalledWith(
+ 'https://rail-router.discovery.indazn.com/eu/v10/Rail?platform=web&id=Livetvschedule&country=es&brand=dazn&languageCode=es',
+ expect.any(Object)
+ )
+ expect(results[0]).toMatchObject({
+ lang: 'es',
+ site_id: 'es#bj5o60qt6uoe1clfdsev239pr',
+ name: 'DAZN 1'
+ })
+})
diff --git a/sites/dazn.com/readme.md b/sites/dazn.com/readme.md
new file mode 100644
index 000000000..a5f3c620c
--- /dev/null
+++ b/sites/dazn.com/readme.md
@@ -0,0 +1,21 @@
+# dazn.com
+
+https://www.dazn.com/de-DE/epg-fixture/
+
+### Download the guide
+
+```sh
+npm run grab --- --sites=dazn.com
+```
+
+### Update channel list
+
+```sh
+npm run channels:parse --- --config=./sites/dazn.com/dazn.com.config.js --output=./sites/dazn.com/dazn.com.channels.xml
+```
+
+### Test
+
+```sh
+npm test --- dazn.com
+```
diff --git a/sites/tv.blue.ch/tv.blue.ch.channels.xml b/sites/tv.blue.ch/tv.blue.ch.channels.xml
index 439ac0c15..79b390230 100644
--- a/sites/tv.blue.ch/tv.blue.ch.channels.xml
+++ b/sites/tv.blue.ch/tv.blue.ch.channels.xml
@@ -17,7 +17,7 @@
Al Jazeera English
ALMA TV
Deluxe Music
- Alpenland TV
+ AW1 TV
Canal Sur Andalucía
Animal Planet D
Animal Planet I
@@ -31,6 +31,7 @@
ATV
ATV Avrupa
AXN Black
+ B1 TV
BBC Entertainment
BBC Four
BBC News
@@ -38,7 +39,7 @@
BBC Three
BBC Two
BBC World News
- Teleswizz
+ CARAC 5
BFM Business
BFM TV
Bibel TV
@@ -56,14 +57,14 @@
CANAL+
CANAL+ Cinema(s)
Ciné+ Classic
- Ciné+ Club
+ Ciné+ festival
CANAL+ Décalé
Cine+ Emotion
Canal+ en clair
CANAL+ Kids
- Ciné+ Famiz
+ Ciné+ family
Cine+ Frisson
- Ciné + Premier
+ OCS
CANAL+ Series
CANAL+ Sport
Canal 24 Horas
@@ -83,8 +84,10 @@
CGTN
CCTV4
Channel 4
+ Channel 1 Russia
+ Trace Hits
Chasse et Peche
- Chérie 25
+ RMC Life
Now Rock
CHTV
Cielo
@@ -105,17 +108,17 @@
Croatian Music Channel
Cuisine+
CSTAR
- C8
+ CSTAR F
Info TV Davos Klosters
De Pelicula
NOVE
Deepam TV
Deluxe_Music
- Deutsches Musik Fernsehen
+ DMF
Discovery Channel D
Discovery F
Discovery Channel I
- Science Channel F
+ TLC F
Science Channel I
Discovery Travel + Living I
Disney Channel D
@@ -133,13 +136,15 @@
Duna World
DW Englisch
E! Entertainment Deutschland
+ E! Entertainment France
+ E! Entertainment Europe
E4
One
Eins Plus
Energy TV
Equidia Life
Equidia Live
- ERT World
+ ERT Cosmos
Al Masriya
Euro D
Euro Star
@@ -173,9 +178,10 @@
Giallo
Golf Channel
GOLF+
+ gotv
Gulli
- Hayat FOLK
- Hayat PLUS
+ Hayat FOLK BOX
+ Hayat 2
TF1 Séries Films
Heart TV
Box Upfront
@@ -199,11 +205,13 @@
ITV4
joiz
ELLE GIRL
+ Junior
K2
Kabel eins
Kanal 9
KiKa
Kinomir
+ Kiss TV
Klan Kosova
KTO
K-TV
@@ -211,15 +219,16 @@
Kurdistan TV
Kurdsat
La 7
- La 7d
- La Chaine Info
+ La7 Cinema
+ La Chaine Info - LCI
La Télé
La5
Léman Bleu Télévision
- L'Equipe
+ L'Equipe
CARAC 3
M6 Boutique
M6
+ RMC Sport Access 2
Maison+
Mangas
Max TV
@@ -246,14 +255,16 @@
WELT
National Geographic D
National Geographic F
+ National Geographic I
Nat Geo People I
National Geographic Wild D
National Geographic Wild F
+ National Geographic Wild I
Nautical Channel
NDR
- NHK World
+ NHK World Japan
7+ / Nickelodeon
- Nickelodeon Junior
+ Nick Jr.
Nickelodeon
NRJ12
NRTV
@@ -300,6 +311,7 @@
Rai Premium
Rai Scuola
Rai Sport +
+ Rai Sport
Rai Storia
Rai Yoyo
RBB
@@ -313,9 +325,9 @@
RMC Découverte
Romance TV
CARAC 1
- RSI La 1
+ RSI LA 1
RSI LA 2
- RTK1
+ RTK 1
RTL ZWEI
RTL
RTL Crime
@@ -330,6 +342,7 @@
RTV 21
RTVi
Rudaw TV
+ RT
S1
SAT.1
Sat.1 emotions
@@ -339,13 +352,14 @@
Seasons
Servus TV
SHf - Schaffhauser Fernsehen
- Show
+ Show Türk
SIC Internacional
sixx
Sky Atlantic
Sky Bundesliga Sport 1
Sky Krimi
Sky News International
+ Kerrang!
Sky Sport 2
sky TG 24
360
@@ -367,8 +381,8 @@
Super!
K::CN 3
SWR
- Syfy D
- Syfy F
+ Sky Sci-Fi
+ Scifi
Tagesschau24
TC Flash D
blue Zoom F
@@ -454,6 +468,7 @@
TeleZüri
Telebasel
TeleBom - TeleDom
+ blue Prime
blue Stars
blue Sport F
blue Action
@@ -464,6 +479,8 @@
Test Italia
TF1
TGRT EU
+ Thai TV Global Network
+ The Box
Tiji
TLC
Tlnovelas
@@ -473,7 +490,7 @@
Warner TV Serie
Top Crime
Top News
- Toute l'Histoire
+ Toute l'Histoire
Trace Caribbean
Trace Urban
Trek
@@ -492,7 +509,7 @@
TV2000
TV24
TV5 MONDE EUROPE
- TV5 Monde FBS
+ TV5 Monde FBSM
TV8 Mont Blanc
TV8 Int.
TVE Internacional
@@ -527,7 +544,7 @@
Hot Bird 4K1
Fransat UHD Demo
Digiturk
- Drama
+ U&Drama
regioTVplus
blue Vision TV
Toggo Plus
@@ -580,6 +597,7 @@
Zee One
Sky Sport News
Lancy TV
+ RMC Sport Access 1
SFR Sport 4K
RMC Sport Access 3
Helvetia One TV
@@ -607,11 +625,17 @@
Universal TV
Crime District
Auftanken TV
+ Ultra Nature
blue Zoom D
ORF 3
SWISS1
Game TV
+ blue City
blue Retro
+ OCS Max
+ OCS City génération HBO
+ OCS Choc
+ OCS Géants
blue Sport Extra
MUTV
Chelsea TV
@@ -624,10 +648,12 @@
blue Sport 3 Live D
blue Sport 2 direct F
blue Sport 3 direct F
+ VH1 Italy
More Than Sports TV
Fun Box Ultra
Stingray Festival 4K
4K Universe
+ TV4TNG
Sky 1+ 1
Wetter.TV
Polar+
@@ -640,17 +666,19 @@
OCS App
TGCom24
Paramount Network I
+ Canal Extremadura Sat.
Food Network E
Showmax
Session National Council
Session Council Of States
- Grand Genève TV
+ ici TV Romandie
Warner TV
WarnerTV Next
TV Onex
GEO Television
Crime + Investigation D
- my Canal
+ CANAL+ App
+ LATINOS 1
Focus
Spike
Food Network IT
@@ -683,10 +711,10 @@
Cine Sony
Italia Channel
Marco Polo TV
- Motor Trend
+ Discovery Turbo
SuperTennis TV
SPORTITALIA
- Telecity 7 Gold
+ Telecity
kabel eins CLASSICS
La Télé - Fribourg
BBC Parliament
@@ -734,12 +762,13 @@
Enjoy St. Moritz TV
RTS Svet
TV Dukagjini
+ DW Deutsch
DAZN
Ajoie TV
- The Israeli Network
+ Israel+
Pink Reality
Rheinwelten TV
- Vernier Visions
+ ICI MEDIA SPORTS
Televista
6+
TRT Çocuk
@@ -749,16 +778,18 @@
OBN TV
SIC Noticias
TVI Internacional
- RTP 3
- TVI Ficção
+ RTP Notícias
+ V+TVI
Eurosport 1 E
RTL 102.5 TV
+ Smithsonian Channel UK
Radionorba TV
KBS World
Hayat Music
SR Fernsehen
Arirang
- Dave
+ TV Central
+ U&Dave
Fox News
Home & Garden TV
MyMTV Music
@@ -773,9 +804,18 @@
Mezzo Live
MySports Preview D
MySports Eins
- SPORT1+
- eSports1
+ MySports 2 D
+ MySports 3 D
+ MySports 4 D
+ MySports 5 D
+ MySports 6 D
+ MySports 7 D
+ MySports 8 D
+ MySports 9 D
+ Sportdigital1+
+ eSportsONE
SPORTDIGITAL FUSSBALL
+ Extreme Sports
MySports Preview F
MySports Un
MySports 2 F
@@ -787,15 +827,28 @@
MySports 8 F
MySports 9 F
BonGusto
+ Sky Bundesliga 2
+ Sky Bundesliga 3
+ Sky Bundesliga 4
+ Sky Bundesliga 5
+ Sky Bundesliga 6
+ Sky Bundesliga 7
+ Sky Bundesliga 8
+ Sky Bundesliga 9
+ Sky Bundesliga 10
+ Sky Bundesliga 1
+ Sky Sport 1 D
Retro Movies
Swiss Sport TV
Puls 24
+ viaplay Xtra
Quest
Nicktoons
Stingray djazz
pro 7 fun
+ Sky Sport 2 D
Disney Junior Italia
- World Economic Forum TV
+ World Economic Forum TV Channel 1
VOXup
auto motor und sport
ducktv
@@ -819,6 +872,7 @@
Digi 24
Vox Africa
5Star
+ CITV
DMAX UK
Dubai Sports
CNN Türk
@@ -836,28 +890,32 @@
5SELECT
Senato TV
Tunisie Nationale
- Yesterday
+ U&Yesterday
Trace Latina UK
- Pick
+ Karusel Int.
+ Sky Mix
4Seven
Zico TV
RTSH 3
Challenge
RTS 1 (Sénégal)
TPA Internacional
- ORTB
+ Benin TV
Sky Show
First Channel
T7
+ Pink World
Pink Serije
History IT
+ BFM Alsace
+ Teledeporte
Home & Garden TV UK
Oman TV
CT24
Schlager Deluxe
Now 80s
Now 70s
- CBS Reality
+ True Crime
ATV (TR)
San Marino RTV
MySports EDGE
@@ -866,6 +924,7 @@
Lionsgate+ (Logo VOD)
Inhouse Channel
Olympia TV
+ BET
Novelas
MySports Eins Event
MySports 2 D Event
@@ -885,6 +944,7 @@
MySports 7 F Event
MySports 8 F Event
MySports 9 F Event
+ Clique TV
GVAX Latino TV
Amazon Prime Video
Twitch
@@ -893,7 +953,7 @@
Non Stop People
J-One
Volksmusik.TV
- Nickelodeon Teen
+ Nicktoons F
RTL
Game One
Maintime
@@ -919,13 +979,15 @@
Camera dei Deputati
Great! movies
Great! movies action
+ GO-TV Canale 63
GB News
- HitExpress TV
+ AW2 TV
Sky Cinema (Logo VOD)
ARD Plus (Logo VOD)
ARD Plus Kids (Logo VOD)
ZDF select (Logo VOD)
ZDFtivi select (Logo VOD)
+ Bild
Sky Documentaries
Sky Nature
BärnSPORT
@@ -954,9 +1016,10 @@
FreeDOM
Diaspora TV Switzerland
ALTAMEGA Plus
+ Nickelodeon Ukraine Pluto TV
MySports 10 F
MySports 10 F Event
- MySports 10 D
+ MySports Uno I
MySports 10 D Event
MySports EDGE Event
CANAL+ PREMIER LEAGUE
@@ -966,6 +1029,8 @@
Parole di Vita
Antena 3 Int.
Atreseries
+ Sky Sport Golf
+ Sky Sport Bundesliga
Hayatovci
Canal+ Docs
Comedy Central F
@@ -982,8 +1047,8 @@
Trace Latina
OCS Pulp
Sky Showcase
- EU Parlament
- EU Parlament+
+ EU Parliament
+ EU Parliament+
blue Music D 2
blue Music D 3
blue Music F 2
@@ -1000,13 +1065,15 @@
oneplus
blue Event D 1
blue Event F 1
+ RAI Italia
+ Inter TV
Disney+
Paramount+
Canal+ Box Office
Canal+ Grand Ecran
Xplore
Crime Time
- Hip Trip
+ Hip Trips
Just Cooking
One Terra
Trace Vault
@@ -1022,12 +1089,63 @@
Stimmungsgarten TV
CGTN Documentary
Telenuovo
+ BOM Cine
+ RTVS 24
Trentino TV
TeleCapri Sport
Cubavisión Int.
Telecupole
Radio Italia TV
+ TVCG MNE
TVP Info
+ RTSH 24
HRT 4
- 1+1 Int.
+ I-TV
+ Pixel
+ 1+1 Ukraine
+ Una TV
+ Enter-Film
+ Epic Drama
+ Nova BH
+ Network-TV
+ Rhône TV
+ Kanali Voulis
+ Just.fishing
+ Espreso TV
+ SPORTDIGITAL FUSSBALL 2
+ myZenTV 4K
+ Deutscher Bundestag
+ Juwelo TV
+ Rete 55
+ DF1
+ SYLT1
+ travelxp
+ DOKUSAT
+ TELEGOLD
+ TV Monaco
+ RTL GEO Wild (Logo VOD)
+ Höhenrausch
+ Session Council Of States WEB
+ Session National Council WEB
+ Best of ESC
+ RTS Eurovision
+ Best of ESC I
+ Museum TV 4K
+ Info Channel
+ The Filmclub
+ Sky Bundesliga
+ Daystar
+ CANAL+ Sport Event 1
+ CANAL+ Sport Event 2
+ T18
+ Radio 24 - Il Sole 24 Ore TV
+ ITV Quiz
+ HBO Max App
+ World Economic Forum TV Channel 2
+ Canal B D
+ Canal B F
+ Novo 19
+ M6 Music
+ Great! Mystery
+ wedotv Movies IT