From b4a05f200e0c258e2aa2ebbcb166297f408d68a3 Mon Sep 17 00:00:00 2001
From: quepasaquepasa <293237286+quepasaquepasa@users.noreply.github.com>
Date: Thu, 30 Jul 2026 22:30:42 -0400
Subject: [PATCH 1/8] Drop implausible season/episode numbers in ziggogo.tv
---
sites/ziggogo.tv/ziggogo.tv.config.js | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/sites/ziggogo.tv/ziggogo.tv.config.js b/sites/ziggogo.tv/ziggogo.tv.config.js
index be48eee07..d8b8f3e29 100644
--- a/sites/ziggogo.tv/ziggogo.tv.config.js
+++ b/sites/ziggogo.tv/ziggogo.tv.config.js
@@ -72,8 +72,8 @@ module.exports = {
subTitle: event.episodeName,
description: event.longDescription ? event.longDescription : event.shortDescription,
category: event.genres,
- season: event.seasonNumber,
- episode: event.episodeNumber,
+ season: parsePlausibleNumber(event.seasonNumber, 1000),
+ episode: parsePlausibleNumber(event.episodeNumber, 100000),
country: event.countryOfOrigin,
actor: event.actors,
director: event.directors,
@@ -115,6 +115,13 @@ module.exports = {
}
}
+function parsePlausibleNumber(value, max) {
+ // events without real season/episode data carry internal ids in these fields
+ // (e.g. seasonNumber 93850000, episodeNumber 513104549); the ziggogo.tv
+ // frontend hides such values, so drop anything outside a plausible range
+ return value > 0 && value < max ? value : null
+}
+
function segmentUrl(date, segment = 0) {
return `https://staticqbr-prod-nl.gnp.cloud.ziggogo.tv/eng/web/epg-service-lite/nl/en/events/segments/${date.format(
'YYYYMMDD'
From 4de574ead1b5547ed3f5aba964df09006e4816eb Mon Sep 17 00:00:00 2001
From: quepasaquepasa <293237286+quepasaquepasa@users.noreply.github.com>
Date: Sat, 1 Aug 2026 23:12:31 -0400
Subject: [PATCH 2/8] Update ziggogo.tv test for dropped implausible numbers
---
sites/ziggogo.tv/ziggogo.tv.test.js | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sites/ziggogo.tv/ziggogo.tv.test.js b/sites/ziggogo.tv/ziggogo.tv.test.js
index 381fa71a3..f44d5c188 100644
--- a/sites/ziggogo.tv/ziggogo.tv.test.js
+++ b/sites/ziggogo.tv/ziggogo.tv.test.js
@@ -67,8 +67,10 @@ it('can parse response', async () => {
description:
'Homeshoppingprogramma waarin de kijker via de telefoon allerlei producten kan aanschaffen.',
category: ["Consumentenprogramma's", 'Shoppen'],
- season: 78610000,
- episode: 492767862
+ // The source sends internal ids here rather than real numbering
+ // (season 78610000, episode 492767862), so they are dropped.
+ season: null,
+ episode: null
})
expect(result[19]).toMatchObject({
start: '2026-05-30T22:44:00.000Z',
From a047034a86e37ac4ed88adaceecf5df196165a46 Mon Sep 17 00:00:00 2001
From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com>
Date: Thu, 1 Oct 2026 03:27:50 +0000
Subject: [PATCH 3/8] [Bot] Update GUIDES.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/epg/actions/runs/36810581437) workflow.
---
GUIDES.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GUIDES.md b/GUIDES.md
index ac8810102..78e1e2f28 100644
--- a/GUIDES.md
+++ b/GUIDES.md
@@ -5,7 +5,7 @@
| Host | Status | Channels | Last Updated | Links |
- | worker-9dd4.onrender.com | 🔴 | 0 | - | - |
+ | worker-9dd4.onrender.com | 🟢 | 2 | 3 hours ago | XML | GZIP |
| raw.githubusercontent.com/StrangeDrVN/epg/public/output | 🔴 | 0 | - | - |
| 194.163.157.137:8080 | 🔴 | 0 | - | - |
| jtbsclassic.dpdns.org/epg/ | 🔴 | 0 | - | - |
From 8975ce5209438cf9b6ddee2f772cdb8691b4ee30 Mon Sep 17 00:00:00 2001
From: Marco Migozzi
Date: Thu, 1 Oct 2026 09:10:03 +0200
Subject: [PATCH 4/8] freeview.co.uk: send browser User-Agent for program
details
---
sites/freeview.co.uk/freeview.co.uk.config.js | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/sites/freeview.co.uk/freeview.co.uk.config.js b/sites/freeview.co.uk/freeview.co.uk.config.js
index 3a0f03d46..956929704 100644
--- a/sites/freeview.co.uk/freeview.co.uk.config.js
+++ b/sites/freeview.co.uk/freeview.co.uk.config.js
@@ -85,7 +85,12 @@ function parseItems(content, channel) {
async function loadProgramDetails(item) {
const url = `https://www.freeview.co.uk/api/program?pid=${item.program_id}&start_time=${item.start_time}&duration=${item.duration}`
const data = await axios
- .get(url)
+ .get(url, {
+ headers: {
+ 'User-Agent':
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36'
+ }
+ })
.then(r => {
const programs = r?.data?.data?.programs
return Array.isArray(programs) && programs.length > 0 ? programs[0] : {}
From 6ee748ad07990e3e3f829ab137b722624e16b8e5 Mon Sep 17 00:00:00 2001
From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com>
Date: Fri, 2 Oct 2026 03:28:11 +0000
Subject: [PATCH 5/8] [Bot] Update GUIDES.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/epg/actions/runs/36960266792) workflow.
---
GUIDES.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GUIDES.md b/GUIDES.md
index 78e1e2f28..216ff93d4 100644
--- a/GUIDES.md
+++ b/GUIDES.md
@@ -5,7 +5,7 @@
| Host | Status | Channels | Last Updated | Links |
- | worker-9dd4.onrender.com | 🟢 | 2 | 3 hours ago | XML | GZIP |
+ | worker-9dd4.onrender.com | 🟢 | 2 | a day ago | XML | GZIP |
| raw.githubusercontent.com/StrangeDrVN/epg/public/output | 🔴 | 0 | - | - |
| 194.163.157.137:8080 | 🔴 | 0 | - | - |
| jtbsclassic.dpdns.org/epg/ | 🔴 | 0 | - | - |
From aab705c6b90decfad2c9b27d1d6dbc8eeab9bbfd Mon Sep 17 00:00:00 2001
From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com>
Date: Sun, 4 Oct 2026 03:41:21 +0000
Subject: [PATCH 6/8] [Bot] Update SITES.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/epg/actions/runs/37174758450) workflow.
---
SITES.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/SITES.md b/SITES.md
index d36996dd5..b0fbc640e 100644
--- a/SITES.md
+++ b/SITES.md
@@ -253,7 +253,7 @@
| zap.co.ao | 114 | 🟢 | |
| zap2it.com | 595 | 🟢 | |
| zee5.com | 116 | 🟢 | |
- | ziggogo.tv | 160 | 🟡 | https://github.com/iptv-org/epg/issues/2977 |
+ | ziggogo.tv | 160 | 🟢 | |
| znbc.co.zm | 4 | 🟢 | |
| zuragt.mn | 34 | 🟢 | |
From e9cc5d288eb8f11fcdfc801c9c24d442fe4936cd Mon Sep 17 00:00:00 2001
From: Marco Migozzi
Date: Mon, 5 Oct 2026 10:00:02 +0200
Subject: [PATCH 7/8] freeview.co.uk: share HEADERS with channels()
---
sites/freeview.co.uk/freeview.co.uk.config.js | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/sites/freeview.co.uk/freeview.co.uk.config.js b/sites/freeview.co.uk/freeview.co.uk.config.js
index 956929704..585a39da9 100644
--- a/sites/freeview.co.uk/freeview.co.uk.config.js
+++ b/sites/freeview.co.uk/freeview.co.uk.config.js
@@ -5,6 +5,11 @@ const parseDuration = require('parse-duration').default
dayjs.extend(utc)
+const HEADERS = {
+ 'User-Agent':
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36'
+}
+
module.exports = {
site: 'freeview.co.uk',
days: 2,
@@ -41,7 +46,9 @@ module.exports = {
for (let networkId = 64257; networkId <= 64425; networkId++) { // loop through all valid networkIds starting from 64257 (Greater London) to 64425 (Belfast) to ensure we can get all the channels available on freeview
console.log(networkId)
const data = await axios
- .get(`https://www.freeview.co.uk/api/tv-guide?nid=${networkId}&start=${startTimestamp}`)
+ .get(`https://www.freeview.co.uk/api/tv-guide?nid=${networkId}&start=${startTimestamp}`, {
+ headers: HEADERS
+ })
.then(r => r.data)
.catch(console.log)
@@ -85,12 +92,7 @@ function parseItems(content, channel) {
async function loadProgramDetails(item) {
const url = `https://www.freeview.co.uk/api/program?pid=${item.program_id}&start_time=${item.start_time}&duration=${item.duration}`
const data = await axios
- .get(url, {
- headers: {
- 'User-Agent':
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36'
- }
- })
+ .get(url, { headers: HEADERS })
.then(r => {
const programs = r?.data?.data?.programs
return Array.isArray(programs) && programs.length > 0 ? programs[0] : {}
From 6f6cfe2f82fac6bf4e09def36baae4fc5656bacc Mon Sep 17 00:00:00 2001
From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com>
Date: Fri, 16 Oct 2026 02:34:24 +0000
Subject: [PATCH 8/8] [Bot] Update GUIDES.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/epg/actions/runs/38841087066) workflow.
---
GUIDES.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GUIDES.md b/GUIDES.md
index 216ff93d4..ac8810102 100644
--- a/GUIDES.md
+++ b/GUIDES.md
@@ -5,7 +5,7 @@
| Host | Status | Channels | Last Updated | Links |
- | worker-9dd4.onrender.com | 🟢 | 2 | a day ago | XML | GZIP |
+ | worker-9dd4.onrender.com | 🔴 | 0 | - | - |
| raw.githubusercontent.com/StrangeDrVN/epg/public/output | 🔴 | 0 | - | - |
| 194.163.157.137:8080 | 🔴 | 0 | - | - |
| jtbsclassic.dpdns.org/epg/ | 🔴 | 0 | - | - |