From fea8d201b8621350b91051ed6251b6c3cd456807 Mon Sep 17 00:00:00 2001
From: theofficialomega <30985701+BellezaEmporium@users.noreply.github.com>
Date: Thu, 19 Feb 2026 17:14:01 +0100
Subject: [PATCH] re_mg -> mg_alt, fix tests & config
---
sites/canalplus.com/canalplus.com.config.js | 70 +++---
sites/canalplus.com/canalplus.com.test.js | 8 +-
.../canalplus.com_mg_alt.channels.xml | 229 ++++++++++++++++++
.../canalplus.com_re_mg.channels.xml | 229 ------------------
4 files changed, 263 insertions(+), 273 deletions(-)
create mode 100644 sites/canalplus.com/canalplus.com_mg_alt.channels.xml
delete mode 100644 sites/canalplus.com/canalplus.com_re_mg.channels.xml
diff --git a/sites/canalplus.com/canalplus.com.config.js b/sites/canalplus.com/canalplus.com.config.js
index 28623677..147a6bf5 100644
--- a/sites/canalplus.com/canalplus.com.config.js
+++ b/sites/canalplus.com/canalplus.com.config.js
@@ -4,28 +4,29 @@ const utc = require('dayjs/plugin/utc')
dayjs.extend(utc)
+const globalHeaders = {
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36',
+ 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8',
+ 'Accept-Language': 'fr-FR,fr;q=0.6',
+ 'Accept-Encoding': 'gzip, deflate, br',
+ 'Pragma': 'no-cache',
+ 'Priority': 'u=0, i',
+ 'Sec-CH-UA': '"Not:A-Brand";v="99", "Brave";v="145", "Chromium";v="145"',
+ 'sec-ch-ua-mobile': '?0',
+ 'sec-ch-ua-platform': '"Windows"',
+ 'sec-fetch-dest': 'document',
+ 'sec-fetch-mode': 'navigate',
+ 'sec-fetch-site': 'none',
+ 'sec-fetch-user': '?1',
+ 'sec-gpc': '1',
+ 'upgrade-insecure-requests': '1'
+}
+
let canalToken = null
module.exports = {
site: 'canalplus.com',
days: 2,
- headers: {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36',
- 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8',
- 'Accept-Language': 'fr-FR,fr;q=0.6',
- 'Accept-Encoding': 'gzip, deflate, br',
- 'Pragma': 'no-cache',
- 'Priority': 'u=0, i',
- 'Sec-CH-UA': '"Not:A-Brand";v="99", "Brave";v="145", "Chromium";v="145"',
- 'sec-ch-ua-mobile': '?0',
- 'sec-ch-ua-platform': '"Windows"',
- 'sec-fetch-dest': 'document',
- 'sec-fetch-mode': 'navigate',
- 'sec-fetch-site': 'none',
- 'sec-fetch-user': '?1',
- 'sec-gpc': '1',
- 'upgrade-insecure-requests': '1'
- },
url: async function ({ channel, date }) {
if(canalToken === null) canalToken = await parseToken()
@@ -35,6 +36,11 @@ module.exports = {
return `https://hodor.canalplus.pro/api/v2/${path}/channels/${canalToken}/${site_id}/broadcasts/day/${diff}`
},
+ request:{
+ headers() {
+ return globalHeaders
+ }
+ },
async parser({ content }) {
let programs = []
const items = parseItems(content)
@@ -90,6 +96,7 @@ module.exports = {
ht: 'cpant/ht',
mf: 'cpant/mf',
mg: 'cpafr/mg',
+ mg_alt: 'cpmdg',
ml: 'cpafr/ml',
mq: 'cpant/mq',
mr: 'cpafr/mr',
@@ -99,7 +106,6 @@ module.exports = {
pf: 'cppyf/pf',
pl: 'cppol',
re: 'cpreu/re',
- re_mg: 'cpmdg',
rw: 'cpafr/rw',
sl: 'cpafr/sl',
sn: 'cpafr/sn',
@@ -143,28 +149,12 @@ async function parseToken(country) {
const tokenData = await axios.get(
`https://hodor.canalplus.pro/api/v2/${path}/authenticate.json/webapp/6.0?experiments=beta-test-one-tv-guide:control`,
{
- 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': 'fr-FR,fr;q=0.6',
- 'Cache-Control': 'no-cache',
- 'Pragma': 'no-cache',
- 'Priority': 'u=0, i',
- 'Sec-CH-UA': '"Not:A-Brand";v="99", "Brave";v="145", "Chromium";v="145"',
- 'Sec-CH-UA-Mobile': '?0',
- 'Sec-CH-UA-Platform': '"Windows"',
- 'Sec-Fetch-Dest': 'document',
- 'Sec-Fetch-Mode': 'navigate',
- 'Sec-Fetch-Site': 'none',
- '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/145.0.0.0 Safari/537.36'
- }
- })
+ headers: globalHeaders,
+ timeout: 5000
+ }).then(r => r.data).catch(console.error)
- canalToken = tokenData.data.token
- return tokenData.data.token
+ canalToken = tokenData.token
+ return tokenData.token
}
function parseStart(item) {
@@ -189,7 +179,7 @@ async function loadProgramDetails(item) {
if (!item.onClick || !item.onClick.URLPage) return {}
return await axios
- .get(item.onClick.URLPage)
+ .get(item.onClick.URLPage, { headers: globalHeaders })
.then(r => r.data)
.catch(console.error)
}
diff --git a/sites/canalplus.com/canalplus.com.test.js b/sites/canalplus.com/canalplus.com.test.js
index 43c2fb0b..9dc0bd53 100644
--- a/sites/canalplus.com/canalplus.com.test.js
+++ b/sites/canalplus.com/canalplus.com.test.js
@@ -16,9 +16,9 @@ const channel = {
it('can generate valid url for today', done => {
axios.get.mockImplementation(url => {
- if (url === 'https://www.canalplus.com/bi/programme-tv/') {
+ if (url.includes('authenticate.json')) {
return Promise.resolve({
- data: fs.readFileSync(path.resolve(__dirname, '__data__/programme-tv.html'))
+ data: { token: 'f000c6f4ebf44647682b3a0fa66d7d99' }
})
} else {
return Promise.resolve({ data: '' })
@@ -38,9 +38,9 @@ it('can generate valid url for today', done => {
it('can generate valid url for tomorrow', done => {
axios.get.mockImplementation(url => {
- if (url === 'https://www.canalplus.com/bi/programme-tv/') {
+ if (url.includes('authenticate.json')) {
return Promise.resolve({
- data: fs.readFileSync(path.resolve(__dirname, '__data__/programme-tv.html'))
+ data: { token: 'f000c6f4ebf44647682b3a0fa66d7d99' }
})
} else {
return Promise.resolve({ data: '' })
diff --git a/sites/canalplus.com/canalplus.com_mg_alt.channels.xml b/sites/canalplus.com/canalplus.com_mg_alt.channels.xml
new file mode 100644
index 00000000..f9ecf511
--- /dev/null
+++ b/sites/canalplus.com/canalplus.com_mg_alt.channels.xml
@@ -0,0 +1,229 @@
+
+
+ MBC 1
+ 13EME RUE
+ MBC 2
+ ACTION
+ ANTENNE REUNION
+ MBC 3
+ ARTE France
+ BBC NEWS
+ W-SPORT
+ MBC 4
+ CANAL J
+ MBC 5
+ MBC 11
+ CANAL+ CINEMA(S)
+ MBC HD
+ PUNCH TV
+ CANAL+
+ SPORT EN FRANCE
+ CANAL+ SPORT HD
+ CNN
+ CINE+ FESTIVAL
+ CINE+ EMOTION
+ CINE+ FAMILY
+ CINE+ FRISSON
+ OCS HD
+ EUROPE 1 TV
+ COMEDIE+
+ E! ENTERTAINMENT
+ EQUIDIA
+ SS EPL
+ SS LA LIGA
+ SS FOOTBALL HD
+ EUROSPORT 1 HD
+ EUROSPORT 2
+ SS FOOTBALL PLUS HD
+ AL JAZEERA ENG
+ FRANCE 3
+ FRANCE 5
+ BET (ENG)
+ CNEWS
+ TELEMUNDO DSTV
+ INFOSPORT+
+ UNIVERSAL
+ MNET MOVIES 3
+ MNET MOVIES 4
+ LCI
+ LCP ASSEMBLEE NATIONALE
+ L'EQUIPE
+ M6 HD
+ DISCOVERY CHANNEL DSTV
+ ZEE WORLD DSTV
+ NICKELODEON DSTV
+ RFM TV
+ NICKELODEON JR (DSTV)
+ MEZZO
+ BRAVO
+ MTV France
+ AFR MAGIC EPIC
+ TFX
+ AFR MAGIC SHOW DSTV
+ GASYSPORT TV
+ PARIS PREMIERE
+ BEIN SPORTS MAX 6
+ PLANETE+
+ PLANETE+ AVENTURE
+ BEIN SPORTS MAX 7
+ BEIN SPORTS MAX 8
+ RTL9
+ SYFY
+ SEASONS
+ SERIE CLUB
+ BEIN SPORTS MAX 9
+ BEIN SPORTS MAX 10
+ CANAL+ FAMILY
+ CANAL+ POP
+ CANAL+ MAGIC
+ MANGAS
+ PASSION BOLLYWOOD
+ REUNION 1ERE
+ TVM 2
+ MALAGASY TV
+ KULTURA TV
+ REAL TV
+ MADI TV
+ TEVA
+ TF1
+ T18
+ MIEUX
+ TMC
+ CANAL+ CAN HD
+ EUROPE 2 POP TV
+ ACTIVATION NETFLIX
+ TRACE URBAN
+ SS WWE HD
+ TV BREIZH
+ TV5 MONDE (Afrique)
+ NATIONAL GEOGRAPHIC ENG
+ TV5 MONDE FR
+ STUDIO UNIVERSAL
+ XXL
+ FRANCE 24
+ BEIN SPORTS 1 HD
+ ZEE CINEMA HD
+ ZING
+ ZEE TV
+ CANAL+ SPORT 2 HD
+ PIWI+
+ GAME ONE
+ USHUAÏA TV
+ W9
+ PLANETE+ CRIME
+ GULLI
+ MTV HITS
+ TELETOON+
+ CANAL+ SPORT 3 HD
+ KANALAUSTRAL.TV
+ DORCEL HD
+ HISTOIRE
+ CANAL EVENEMENT INDO
+ AFRICA 24
+ DISCOVERY CHANNEL
+ FRANCE 2
+ TVMalgache
+ ORTComores
+ FRANCE 4
+ TELE KREOL
+ MAYOTTE 1ERE
+ STARPLUS
+ TRACE AFRICA
+ CSTAR
+ COLORS
+ NICKELODEON
+ BEIN SPORTS 2 HD
+ CANAL+ BOX OFFICE
+ KTO
+ IQRAA
+ PENTHOUSE BLACK
+ STARGOLD
+ VOIR+ OCEAN INDIEN
+ PARAMOUNT NETWORK
+ HUSTLER
+ INFOSPORT+ AFR
+ CGTN-FRANCAIS
+ CANAL+ SERIES
+ CINE+ CLASSIC
+ TV PLUS
+ KOLO TV
+ VIVA
+ MTV India
+ MBC SAT
+ BEIN SPORTS 3 HD
+ ENGLISH CLUB TV
+ CANAL+ SPORT 4
+ CANAL+ SPORT 5 HD
+ CANAL+ KIDS HD
+ RECORD
+ GOLF+ HD
+ A+
+ NOLLYWOOD TV france
+ RMC LIFE
+ CARTOON NETWORK
+ BOOMERANG
+ CANAL+ SPORT 360 HD
+ CANAL+ FOOT
+ NOVELAS TV
+ BEIN SPORTS MAX 4
+ BEIN SPORTS MAX 5
+ SONY MAX
+ AUTOMOTO
+ TREK
+ PRIVATE
+ TF1 SERIES FILMS
+ 6TER
+ CANAL+ SPORT 1 HD
+ TEST DROM
+ TEST
+ C+ ACTION CENTRE
+ MUSEUM TV
+ MBS
+ DREAMIN
+ WARNER TV
+ WARNER TV NEXT
+ FRANCE INFO:
+ CUISINES
+ RTA
+ OLYMPIA TV
+ CANAL+ PREMIER LEAGUE
+ EVENEMENT 4K
+ NOVEGASY
+ TRACE VANILLA
+ LUDIKIDS OI
+ ZEE THIRAI
+ VIXEN
+ NICKELODEON JR
+ UTSAV BHARAT
+ NATHAN+
+ BFM TV
+ BFM BUSINESS
+ RMC STORY
+ KWEZI
+ CANAL+ DOCS
+ CHEVAL TV
+ MEZZO LIVE
+ RMC DECOUVERTE
+ CARTOONITO
+ TLC
+ DISCOVERY INVESTIGATION
+ CANAL+LIVE 1
+ CANAL+LIVE 2
+ CANAL+LIVE 3
+ CANAL+LIVE 4
+ CANAL+LIVE 5
+ CANAL+LIVE 6
+ CANAL+LIVE 7
+ CANAL+LIVE 8
+ CANAL+LIVE 9
+ CANAL+LIVE 10
+ CANAL+LIVE 11
+ CANAL+LIVE 12
+ CANAL+LIVE 13
+ CANAL+LIVE 14
+ CANAL+LIVE 15
+ CANAL+LIVE 16
+ CANAL+LIVE 17
+ CANAL+LIVE 18
+ TCM CINEMA
+
diff --git a/sites/canalplus.com/canalplus.com_re_mg.channels.xml b/sites/canalplus.com/canalplus.com_re_mg.channels.xml
deleted file mode 100644
index e76408c2..00000000
--- a/sites/canalplus.com/canalplus.com_re_mg.channels.xml
+++ /dev/null
@@ -1,229 +0,0 @@
-
-
- MBC 1
- 13EME RUE
- MBC 2
- ACTION
- ANTENNE REUNION
- MBC 3
- ARTE France
- BBC NEWS
- W-SPORT
- MBC 4
- CANAL J
- MBC 5
- MBC 11
- CANAL+ CINEMA(S)
- MBC HD
- PUNCH TV
- CANAL+
- SPORT EN FRANCE
- CANAL+ SPORT HD
- CNN
- CINE+ FESTIVAL
- CINE+ EMOTION
- CINE+ FAMILY
- CINE+ FRISSON
- OCS HD
- EUROPE 1 TV
- COMEDIE+
- E! ENTERTAINMENT
- EQUIDIA
- SS EPL
- SS LA LIGA
- SS FOOTBALL HD
- EUROSPORT 1 HD
- EUROSPORT 2
- SS FOOTBALL PLUS HD
- AL JAZEERA ENG
- FRANCE 3
- FRANCE 5
- BET (ENG)
- CNEWS
- TELEMUNDO DSTV
- INFOSPORT+
- UNIVERSAL
- MNET MOVIES 3
- MNET MOVIES 4
- LCI
- LCP ASSEMBLEE NATIONALE
- L'EQUIPE
- M6 HD
- DISCOVERY CHANNEL DSTV
- ZEE WORLD DSTV
- NICKELODEON DSTV
- RFM TV
- NICKELODEON JR (DSTV)
- MEZZO
- BRAVO
- MTV France
- AFR MAGIC EPIC
- TFX
- AFR MAGIC SHOW DSTV
- GASYSPORT TV
- PARIS PREMIERE
- BEIN SPORTS MAX 6
- PLANETE+
- PLANETE+ AVENTURE
- BEIN SPORTS MAX 7
- BEIN SPORTS MAX 8
- RTL9
- SYFY
- SEASONS
- SERIE CLUB
- BEIN SPORTS MAX 9
- BEIN SPORTS MAX 10
- CANAL+ FAMILY
- CANAL+ POP
- CANAL+ MAGIC
- MANGAS
- PASSION BOLLYWOOD
- REUNION 1ERE
- TVM 2
- MALAGASY TV
- KULTURA TV
- REAL TV
- MADI TV
- TEVA
- TF1
- T18
- MIEUX
- TMC
- CANAL+ CAN HD
- EUROPE 2 POP TV
- ACTIVATION NETFLIX
- TRACE URBAN
- SS WWE HD
- TV BREIZH
- TV5 MONDE (Afrique)
- NATIONAL GEOGRAPHIC ENG
- TV5 MONDE FR
- STUDIO UNIVERSAL
- XXL
- FRANCE 24
- BEIN SPORTS 1 HD
- ZEE CINEMA HD
- ZING
- ZEE TV
- CANAL+ SPORT 2 HD
- PIWI+
- GAME ONE
- USHUAÏA TV
- W9
- PLANETE+ CRIME
- GULLI
- MTV HITS
- TELETOON+
- CANAL+ SPORT 3 HD
- KANALAUSTRAL.TV
- DORCEL HD
- HISTOIRE
- CANAL EVENEMENT INDO
- AFRICA 24
- DISCOVERY CHANNEL
- FRANCE 2
- TVMalgache
- ORTComores
- FRANCE 4
- TELE KREOL
- MAYOTTE 1ERE
- STARPLUS
- TRACE AFRICA
- CSTAR
- COLORS
- NICKELODEON
- BEIN SPORTS 2 HD
- CANAL+ BOX OFFICE
- KTO
- IQRAA
- PENTHOUSE BLACK
- STARGOLD
- VOIR+ OCEAN INDIEN
- PARAMOUNT NETWORK
- HUSTLER
- INFOSPORT+ AFR
- CGTN-FRANCAIS
- CANAL+ SERIES
- CINE+ CLASSIC
- TV PLUS
- KOLO TV
- VIVA
- MTV India
- MBC SAT
- BEIN SPORTS 3 HD
- ENGLISH CLUB TV
- CANAL+ SPORT 4
- CANAL+ SPORT 5 HD
- CANAL+ KIDS HD
- RECORD
- GOLF+ HD
- A+
- NOLLYWOOD TV france
- RMC LIFE
- CARTOON NETWORK
- BOOMERANG
- CANAL+ SPORT 360 HD
- CANAL+ FOOT
- NOVELAS TV
- BEIN SPORTS MAX 4
- BEIN SPORTS MAX 5
- SONY MAX
- AUTOMOTO
- TREK
- PRIVATE
- TF1 SERIES FILMS
- 6TER
- CANAL+ SPORT 1 HD
- TEST DROM
- TEST
- C+ ACTION CENTRE
- MUSEUM TV
- MBS
- DREAMIN
- WARNER TV
- WARNER TV NEXT
- FRANCE INFO:
- CUISINES
- RTA
- OLYMPIA TV
- CANAL+ PREMIER LEAGUE
- EVENEMENT 4K
- NOVEGASY
- TRACE VANILLA
- LUDIKIDS OI
- ZEE THIRAI
- VIXEN
- NICKELODEON JR
- UTSAV BHARAT
- NATHAN+
- BFM TV
- BFM BUSINESS
- RMC STORY
- KWEZI
- CANAL+ DOCS
- CHEVAL TV
- MEZZO LIVE
- RMC DECOUVERTE
- CARTOONITO
- TLC
- DISCOVERY INVESTIGATION
- CANAL+LIVE 1
- CANAL+LIVE 2
- CANAL+LIVE 3
- CANAL+LIVE 4
- CANAL+LIVE 5
- CANAL+LIVE 6
- CANAL+LIVE 7
- CANAL+LIVE 8
- CANAL+LIVE 9
- CANAL+LIVE 10
- CANAL+LIVE 11
- CANAL+LIVE 12
- CANAL+LIVE 13
- CANAL+LIVE 14
- CANAL+LIVE 15
- CANAL+LIVE 16
- CANAL+LIVE 17
- CANAL+LIVE 18
- TCM CINEMA
-