diff --git a/.gitattributes b/.gitattributes
index f7cc30f0..76555cc3 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,3 @@
# Enforce the usage of CRLF in GitHub Actions per ESLint configuration.
-* text eol=crlf
\ No newline at end of file
+* text eol=crlf
+.husky/** -text
\ No newline at end of file
diff --git a/SITES.md b/SITES.md
index 29255343..b730f5d0 100644
--- a/SITES.md
+++ b/SITES.md
@@ -16,7 +16,6 @@
| antennaeurope.gr | 1 | 1 | 🟢 | |
| antennapacific.gr | 1 | 1 | 🟢 | |
| antennasatellite.gr | 1 | 1 | 🟢 | |
- | arianaafgtv.com | 1 | 1 | 🟢 | |
| arianatelevision.com | 1 | 1 | 🟢 | |
| arirang.com | 3 | 3 | 🟢 | |
| artonline.tv | 5 | 5 | 🟢 | |
@@ -28,7 +27,7 @@
| canalplus.com | 11720 | 212 | 🟢 | |
| cgates.lt | 102 | 61 | 🟢 | |
| chada.ma | 1 | 1 | 🟢 | |
- | chaines-tv.orange.fr | 295 | 146 | 🟢 | |
+ | chaines-tv.orange.fr | 345 | 344 | 🟢 | |
| clickthecity.com | 32 | 30 | 🟢 | |
| content.astro.com.my | 157 | 112 | 🟢 | |
| cosmotetv.gr | 108 | 0 | 🟢 | |
@@ -180,7 +179,7 @@
| tv-spored.siol.net | 312 | 0 | 🟢 | |
| tv.blue.ch | 1030 | 565 | 🟢 | |
| tv.cctv.com | 94 | 88 | 🟢 | |
- | tv.dir.bg | 111 | 93 | 🔴 | https://github.com/iptv-org/epg/issues/2779 |
+ | tv.dir.bg | 100 | 91 | 🟢 | |
| tv.lv | 137 | 49 | 🟢 | |
| tv.magenta.at | 307 | 228 | 🟢 | |
| tv.mail.ru | 664 | 643 | 🟢 | |
@@ -192,7 +191,7 @@
| tv.yandex.ru | 97 | 67 | 🔴 | https://github.com/iptv-org/epg/issues/2803 |
| tv24.co.uk | 1072 | 39 | 🟢 | |
| tv24.se | 326 | 157 | 🟢 | |
- | tv2go.t-2.net | 335 | 254 | 🟢 | |
+ | tv2go.t-2.net | 335 | 253 | 🟢 | |
| tvarenasport.com | 14 | 12 | 🟢 | |
| tvarenasport.hr | 10 | 10 | 🟢 | |
| tvcesoir.fr | 135 | 133 | 🟢 | |
@@ -237,6 +236,6 @@
| zap2it.com | 595 | 0 | 🟢 | |
| ziggogo.tv | 152 | 130 | 🟢 | |
| znbc.co.zm | 4 | 4 | 🟢 | |
- | zuragt.mn | 36 | 25 | 🟢 | |
+ | zuragt.mn | 34 | 27 | 🟢 | |
diff --git a/scripts/templates/_readme.md b/scripts/templates/_readme.md
index 4aa94527..0b807f7f 100644
--- a/scripts/templates/_readme.md
+++ b/scripts/templates/_readme.md
@@ -1,21 +1,21 @@
-#
-
-https://
-
-### Download the guide
-
-```sh
-npm run grab --- --site=
-```
-
-### Update channel list
-
-```sh
-npm run channels:parse --- --config=./sites//.config.js --output=./sites//.channels.xml
-```
-
-### Test
-
-```sh
-npm test ---
-```
+#
+
+https://
+
+### Download the guide
+
+```sh
+npm run grab --- --site=
+```
+
+### Update channel list
+
+```sh
+npm run channels:parse --- --config=./sites//.config.js --output=./sites//.channels.xml
+```
+
+### Test
+
+```sh
+npm test ---
+```
diff --git a/scripts/templates/_sites.md b/scripts/templates/_sites.md
index 46191a4e..d0633a4c 100644
--- a/scripts/templates/_sites.md
+++ b/scripts/templates/_sites.md
@@ -1,3 +1,3 @@
-# Sites
-
-_TABLE_
+# Sites
+
+_TABLE_
diff --git a/sites/9tv.co.il/9tv.co.il.channels.xml b/sites/9tv.co.il/9tv.co.il.channels.xml
index 117aa8d5..b1ac4ae5 100644
--- a/sites/9tv.co.il/9tv.co.il.channels.xml
+++ b/sites/9tv.co.il/9tv.co.il.channels.xml
@@ -1,4 +1,4 @@
-
-
- 9 канал
-
+
+
+ 9 канал
+
diff --git a/sites/abc.net.au/abc.net.au_adl.channels.xml b/sites/abc.net.au/abc.net.au_adl.channels.xml
index 0e10f88c..d685ab15 100644
--- a/sites/abc.net.au/abc.net.au_adl.channels.xml
+++ b/sites/abc.net.au/abc.net.au_adl.channels.xml
@@ -1,38 +1,38 @@
-
-
- 7
- 7bravo
- 7flix
- 7HD
- 7MATE
- 7TWO
- 9
- 9HD
- 9Life
- 9Rush
- 10
- 11
- 44
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- GEM
- GO
- NITV
- ONE
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SHAKE
- SPREE
- TENHD
- TVSN
- VICHD
- YOUTV
-
+
+
+ 7
+ 7bravo
+ 7flix
+ 7HD
+ 7MATE
+ 7TWO
+ 9
+ 9HD
+ 9Life
+ 9Rush
+ 10
+ 11
+ 44
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ GEM
+ GO
+ NITV
+ ONE
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SHAKE
+ SPREE
+ TENHD
+ TVSN
+ VICHD
+ YOUTV
+
diff --git a/sites/abc.net.au/abc.net.au_bri.channels.xml b/sites/abc.net.au/abc.net.au_bri.channels.xml
index 594d775d..1052b950 100644
--- a/sites/abc.net.au/abc.net.au_bri.channels.xml
+++ b/sites/abc.net.au/abc.net.au_bri.channels.xml
@@ -1,37 +1,37 @@
-
-
- 7
- 7bravo
- 7flix
- 7HD
- 7MATE
- 7TWO
- 9
- 9HD
- 9Life
- 9Rush
- 10
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- GEM
- GO
- NITV
- ONE
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SHAKE
- SPREE
- TENHD
- TVSN
- VICHD
- YOUTV
-
+
+
+ 7
+ 7bravo
+ 7flix
+ 7HD
+ 7MATE
+ 7TWO
+ 9
+ 9HD
+ 9Life
+ 9Rush
+ 10
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ GEM
+ GO
+ NITV
+ ONE
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SHAKE
+ SPREE
+ TENHD
+ TVSN
+ VICHD
+ YOUTV
+
diff --git a/sites/abc.net.au/abc.net.au_cbr.channels.xml b/sites/abc.net.au/abc.net.au_cbr.channels.xml
index 2d81c43a..6893972e 100644
--- a/sites/abc.net.au/abc.net.au_cbr.channels.xml
+++ b/sites/abc.net.au/abc.net.au_cbr.channels.xml
@@ -1,35 +1,35 @@
-
-
- 7bravo
- 7flix
- 7MATE
- 7TWO
- 9Life
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- ASPIR
- GEM
- GO
- NITV
- ONE
- PrimS
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SCA9
- SCHD
- SHAKE
- SNR
- TVSN
- VICHD
- WIN
- WINHD
-
+
+
+ 7bravo
+ 7flix
+ 7MATE
+ 7TWO
+ 9Life
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ ASPIR
+ GEM
+ GO
+ NITV
+ ONE
+ PrimS
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SCA9
+ SCHD
+ SHAKE
+ SNR
+ TVSN
+ VICHD
+ WIN
+ WINHD
+
diff --git a/sites/abc.net.au/abc.net.au_drw.channels.xml b/sites/abc.net.au/abc.net.au_drw.channels.xml
index a7583c72..19bacfad 100644
--- a/sites/abc.net.au/abc.net.au_drw.channels.xml
+++ b/sites/abc.net.au/abc.net.au_drw.channels.xml
@@ -1,29 +1,29 @@
-
-
- 7MATE
- 7TWO
- 9
- 9HD
- 9Life
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- ASPIR
- DDT
- GEM
- GO
- NITV
- ONE
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SC
- VICHD
-
+
+
+ 7MATE
+ 7TWO
+ 9
+ 9HD
+ 9Life
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ ASPIR
+ DDT
+ GEM
+ GO
+ NITV
+ ONE
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SC
+ VICHD
+
diff --git a/sites/abc.net.au/abc.net.au_gc.channels.xml b/sites/abc.net.au/abc.net.au_gc.channels.xml
index 14296107..762b2484 100644
--- a/sites/abc.net.au/abc.net.au_gc.channels.xml
+++ b/sites/abc.net.au/abc.net.au_gc.channels.xml
@@ -1,36 +1,36 @@
-
-
- 7bravo
- 7flix
- 7MATE
- 7TWO
- 9
- 9HD
- 9Life
- 10
- 10Nth
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- GEM
- GO
- NBN
- NITV
- ONE
- Prime
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SHAKE
- SNR
- TVSN
- VICHD
- YOUTV
-
+
+
+ 7bravo
+ 7flix
+ 7MATE
+ 7TWO
+ 9
+ 9HD
+ 9Life
+ 10
+ 10Nth
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ GEM
+ GO
+ NBN
+ NITV
+ ONE
+ Prime
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SHAKE
+ SNR
+ TVSN
+ VICHD
+ YOUTV
+
diff --git a/sites/abc.net.au/abc.net.au_hbr.channels.xml b/sites/abc.net.au/abc.net.au_hbr.channels.xml
index 6d1ab4c5..01933699 100644
--- a/sites/abc.net.au/abc.net.au_hbr.channels.xml
+++ b/sites/abc.net.au/abc.net.au_hbr.channels.xml
@@ -1,35 +1,35 @@
-
-
- 7MATE
- 7TWO
- 9Life
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- GEM
- GO
- NITV
- ONE
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SC
- SCA9
- SCHD
- SHAKE
- SHD7
- TDHD
- TDT
- TVSN
- VICHD
- WIN
- WINHD
- YOUTV
-
+
+
+ 7MATE
+ 7TWO
+ 9Life
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ GEM
+ GO
+ NITV
+ ONE
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SC
+ SCA9
+ SCHD
+ SHAKE
+ SHD7
+ TDHD
+ TDT
+ TVSN
+ VICHD
+ WIN
+ WINHD
+ YOUTV
+
diff --git a/sites/abc.net.au/abc.net.au_mel.channels.xml b/sites/abc.net.au/abc.net.au_mel.channels.xml
index 2e3fbf9c..04a0e07e 100644
--- a/sites/abc.net.au/abc.net.au_mel.channels.xml
+++ b/sites/abc.net.au/abc.net.au_mel.channels.xml
@@ -1,38 +1,38 @@
-
-
- 7
- 7bravo
- 7flix
- 7HD
- 7MATE
- 7TWO
- 9
- 9HD
- 9Life
- 9Rush
- 10
- 11
- 31
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- GEM
- GO
- NITV
- ONE
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SHAKE
- SPREE
- TENHD
- TVSN
- VICHD
- YOUTV
-
+
+
+ 7
+ 7bravo
+ 7flix
+ 7HD
+ 7MATE
+ 7TWO
+ 9
+ 9HD
+ 9Life
+ 9Rush
+ 10
+ 11
+ 31
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ GEM
+ GO
+ NITV
+ ONE
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SHAKE
+ SPREE
+ TENHD
+ TVSN
+ VICHD
+ YOUTV
+
diff --git a/sites/abc.net.au/abc.net.au_nsw.channels.xml b/sites/abc.net.au/abc.net.au_nsw.channels.xml
index 9abaea0e..b993d09a 100644
--- a/sites/abc.net.au/abc.net.au_nsw.channels.xml
+++ b/sites/abc.net.au/abc.net.au_nsw.channels.xml
@@ -1,41 +1,41 @@
-
-
- 7
- 7bravo
- 7flix
- 7GTS
- 7MATE
- 7TWO
- 9Life
- 10Nth
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- ASPIR
- GEM
- GO
- Imp
- NBN
- NITV
- ONE
- PrimN
- PrimS
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SCA9
- SCHD
- SNR
- TVSN
- VICHD
- WIN
- WINHD
- YOUTV
-
+
+
+ 7
+ 7bravo
+ 7flix
+ 7GTS
+ 7MATE
+ 7TWO
+ 9Life
+ 10Nth
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ ASPIR
+ GEM
+ GO
+ Imp
+ NBN
+ NITV
+ ONE
+ PrimN
+ PrimS
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SCA9
+ SCHD
+ SNR
+ TVSN
+ VICHD
+ WIN
+ WINHD
+ YOUTV
+
diff --git a/sites/abc.net.au/abc.net.au_nt.channels.xml b/sites/abc.net.au/abc.net.au_nt.channels.xml
index 476ff410..8e3ecac7 100644
--- a/sites/abc.net.au/abc.net.au_nt.channels.xml
+++ b/sites/abc.net.au/abc.net.au_nt.channels.xml
@@ -1,25 +1,25 @@
-
-
- 7C
- 7MATE
- 7TWO
- 10
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- GEM
- GO
- Imp
- NITV
- ONE
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- VICHD
-
+
+
+ 7C
+ 7MATE
+ 7TWO
+ 10
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ GEM
+ GO
+ Imp
+ NITV
+ ONE
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ VICHD
+
diff --git a/sites/abc.net.au/abc.net.au_per.channels.xml b/sites/abc.net.au/abc.net.au_per.channels.xml
index 4e2314e0..8ed6e645 100644
--- a/sites/abc.net.au/abc.net.au_per.channels.xml
+++ b/sites/abc.net.au/abc.net.au_per.channels.xml
@@ -1,37 +1,37 @@
-
-
- 7
- 7bravo
- 7flix
- 7HD
- 7MATE
- 7TWO
- 9
- 9HD
- 9Life
- 9Rush
- 10
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- GEM
- GO
- NITV
- ONE
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SHAKE
- SPREE
- TENHD
- TVSN
- VICHD
- YOUTV
-
+
+
+ 7
+ 7bravo
+ 7flix
+ 7HD
+ 7MATE
+ 7TWO
+ 9
+ 9HD
+ 9Life
+ 9Rush
+ 10
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ GEM
+ GO
+ NITV
+ ONE
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SHAKE
+ SPREE
+ TENHD
+ TVSN
+ VICHD
+ YOUTV
+
diff --git a/sites/abc.net.au/abc.net.au_qld.channels.xml b/sites/abc.net.au/abc.net.au_qld.channels.xml
index 1896cc3d..8ef1d95b 100644
--- a/sites/abc.net.au/abc.net.au_qld.channels.xml
+++ b/sites/abc.net.au/abc.net.au_qld.channels.xml
@@ -1,39 +1,39 @@
-
-
- 7bravo
- 7C
- 7flix
- 7MATE
- 7QLD
- 7TWO
- 7TWOQ
- 9Life
- 10
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- ASPIR
- GEM
- GO
- Imp
- NITV
- ONE
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SCA9
- SCHD
- SHAKE
- SNR
- TVSN
- VICHD
- WIN
- WINHD
-
+
+
+ 7bravo
+ 7C
+ 7flix
+ 7MATE
+ 7QLD
+ 7TWO
+ 7TWOQ
+ 9Life
+ 10
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ ASPIR
+ GEM
+ GO
+ Imp
+ NITV
+ ONE
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SCA9
+ SCHD
+ SHAKE
+ SNR
+ TVSN
+ VICHD
+ WIN
+ WINHD
+
diff --git a/sites/abc.net.au/abc.net.au_sa.channels.xml b/sites/abc.net.au/abc.net.au_sa.channels.xml
index 89fc638e..fd8b19ce 100644
--- a/sites/abc.net.au/abc.net.au_sa.channels.xml
+++ b/sites/abc.net.au/abc.net.au_sa.channels.xml
@@ -1,35 +1,35 @@
-
-
- 7C
- 7GTS
- 7MATE
- 7TWO
- 9Life
- 10
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- ASPIR
- GEM
- GO
- Imp
- NITV
- ONE
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SC9
- SNR
- VICHD
- WIN
- WIN9
- WIN10
- WINHD
-
+
+
+ 7C
+ 7GTS
+ 7MATE
+ 7TWO
+ 9Life
+ 10
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ ASPIR
+ GEM
+ GO
+ Imp
+ NITV
+ ONE
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SC9
+ SNR
+ VICHD
+ WIN
+ WIN9
+ WIN10
+ WINHD
+
diff --git a/sites/abc.net.au/abc.net.au_syd.channels.xml b/sites/abc.net.au/abc.net.au_syd.channels.xml
index 8ef6f7ff..56fc4e32 100644
--- a/sites/abc.net.au/abc.net.au_syd.channels.xml
+++ b/sites/abc.net.au/abc.net.au_syd.channels.xml
@@ -1,37 +1,37 @@
-
-
- 7
- 7bravo
- 7flix
- 7HD
- 7MATE
- 7TWO
- 9
- 9HD
- 9Life
- 9Rush
- 10
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- GEM
- GO
- NITV
- ONE
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SHAKE
- SPREE
- TENHD
- TVSN
- VICHD
- YOUTV
-
+
+
+ 7
+ 7bravo
+ 7flix
+ 7HD
+ 7MATE
+ 7TWO
+ 9
+ 9HD
+ 9Life
+ 9Rush
+ 10
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ GEM
+ GO
+ NITV
+ ONE
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SHAKE
+ SPREE
+ TENHD
+ TVSN
+ VICHD
+ YOUTV
+
diff --git a/sites/abc.net.au/abc.net.au_tas.channels.xml b/sites/abc.net.au/abc.net.au_tas.channels.xml
index 8846c7ef..9ea749f0 100644
--- a/sites/abc.net.au/abc.net.au_tas.channels.xml
+++ b/sites/abc.net.au/abc.net.au_tas.channels.xml
@@ -1,36 +1,36 @@
-
-
- 7MATE
- 7TWO
- 9Life
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- ASPIR
- GEM
- GO
- NITV
- ONE
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SC
- SCA9
- SCHD
- SHAKE
- SHD7
- TDHD
- TDT
- TVSN
- VICHD
- WIN
- WINHD
- YOUTV
-
+
+
+ 7MATE
+ 7TWO
+ 9Life
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ ASPIR
+ GEM
+ GO
+ NITV
+ ONE
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SC
+ SCA9
+ SCHD
+ SHAKE
+ SHD7
+ TDHD
+ TDT
+ TVSN
+ VICHD
+ WIN
+ WINHD
+ YOUTV
+
diff --git a/sites/abc.net.au/abc.net.au_tsv.channels.xml b/sites/abc.net.au/abc.net.au_tsv.channels.xml
index 7b45a731..9b4c804d 100644
--- a/sites/abc.net.au/abc.net.au_tsv.channels.xml
+++ b/sites/abc.net.au/abc.net.au_tsv.channels.xml
@@ -1,34 +1,34 @@
-
-
- 7
- 7bravo
- 7flix
- 7MATE
- 7TWO
- 9Life
- 10
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- GEM
- GO
- NITV
- ONE
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SCA9
- SCHD
- SHAKE
- TVSN
- VICHD
- WIN
- WINHD
-
+
+
+ 7
+ 7bravo
+ 7flix
+ 7MATE
+ 7TWO
+ 9Life
+ 10
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ GEM
+ GO
+ NITV
+ ONE
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SCA9
+ SCHD
+ SHAKE
+ TVSN
+ VICHD
+ WIN
+ WINHD
+
diff --git a/sites/abc.net.au/abc.net.au_vic.channels.xml b/sites/abc.net.au/abc.net.au_vic.channels.xml
index 813a2858..78b8c1db 100644
--- a/sites/abc.net.au/abc.net.au_vic.channels.xml
+++ b/sites/abc.net.au/abc.net.au_vic.channels.xml
@@ -1,38 +1,38 @@
-
-
- 7bravo
- 7flix
- 7MATE
- 7TWO
- 9Life
- 10
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- ASPIR
- GEM
- GO
- NITV
- ONE
- Prime
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- SCA9
- SCHD
- SHAKE
- SNR
- TVSN
- VICHD
- WIN
- WINHD
- WinSA
- YOUTV
-
+
+
+ 7bravo
+ 7flix
+ 7MATE
+ 7TWO
+ 9Life
+ 10
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ ASPIR
+ GEM
+ GO
+ NITV
+ ONE
+ Prime
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ SCA9
+ SCHD
+ SHAKE
+ SNR
+ TVSN
+ VICHD
+ WIN
+ WINHD
+ WinSA
+ YOUTV
+
diff --git a/sites/abc.net.au/abc.net.au_wa.channels.xml b/sites/abc.net.au/abc.net.au_wa.channels.xml
index b95de4a6..b8b6b34c 100644
--- a/sites/abc.net.au/abc.net.au_wa.channels.xml
+++ b/sites/abc.net.au/abc.net.au_wa.channels.xml
@@ -1,29 +1,29 @@
-
-
- 7MATE
- 7TWO
- 9Life
- 10
- 11
- ABC1
- ABC2
- ABC3
- ABC4KIDS
- ABCHD
- ABCN
- GEM
- GO
- GWN
- NITV
- ONE
- RTV
- SBS
- SBS2
- SBS3
- SBSHD
- SBSWW
- VICHD
- WDT
- WIN
- WINHD
-
+
+
+ 7MATE
+ 7TWO
+ 9Life
+ 10
+ 11
+ ABC1
+ ABC2
+ ABC3
+ ABC4KIDS
+ ABCHD
+ ABCN
+ GEM
+ GO
+ GWN
+ NITV
+ ONE
+ RTV
+ SBS
+ SBS2
+ SBS3
+ SBSHD
+ SBSWW
+ VICHD
+ WDT
+ WIN
+ WINHD
+
diff --git a/sites/allente.dk/allente.dk.channels.xml b/sites/allente.dk/allente.dk.channels.xml
index 52dd3095..1dea3a03 100644
--- a/sites/allente.dk/allente.dk.channels.xml
+++ b/sites/allente.dk/allente.dk.channels.xml
@@ -1,77 +1,77 @@
-
-
- Nickelodeon (Nordic) (T)
- SVT1 HD (T)
- V sport live 1 (T)
- V sport live 2 (T)
- V sport live 3 (T)
- V sport live 4 (T)
- V sport live 5 (T)
- SVT2 HD (T)
- NRK2 HD (T)
- NRK3/ NRK Super HD (T)
- Viasat Nature HD (T)
- Sky News (T)
- Horse & Country HD -IP
- TV 2 Sport X HD (D) (T)
- SkyShowtime 2 (T)
- SkyShowtime 1 (T)
- HISTORY HD (N/D/F) (T)
- HISTORY 2 HD (T)
- Animal Planet HD (T)
- Discovery Science (T)
- DW English (T)
- Bloomberg (T)
- MOTORVISION TV HD (T)
- ID Investigation Discovery (D) (T)
- TLC Danmark (T)
- Sport Live (D) (T)
- BBC Nordic HD (S/D/F) (T)
- France 24 (T)
- Discovery Channel HD (D) (T)
- Eurosport 1 HD (D) (T)
- 6'eren HD (D) (T)
- Al Jazeera English -OTT
- BBC News (T)
- Cartoonito (T)
- CANAL9 HD (D) (T)
- Cartoon Network (T)
- CNBC (T)
- CNN (T)
- dk4 (T)
- DR1 HD (T)
- DR2 HD (T)
- DR Ramasjang (T)
- Eurosport 2 HD (D) (T)
- Kanal 4 HD (D) (T)
- Kanal 5 HD (D) (T)
- MTV 00s (T)
- MTV 80s (T)
- MTV (Nordic) (T)
- National Geographic HD (D) (T)
- Nick Jr. (T)
- Nicktoons (T)
- NRK1 HD (T)
- TV 2 HD (D) (T)
- TV 2 Charlie HD (D) (T)
- TV 2 Fri HD (D) (T)
- TV 2 News HD (D) (T)
- TV 2 Sport HD (D) (T)
- TV 2 Echo HD (D) (T)
- TV3 HD (D) (T)
- TV3 MAX HD (D) (T)
- TV3+ HD (D) (T)
- TV3 Puls HD (D) (T)
- TV3 Sport HD (D) (T)
- TV4 HD (T)
- V film action HD (T)
- V film family (T)
- V film hits HD (T)
- V film premiere HD (T)
- Viasat Explore HD (T)
- Viasat History HD (T)
- V series HD (T)
- V sport golf HD (T)
- V sport ultra HD (T)
- See (D) (T)
+
+
+ Nickelodeon (Nordic) (T)
+ SVT1 HD (T)
+ V sport live 1 (T)
+ V sport live 2 (T)
+ V sport live 3 (T)
+ V sport live 4 (T)
+ V sport live 5 (T)
+ SVT2 HD (T)
+ NRK2 HD (T)
+ NRK3/ NRK Super HD (T)
+ Viasat Nature HD (T)
+ Sky News (T)
+ Horse & Country HD -IP
+ TV 2 Sport X HD (D) (T)
+ SkyShowtime 2 (T)
+ SkyShowtime 1 (T)
+ HISTORY HD (N/D/F) (T)
+ HISTORY 2 HD (T)
+ Animal Planet HD (T)
+ Discovery Science (T)
+ DW English (T)
+ Bloomberg (T)
+ MOTORVISION TV HD (T)
+ ID Investigation Discovery (D) (T)
+ TLC Danmark (T)
+ Sport Live (D) (T)
+ BBC Nordic HD (S/D/F) (T)
+ France 24 (T)
+ Discovery Channel HD (D) (T)
+ Eurosport 1 HD (D) (T)
+ 6'eren HD (D) (T)
+ Al Jazeera English -OTT
+ BBC News (T)
+ Cartoonito (T)
+ CANAL9 HD (D) (T)
+ Cartoon Network (T)
+ CNBC (T)
+ CNN (T)
+ dk4 (T)
+ DR1 HD (T)
+ DR2 HD (T)
+ DR Ramasjang (T)
+ Eurosport 2 HD (D) (T)
+ Kanal 4 HD (D) (T)
+ Kanal 5 HD (D) (T)
+ MTV 00s (T)
+ MTV 80s (T)
+ MTV (Nordic) (T)
+ National Geographic HD (D) (T)
+ Nick Jr. (T)
+ Nicktoons (T)
+ NRK1 HD (T)
+ TV 2 HD (D) (T)
+ TV 2 Charlie HD (D) (T)
+ TV 2 Fri HD (D) (T)
+ TV 2 News HD (D) (T)
+ TV 2 Sport HD (D) (T)
+ TV 2 Echo HD (D) (T)
+ TV3 HD (D) (T)
+ TV3 MAX HD (D) (T)
+ TV3+ HD (D) (T)
+ TV3 Puls HD (D) (T)
+ TV3 Sport HD (D) (T)
+ TV4 HD (T)
+ V film action HD (T)
+ V film family (T)
+ V film hits HD (T)
+ V film premiere HD (T)
+ Viasat Explore HD (T)
+ Viasat History HD (T)
+ V series HD (T)
+ V sport golf HD (T)
+ V sport ultra HD (T)
+ See (D) (T)
\ No newline at end of file
diff --git a/sites/allente.fi/allente.fi.channels.xml b/sites/allente.fi/allente.fi.channels.xml
index 104ba8e5..6da58a2c 100644
--- a/sites/allente.fi/allente.fi.channels.xml
+++ b/sites/allente.fi/allente.fi.channels.xml
@@ -1,74 +1,74 @@
-
-
- BBC News (T)
- Nickelodeon (Nordic) (T)
- SVT Barn HD (T)
- SVT1 HD (T)
- Kunskapskanalen HD (T)
- V sport+ Suomi HD (T)
- SVT2 HD (T)
- Al Jazeera English -OTT
- Viasat Nature HD (T)
- Viasat History HD (T)
- Viasat Explore HD (T)
- Nicktoons (T)
- Sky News (T)
- MTV 80s (T)
- Horse & Country HD -IP
- YLE 1 (F) (T)
- YLE 2 (F) (T)
- YLE Teema & Fem (F) (T)
- MTV Aitio (F) (T)
- MTV Viihde (F) (T)
- SF Kanalen (T)
- SkyShowtime 2 (T)
- SkyShowtime 1 (T)
- HISTORY HD (N/D/F) (T)
- HISTORY 2 HD (T)
- Animal Planet HD (T)
- Discovery Science (T)
- DW English (T)
- Bloomberg (T)
- MOTORVISION TV HD (T)
- ID Investigation Discovery (N/F) (T)
- BBC Nordic HD (S/D/F) (T)
- Eurosport 2 HD (S/F) (T)
- France 24 (T)
- MTV3 HD (F) (T)
- Nelonen (F) (T)
- MTV Sub (F) (T)
- TV5 (F) (T)
- liv (F) (T)
- JIM (F) (T)
- Discovery Channel (F) (T)
- MTV Juniori (F) (T)
- MTV Max HD (F) (T)
- MTV Urheilu 1 HD (F) (T)
- MTV Urheilu 2 HD (F) (T)
- Eurosport 1 HD (F) (T)
- Cartoonito (T)
- Cartoon Network (T)
- CNBC (T)
- CNN (T)
- MTV 00s (T)
- MTV (Nordic) (T)
- National Geographic HD (S/F) (T)
- Nick Jr. (T)
- V film action HD (T)
- V film family (T)
- V film hits HD (T)
- V film premiere HD (T)
- V sport 1 Suomi HD (T)
- V sport 1 HD (S/F) (T)
- V sport 2 Suomi HD (T)
- V sport football HD (T)
- V sport golf HD (T)
- V sport live 1 (T)
- V sport live 2 (T)
- V sport live 3 (T)
- V sport live 4 (T)
- V sport live 5 (T)
- V sport premium HD (T)
- V sport ultra HD (T)
- V sport vinter HD (T)
+
+
+ BBC News (T)
+ Nickelodeon (Nordic) (T)
+ SVT Barn HD (T)
+ SVT1 HD (T)
+ Kunskapskanalen HD (T)
+ V sport+ Suomi HD (T)
+ SVT2 HD (T)
+ Al Jazeera English -OTT
+ Viasat Nature HD (T)
+ Viasat History HD (T)
+ Viasat Explore HD (T)
+ Nicktoons (T)
+ Sky News (T)
+ MTV 80s (T)
+ Horse & Country HD -IP
+ YLE 1 (F) (T)
+ YLE 2 (F) (T)
+ YLE Teema & Fem (F) (T)
+ MTV Aitio (F) (T)
+ MTV Viihde (F) (T)
+ SF Kanalen (T)
+ SkyShowtime 2 (T)
+ SkyShowtime 1 (T)
+ HISTORY HD (N/D/F) (T)
+ HISTORY 2 HD (T)
+ Animal Planet HD (T)
+ Discovery Science (T)
+ DW English (T)
+ Bloomberg (T)
+ MOTORVISION TV HD (T)
+ ID Investigation Discovery (N/F) (T)
+ BBC Nordic HD (S/D/F) (T)
+ Eurosport 2 HD (S/F) (T)
+ France 24 (T)
+ MTV3 HD (F) (T)
+ Nelonen (F) (T)
+ MTV Sub (F) (T)
+ TV5 (F) (T)
+ liv (F) (T)
+ JIM (F) (T)
+ Discovery Channel (F) (T)
+ MTV Juniori (F) (T)
+ MTV Max HD (F) (T)
+ MTV Urheilu 1 HD (F) (T)
+ MTV Urheilu 2 HD (F) (T)
+ Eurosport 1 HD (F) (T)
+ Cartoonito (T)
+ Cartoon Network (T)
+ CNBC (T)
+ CNN (T)
+ MTV 00s (T)
+ MTV (Nordic) (T)
+ National Geographic HD (S/F) (T)
+ Nick Jr. (T)
+ V film action HD (T)
+ V film family (T)
+ V film hits HD (T)
+ V film premiere HD (T)
+ V sport 1 Suomi HD (T)
+ V sport 1 HD (S/F) (T)
+ V sport 2 Suomi HD (T)
+ V sport football HD (T)
+ V sport golf HD (T)
+ V sport live 1 (T)
+ V sport live 2 (T)
+ V sport live 3 (T)
+ V sport live 4 (T)
+ V sport live 5 (T)
+ V sport premium HD (T)
+ V sport ultra HD (T)
+ V sport vinter HD (T)
\ No newline at end of file
diff --git a/sites/allente.no/allente.no.channels.xml b/sites/allente.no/allente.no.channels.xml
index 48453f98..91e009ce 100644
--- a/sites/allente.no/allente.no.channels.xml
+++ b/sites/allente.no/allente.no.channels.xml
@@ -1,87 +1,87 @@
-
-
- Cartoonito (T)
- Nickelodeon (Nordic) (T)
- TV2 Direkte (N) (T)
- TV2 Sport Premium 2 HD (N) (T)
- Viasat Nature HD (T)
- TV3+ (N) (T)
- SkyShowtime 2 (T)
- SkyShowtime 1 (T)
- HISTORY HD (N/D/F) (T)
- HISTORY 2 HD (T)
- Animal Planet HD (T)
- Discovery Science (T)
- DW English (T)
- Bloomberg (T)
- MOTORVISION TV HD (T)
- Bilkanalen Auto Motor og Sport TV (N) (T)
- ID Investigation Discovery (N/F) (T)
- TLC Norge HD (T)
- BBC Nordic HD (N) (T)
- France 24 (T)
- VGTV HD (T)
- V sport Premier League HD (T)
- V sport Premier League 1 HD (T)
- V sport Premier League 2 HD (T)
- Heim HD (T)
- Stars HD (N) (T)
- Hits HD (N) (T)
- DR1 HD (T)
- Sky News (T)
- Horse & Country HD -IP
- SF Kanalen (T)
- Al Jazeera English -OTT
- BBC News (T)
- Cartoon Network (T)
- CNBC (T)
- CNN (T)
- Discovery Channel HD (N) (T)
- DR2 HD (T)
- Eurosport Norge HD (T)
- Eurosport 1 HD (N) (T)
- FEM HD (T)
- Kunskapskanalen HD (T)
- MAX HD (T)
- MTV 00s (T)
- MTV 80s (T)
- MTV (Nordic) (T)
- National Geographic HD (N) (T)
- Nick Jr. (T)
- Nicktoons (T)
- NRK1 HD (T)
- NRK2 HD (T)
- NRK3/ NRK Super HD (T)
- SVT1 HD (T)
- SVT2 HD (T)
- SVT Barn HD (T)
- TV 2 HD (D) (T)
- TV2 Livsstil HD (N) (T)
- TV2 Nyheter (N) (T)
- TV2 Sport 1 HD (N) (T)
- TV2 Sport 2 HD (N) (T)
- TV2 Sport Premium HD (N) (T)
- TV2 Zebra HD (N) (T)
- TV3 HD (N) (T)
- TV6 (N) (T)
- TV Norge HD (T)
- V film action HD (T)
- V film family (T)
- V film hits HD (T)
- V film premiere HD (T)
- Viasat Explore HD (T)
- Viasat History HD (T)
- VOX HD (T)
- V series HD (T)
- V sport 1 HD (N) (T)
- V sport 2 HD (N) (T)
- V sport 3 HD (N) (T)
- V sport golf HD (T)
- V sport live 1 (T)
- V sport live 2 (T)
- V sport live 3 (T)
- V sport live 4 (T)
- V sport live 5 (T)
- V sport+ HD (N) (T)
- V sport ultra HD (T)
+
+
+ Cartoonito (T)
+ Nickelodeon (Nordic) (T)
+ TV2 Direkte (N) (T)
+ TV2 Sport Premium 2 HD (N) (T)
+ Viasat Nature HD (T)
+ TV3+ (N) (T)
+ SkyShowtime 2 (T)
+ SkyShowtime 1 (T)
+ HISTORY HD (N/D/F) (T)
+ HISTORY 2 HD (T)
+ Animal Planet HD (T)
+ Discovery Science (T)
+ DW English (T)
+ Bloomberg (T)
+ MOTORVISION TV HD (T)
+ Bilkanalen Auto Motor og Sport TV (N) (T)
+ ID Investigation Discovery (N/F) (T)
+ TLC Norge HD (T)
+ BBC Nordic HD (N) (T)
+ France 24 (T)
+ VGTV HD (T)
+ V sport Premier League HD (T)
+ V sport Premier League 1 HD (T)
+ V sport Premier League 2 HD (T)
+ Heim HD (T)
+ Stars HD (N) (T)
+ Hits HD (N) (T)
+ DR1 HD (T)
+ Sky News (T)
+ Horse & Country HD -IP
+ SF Kanalen (T)
+ Al Jazeera English -OTT
+ BBC News (T)
+ Cartoon Network (T)
+ CNBC (T)
+ CNN (T)
+ Discovery Channel HD (N) (T)
+ DR2 HD (T)
+ Eurosport Norge HD (T)
+ Eurosport 1 HD (N) (T)
+ FEM HD (T)
+ Kunskapskanalen HD (T)
+ MAX HD (T)
+ MTV 00s (T)
+ MTV 80s (T)
+ MTV (Nordic) (T)
+ National Geographic HD (N) (T)
+ Nick Jr. (T)
+ Nicktoons (T)
+ NRK1 HD (T)
+ NRK2 HD (T)
+ NRK3/ NRK Super HD (T)
+ SVT1 HD (T)
+ SVT2 HD (T)
+ SVT Barn HD (T)
+ TV 2 HD (D) (T)
+ TV2 Livsstil HD (N) (T)
+ TV2 Nyheter (N) (T)
+ TV2 Sport 1 HD (N) (T)
+ TV2 Sport 2 HD (N) (T)
+ TV2 Sport Premium HD (N) (T)
+ TV2 Zebra HD (N) (T)
+ TV3 HD (N) (T)
+ TV6 (N) (T)
+ TV Norge HD (T)
+ V film action HD (T)
+ V film family (T)
+ V film hits HD (T)
+ V film premiere HD (T)
+ Viasat Explore HD (T)
+ Viasat History HD (T)
+ VOX HD (T)
+ V series HD (T)
+ V sport 1 HD (N) (T)
+ V sport 2 HD (N) (T)
+ V sport 3 HD (N) (T)
+ V sport golf HD (T)
+ V sport live 1 (T)
+ V sport live 2 (T)
+ V sport live 3 (T)
+ V sport live 4 (T)
+ V sport live 5 (T)
+ V sport+ HD (N) (T)
+ V sport ultra HD (T)
\ No newline at end of file
diff --git a/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.channels.xml b/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.channels.xml
index 0c3030c1..0a0c431c 100644
--- a/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.channels.xml
+++ b/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.channels.xml
@@ -1,298 +1,348 @@
- LA CHAINE DU PERE NOEL
- FRANCE 3 ALPES
- FRANCE 3 ALSACE
- FRANCE 3 AQUITAINE
- FRANCE 3 AUVERGNE
- FRANCE 3 NORMANDIE CAEN
- FRANCE 3 BOURGOGNE
- FRANCE 3 BRETAGNE
- FRANCE 3 CENTRE
- FRANCE 3 CHAMPAGNE ARDENNE
- FRANCE 3 COTE D'AZUR
- FRANCE 3 FRANCHE COMTE
- FRANCE 3 NORMANDIE ROUEN
- FRANCE 3 LANGUEDOC
- FRANCE 3 LIMOUSIN
- FRANCE 3 LORRAINE
- FRANCE 3 MIDI-PYRENEES
- FRANCE 3 NORD P. CALAIS
- FRANCE 3 PARIS IDF
- FRANCE 3 PAYS DE LA LOIRE
- FRANCE 3 PICARDIE
- FRANCE 3 POITOU CHARENTES
- FRANCE 3 PROVENCE ALPES
- FRANCE 3 RHONE ALPES
- WARNER TV NEXT
- BOOMERANG (VO)
- TCM CINEMA (VO)
- TF1 4K
- NCI
- TECH&CO
- DISNEY CHANNEL +1
- TOP SANTE TV
- CANAL+ LIGUE1 UBER EATS
- M6 4K
- FRANCE 24 Arabe
- CANAL+FOOT
- CANAL+SPORT360
- L'ESPRIT SORCIER TV
- FRANCE 24 Espagnol
- CARTOONITO
- SQOOL TV
- CANAL+BOX OFFICE
- TVMONACO
- DAZN 1
- TRACE URBAN
- STAR ACADEMY, LE LIVE
- RFM TV
- TRACE CARIBBEAN
- TRACE LATINA
- TRACE VANILLA
- CSTAR HITS FRANCE
- MEN'S UP TV
- SOUVENIRS FROM EARTH
- PUBLIC SENAT 24/24
- B SMART
- LA CHAINE METEO
- SKYNEWS
- AFRICA 24
- AL JAZEERA Arabic
- MEDI 1 TV
- TRT WORLD
- CANAL 10 Guadeloupe
- TAHITI NUI TELEVISION
- TELE ANTILLES
- MADRAS FM TV
- TRAVEL CHANNEL
- FOOD NETWORK
- FOXNEWS
- ANTENA 3
- STAR TVE
- A3 SERIES
- CANAL 24 HORAS
- ALL FLAMENCO
- TV3 CATALUNYA
- ETB BASQUE
- TV DE GALICIA
- REAL MADRID TV
- RTP 3
- TVI INTERNACIONAL
- SIC NOTICIAS
- SIC INTERNACIONAL
- TV RECORD
- TVI FICCAO
- ALMA LUSA
- A BOLA TV
- CORREIO DA MANHA TV
- RAI STORIA
- RAI SCUOLA
- MEDIASET ITALIA
- AL ARABIYA
- ALARABY TELEVISION
- AL AOULA
- CANAL ALGERIE
- MBC
- ROTANA CLASSIC
- ROTANA CLIP
- ENNAHAR TV
- ECHOROUK TV
- NESSMA EU
- EL HIWAR ETTOUNSI
- AL RESALAH
- IQRAA
- IQRAA INTERNATIONAL
- SAMIRA TV
- ROTANA MUSICA
- ECHOROUK NEWS
- ROTANA KHALIJIA
- ROTANA CINEMA
- ROTANA COMEDY
- ROTANA DRAMA
- EL BILAD TV
- PANORAMA DRAMA
- MBC DRAMA
- MBC MASR
- AL RAWDA
- NTD TV
- CCTV 4
- PHOENIX CNE
- PHOENIX INFONEWS
- CHINA MOVIE CHANNEL
- CCTV DIVERTISSEMENT
- ZHEJIANG INTERNATIONAL TV
- SHANGHAI DRAGON TV
- BEIJING TV
- HUNAN WORLD TV
- JIANGSU INTERNATIONAL TV
- GRT GBA Satellite TV
- GREAT WALL ELITE
- RTS
- 2STV
- ORTM
- RTI1
- CRTV
- RTNC
- TELE CONGO
- ORTB
- A+
- AFRICABLE
- CANAL 2 INT.
- TVT
- RTG
- TFM
- TRACE AFRICA
- TRACE GOSPEL
- SEN TV
- TRACE TERANGA
- 2M MONDE
- 6TER
- AB1
- ACTION
- AL JAZEERA Anglais
- ANIMAUX
- ARTE
- AUTOMOTO, la chaine
- BBC ENTERTAINMENT
- BBC NEWS
- BEIN SPORTS 1
- BEIN SPORTS 2
- BEIN SPORTS 3
- BEIN SPORTS MAX 10
- BEIN SPORTS MAX 4
- BEIN SPORTS MAX 5
- BEIN SPORTS MAX 6
- BEIN SPORTS MAX 7
- BEIN SPORTS MAX 8
- BEIN SPORTS MAX 9
- BET
- BFM BUSINESS
- BFM TV
- BLOOMBERG EUROPE
- BOOMERANG
- BOOMERANG +1
- CANAL J
- CANAL+
- CANAL+CINEMA(S)
- CANAL+DOCS
- CANAL+GRAND ECRAN
- CANAL+kids
- CANAL+SERIES
- CANAL+SPORT
- CHASSE PECHE
- CHERIE 25
- CINE+CLASSIC
- CINE+CLUB
- CINE+EMOTION
- CINE+FAMIZ
- CINE+FRISSON
- CINE+PREMIER
- CLUBBING TV
- CNBC
- CNEWS
- CNN INTERNATIONAL
- COMEDIE+
- COMEDY CENTRAL
- CRIME DISTRICT
- CSTAR
- DEMAIN
- DISNEY CHANNEL
- DISNEY JUNIOR
- DEUTSCHE WELLE
- EQUIDIA
- EUROCHANNEL
- EURONEWS Français
- FASHIONTV PARIS
- FRANCE 2
- FRANCE 24 Anglais
- FRANCE 24 Français
- FRANCE 3
- FRANCE 3 CORSE VIA STELLA
- FRANCE 4
- FRANCE 5
- FRANCEINFO:
- GAME ONE
- GAME ONE +1
- GOLF CHANNEL
- GULLI
- HISTOIRE TV
- I24NEWS
- J-ONE
- KTO
- LCI
- LCP 100%
- LA CHAINE L'EQUIPE
- LUCKY JACK
- LUXE TV
- M6
- M6MUSIC
- MAISON ET TRAVAUX TV
- MANGAS
- MCM
- MELODY
- MELODY D'AFRIQUE
- MEZZO
- MEZZO LIVE
- MGG TV
- MTV
- MTV HITS
- MUSEUM TV
- MY ZEN TV
- NATIONAL GEOGRAPHIC
- NATIONAL GEOGRAPHIC WILD
- NHK WORLD - JAPAN
- NICKELODEON
- NICKELODEON JUNIOR
- NICKELODEON +1
- NICKELODEON TEEN
- NOLLYWOOD TV
- NOVELAS TV
- NRJ HITS
- OCS PULP
- OCS GEANTS
- OCS MAX
- OLYMPIA TV
- PARAMOUNT CHANNEL
- PARAMOUNT CHANNEL DECALE
- PARIS PREMIERE
- PIWI+
- PLANETE+
- PLANETE+AVENTURE
- PLANETE+CRIME
- POLAR+
- LCP/PS
- RAI UNO
- RAI DUE
- RAI TRE
- RAI NEWS 24
- RMC DECOUVERTE
- RMC STORY
- RTL9
- RTPI
- SCIENCE & VIE TV
- SERIE CLUB
- SPORT EN FRANCE
- STINGRAY CLASSICA
- SUNU YEUF
- T18
- TCM CINEMA
- TELETOON+
- TELETOON +1
- TEVA
- TF1
- TF1 +1
- TF1 SERIES FILMS
- TFX
- TIJI
- TMC
- TMC +1
- TOUTE L'HISTOIRE
- TV5MONDE
- TV BREIZH
- TVE INTERNACIONAL
- TV PITCHOUN
- USHUAIA TV
- VOXAFRICA
- W9
+ AL JAZEERA Anglais
+ BBC NEWS
+ BLOOMBERG EUROPE
+ CNBC
+ CNN INTERNATIONAL
+ LUXE TV
+ NHK WORLD - JAPAN
+ TVE INTERNACIONAL
+ LBC SAT
+ 2M MONDE
+ 2STV
+ 6TER
+ 13EME RUE
+ 20 MINUTES TV IDF
+ CANAL 24 HORAS
+ AB1
+ A BOLA TV
+ ACTION
+ AFRICA 24
+ AL AOULA
+ AL ARABIYA
+ ALARABY TELEVISION
+ AL JAZEERA Arabic
+ ALL FLAMENCO
+ AL MAGHRIBIA
+ ALMA LUSA
+ ALPE D'HUEZ TELEVISION
+ AL RAWDA
+ AL RESALAH
+ ANGERS TELE
+ ANIMAUX
+ ANTENA 3
+ A+
+ ARIRANG TV
+ ARMENIA 1
+ ARRYADIA
+ ARTE
+ ARTE Allemand
+ ASHARQ NEWS
+ ASTRO CENTER
+ ATHAQAFIA
+ A3 SERIES
+ AUTOMOTO, la chaine
+ BEIJING TV
+ BEIN SPORTS 1
+ BEIN SPORTS 2
+ BEIN SPORTS 3
+ BEIN SPORTS MAX 4
+ BEIN SPORTS MAX 5
+ BEIN SPORTS MAX 6
+ BEIN SPORTS MAX 7
+ BEIN SPORTS MAX 8
+ BEIN SPORTS MAX 9
+ BEIN SPORTS MAX 10
+ BET
+ BEUR FM TV
+ BFM BUSINESS
+ BFM LYON
+ BFM MARSEILLE PROVENCE
+ BFM TV
+ BOOMERANG
+ BOOMERANG +1
+ BOOMERANG (VO)
+ BSMART 4CHANGE
+ CANAL 2 INT.
+ CANAL 10 Guadeloupe
+ CANAL J
+ CANAL+
+ CANAL+BOX OFFICE
+ CANAL+CINEMA(S)
+ CANAL+DOCS
+ CANAL+FOOT
+ CANAL+GRAND ECRAN
+ CANAL+kids
+ CANAL+SPORT360
+ CANAL+SPORT
+ CARTOONITO
+ CCTV 4
+ CCTV DIVERTISSEMENT
+ CGTN Français
+ CHASSE PECHE
+ CHERIE 25
+ CHINA MOVIE CHANNEL
+ CINÉ+classic
+ CINÉ+émotion
+ CINÉ+family
+ CINÉ+festival
+ CINÉ+frisson
+ OCS
+ CLUBBING TV
+ CNEWS
+ COMEDIE+
+ COMEDY CENTRAL
+ CRIME DISTRICT
+ CRTV
+ CSTAR
+ CSTAR HITS FRANCE
+ DEMAIN
+ DISCOVERY INVESTIGATION
+ DISNEY CHANNEL
+ SHANGHAI DRAGON TV
+ DREAMWORKS
+ DUBAI TV
+ DEUTSCHE WELLE
+ E!
+ ECHOROUK NEWS
+ ECHOROUK TV
+ EL BILAD TV
+ EL HIWAR ETTOUNSI
+ ENNAHAR TV
+ EQUIDIA
+ EQUINOXE TELEVISION
+ ESPACE TV
+ ETB BASQUE
+ EUROCHANNEL
+ EURONEWS Français
+ FASHIONTV PARIS
+ FOOD NETWORK
+ FRANCE 2
+ FRANCE 3
+ FRANCE 3 ALPES
+ FRANCE 3 ALSACE
+ FRANCE 3 AQUITAINE
+ FRANCE 3 AUVERGNE
+ FRANCE 3 BOURGOGNE
+ FRANCE 3 BRETAGNE
+ FRANCE 3 CENTRE
+ FRANCE 3 CHAMPAGNE ARDENNE
+ FRANCE 3 CORSE VIA STELLA
+ FRANCE 3 COTE D'AZUR
+ FRANCE 3 FRANCHE COMTE
+ FRANCE 3 LANGUEDOC
+ FRANCE 3 LIMOUSIN
+ FRANCE 3 LORRAINE
+ FRANCE 3 MIDI-PYRENEES
+ FRANCE 3 NoA
+ FRANCE 3 NORD P. CALAIS
+ FRANCE 3 NORMANDIE CAEN
+ FRANCE 3 NORMANDIE ROUEN
+ FRANCE 3 PARIS IDF
+ FRANCE 3 PAYS DE LA LOIRE
+ FRANCE 3 PICARDIE
+ FRANCE 3 POITOU CHARENTES
+ FRANCE 3 PROVENCE ALPES
+ FRANCE 3 RHONE ALPES
+ FRANCE 4
+ FRANCE 5
+ FRANCE 24 Arabe
+ FRANCE 24 Anglais
+ FRANCE 24 Espagnol
+ FRANCE 24 Français
+ FRANCEINFO:
+ FUSION TV
+ GAME ONE
+ GAME ONE +1
+ GREAT WALL ELITE
+ GRT GBA Satellite TV
+ GULLI
+ HABERTURK
+ HISTOIRE TV
+ HLIVE
+ HUNAN WORLD TV
+ I24NEWS
+ IMEARTH
+ IO TV
+ IQRAA INTERNATIONAL
+ IQRAA
+ JIANGSU INTERNATIONAL TV
+ J-ONE
+ JOURNAL DU GOLF TV
+ KANAL AUSTRAL.TV
+ KANALDUDE
+ KBS WORLD
+ KMT
+ KTO
+ KOUROU TELEVISION
+ LA CHAINE METEO
+ LCI
+ LCP/PS
+ LCP 100%
+ LE FIGARO TV IDF
+ LA CHAINE L'EQUIPE
+ L'ESPRIT SORCIER TV
+ LMTV SARTHE
+ LUCKY JACK
+ M6
+ M6 4K
+ M6MUSIC
+ MABOKE TV
+ MADRAS FM TV
+ MAISON ET TRAVAUX TV
+ MANDARIN TV
+ MANGAS
+ MARMITON TV
+ MATÉLÉ
+ MBC
+ MBC 5
+ MCM
+ MEDI 1 TV
+ MEDIASET ITALIA
+ MELODY
+ MELODY D'AFRIQUE
+ MEN'S UP TV
+ MEZZO
+ MEZZO LIVE
+ MGG TV
+ MOSELLE TV
+ MTV
+ MTV HITS
+ MUSEUM TV
+ MYTV CARAIBES
+ MY ZEN TV
+ NATIONAL GEOGRAPHIC
+ NCI
+ NESSMA EL JADIDA
+ NICKELODEON
+ NICKELODEON +1
+ NICKELODEON JUNIOR
+ NICKELODEON TEEN
+ NOLLYWOOD TV
+ NOLLYWOOD TV EPIC
+ NOVELAS TV
+ NRJ HITS
+ NTD TV
+ OLYMPIA TV
+ BENIN TV
+ ORTM
+ PARAMOUNT NETWORK
+ PARAMOUNT NETWORK DECALE
+ PARIS PREMIERE
+ PHOENIX CNE
+ PHOENIX INFONEWS
+ PIWI+
+ PLANETE+
+ PLANETE+AVENTURE
+ PLANETE+CRIME
+ POLAR+
+ PUBLIC SENAT 24/24
+ PULAAGU
+ ETV: Télévision Caraïbéenne
+ RAI 1
+ RAI 2
+ RAI 3
+ RAI ITALIA
+ RAI SCUOLA
+ RAI STORIA
+ REAL MADRID TV
+ RECORD NEWS
+ TV RECORD
+ RFM TV
+ RMC DECOUVERTE
+ RMC STORY
+ ROTANA CINEMA
+ ROTANA CLASSIC
+ ROTANA CLIP
+ ROTANA COMEDY
+ ROTANA DRAMA
+ ROTANA KHALIJIA
+ ROTANA MUSICA
+ RTG
+ RTI1
+ RTL9
+ RTNC
+ RTP 3
+ RTS
+ SAMIRA TV
+ SCIENCE & VIE TV
+ SEN TV
+ SERIE CLUB
+ SIC INTERNACIONAL
+ SIC NOTICIAS
+ SKYNEWS
+ SOUVENIRS FROM EARTH
+ SPORT EN FRANCE
+ SQOOL TV
+ STINGRAY CLASSICA
+ SUNU YEUF
+ SYFY
+ T18
+ TAMAZIGHT
+ TCM CINEMA
+ TCM CINEMA (VO)
+ TV BRETAGNE OUEST
+ TECH&CO
+ TELE ANTILLES
+ TELE CONGO
+ TELEGRENOBLE
+ TELE KREOL
+ TELENANTES
+ TELETOON+
+ TELETOON +1
+ TV DE GALICIA
+ TRACE TERANGA
+ TEVA
+ TF1
+ TF1 4K
+ TF1 SERIES FILMS
+ TFM
+ TFX
+ TIJI
+ TLC
+ TMC
+ TAHITI NUI TELEVISION
+ TOP SANTE TV
+ TOUTE L'HISTOIRE
+ TRACE AFRICA
+ TRACE CARIBBEAN
+ TRACE GOSPEL
+ TRACE LATINA
+ TRACE URBAN
+ TRACE VANILLA
+ TRAVEL CHANNEL
+ TRT WORLD
+ CANAL ALGERIE
+ TV3 CATALUNYA
+ TV5 TURKEY
+ TV5MONDE
+ TV7 BORDEAUX
+ 8 MONT-BLANC
+ TV BREIZH
+ CORREIO DA MANHA TV
+ STAR TVE
+ V+ TVI
+ TVI INTERNACIONAL
+ TVMONACO
+ PANORAMA DRAMA
+ TV PITCHOUN
+ TV PITCHOUN KIDS MUSIC
+ TVR RENNES 35
+ TVRI
+ TVT
+ VAL DE LOIRE TV
+ USHUAIA TV
+ VIAOCCITANIE Montpellier
+ VOSGES TV
+ VOXAFRICA
+ W9
+ WARNER TV
+ WARNER TV NEXT
+ WEO La Voix du Nord
+ ZHEJIANG INTERNATIONAL TV
+ ZITATA TV
+ RAI NEWS 24
+ TGCOM24
+ RTPI
diff --git a/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.config.js b/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.config.js
index 80f232d2..68f2d241 100644
--- a/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.config.js
+++ b/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.config.js
@@ -9,12 +9,29 @@ module.exports = {
.add(1, 'd')
.valueOf()}&after=${channel.site_id}&limit=1`
},
- parser: function ({ content, channel }) {
+ async parser({ content, channel }) {
let programs = []
const items = parseItems(content, channel)
- items.forEach(item => {
+
+ for (const item of items) {
const start = parseStart(item)
const stop = parseStop(item, start)
+ const url = parseDetailURL(item)
+ let itemDetails = null
+ if (url) {
+ try {
+ const response = await axios.get(url, {}, {
+ headers: {
+ 'Accept': 'application/json',
+ 'Content-Type': 'application/json'
+ }
+ })
+ itemDetails = response.data
+ } catch (err) {
+ console.error(`Error fetching details for item: ${url}`, err)
+ }
+ }
+
programs.push({
title: item.title,
subTitle: item.season?.serie?.title,
@@ -24,34 +41,87 @@ module.exports = {
episode: parseEpisode(item),
image: parseImage(item),
start: start.toJSON(),
- stop: stop.toJSON()
+ stop: stop.toJSON(),
+ date: itemDetails?.productionDate,
+ directors: parseDirectors(itemDetails),
+ actors: parseActors(itemDetails),
+ country: itemDetails?.productionCountries
})
- })
-
+ }
return programs
},
async channels() {
- const html = await axios
- .get('https://chaines-tv.orange.fr/programme-tv?filtres=all')
+ const token = await getTVToken()
+ const json = await axios
+ .get('https://mediation-tv.orange.fr/all/api-gw/bff-live-player-rights/v1/auth/accountToken/livePlayerRights?customerOrangePopulation=OTT_Metro&deviceCategory=W_PC',{
+ headers: {'tv_token': 'Bearer ' + token,
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36'
+ }})
.then(r => r.data)
.catch(console.log)
- const [, nuxtFunc] = html.match(/window\.__NUXT__=([^<]+)/) || [null, null]
- const func = new Function(`"use strict";return ${nuxtFunc}`)
-
- const data = func()
- const items = data.state.channels.channels
+ const data = json
+ const items = data.channels
return items.map(item => {
return {
lang: 'fr',
- site_id: item.idEPG,
- name: item.name
+ site_id: item.epgId,
+ name: item.name,
+ logo: item.logos[0]?.logoImageUrl.replace(/&/g, '&')
+ .replace(//g, '>')
+ .replace(/"/g, '"')
+ .replace(/'/g, ''')
}
})
}
}
+async function getTVToken() {
+ try {
+ const response = await axios.get('https://tv.orange.fr/')
+ const html = response.data
+
+ // Look for window.__pinia = {...} specifically
+ const match = html.match(/window\.__pinia\s*=\s*({[^;]+})/)
+
+ if (!match) {
+ console.log('__pinia pattern not found')
+ return null
+ }
+
+ const [, piniaData] = match
+ const data = JSON.parse(piniaData)
+ return data.authStore?.authInitEw?.token
+ } catch (error) {
+ console.error('Error:', error)
+ return null
+ }
+}
+
+function parseDetailURL(item) {
+ return item?.links && item?.links.length ? item?.links[0]?.href : null
+}
+
+function parseDirectors(itemDetails) {
+ if (!itemDetails) return []
+ if (!itemDetails?.contributors) return []
+ if (!itemDetails?.contributors?.directors) return []
+ // Add value in the array of directors instead of firstName + lastName see:
+ // https://www.npmjs.com/package/epg-grabber
+ return itemDetails?.contributors?.directors.map(director => ({value: `${director.firstName} ${director.lastName}`}))
+}
+
+function parseActors(itemDetails) {
+ if (!itemDetails) return []
+ if (!itemDetails?.contributors) return []
+ if (!itemDetails?.contributors?.actors) return []
+ // Add value in the array of actors instead of firstName + lastName see:
+ // https://www.npmjs.com/package/epg-grabber
+ return itemDetails?.contributors?.actors.map(actor => ({value: `${actor.firstName} ${actor.lastName}`}))
+}
+
function parseImage(item) {
return item.covers && item.covers.length ? item.covers[0].url : null
}
diff --git a/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.test.js b/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.test.js
index 3a832c35..6f174b63 100644
--- a/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.test.js
+++ b/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.test.js
@@ -1,6 +1,4 @@
const { parser, url } = require('./chaines-tv.orange.fr.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')
@@ -12,6 +10,8 @@ const channel = {
site_id: '192',
xmltv_id: 'TF1.fr'
}
+const content =
+ '{"192":[{"id":1635062528017,"programType":"EPISODE","title":"Tête de liste","channelId":"192","channelZappingNumber":11,"covers":[{"format":"RATIO_16_9","url":"https://proxymedia.woopic.com/340/p/169_EMI_9697669.jpg"},{"format":"RATIO_4_3","url":"https://proxymedia.woopic.com/340/p/43_EMI_9697669.jpg"}],"diffusionDate":1636328100,"duration":2700,"csa":2,"synopsis":"Un tueur en série prend un plaisir pervers à prévenir les autorités de Tallahassee avant chaque nouveau meurtre. Rossi apprend le décès d\'un de ses vieux amis.","languageVersion":"VM","hearingImpaired":true,"audioDescription":false,"season":{"number":10,"episodesCount":23,"serie":{"title":"Esprits criminels"}},"episodeNumber":12,"definition":"SD","dayPart":"OTHER","catchupId":null,"genre":"Série","genreDetailed":"Série Suspense"}]}'
it('can generate valid url', () => {
const result = url({ channel, date })
@@ -20,9 +20,8 @@ it('can generate valid url', () => {
)
})
-it('can parse response', () => {
- const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
- const result = parser({ date, channel, content })
+it('can parse response', async () => {
+ const result = await parser({ date, channel, content })
expect(result).toMatchObject([
{
start: '2021-11-07T23:35:00.000Z',
@@ -39,11 +38,12 @@ it('can parse response', () => {
])
})
-it('can handle empty guide', () => {
- const result = parser({
+it('can handle empty guide', async () => {
+ const result = await parser({
date,
channel,
- content: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.json'))
+ content:
+ '{"code":60,"message":"Resource not found","param":{},"description":"L\'URI demandé ou la ressource demandée n\'existe pas.","stackTrace":null}'
})
expect(result).toMatchObject([])
})
diff --git a/sites/zap2it.com/zap2it.com.config.js b/sites/zap2it.com/zap2it.com.config.js
index 9cb96a66..d2bb4208 100644
--- a/sites/zap2it.com/zap2it.com.config.js
+++ b/sites/zap2it.com/zap2it.com.config.js
@@ -34,7 +34,7 @@ module.exports = {
postalCode,
device,
userId: '-',
- aid: 'gapzap',
+ aid: 'orbebb',
DSTUTCOffset: '-240',
STDUTCOffset: '-300',
DSTStart: '2025-03-09T02:00Z',
@@ -68,4 +68,4 @@ module.exports = {
return programs.filter(p => dayjs(p.start).add(dayjs(p.start).utcOffset(), 'minute').isBetween(date.startOf('day').subtract(dayjs().utcOffset(), 'minute').utc(),
date.endOf('day').subtract(dayjs().utcOffset(), 'minute').utc(), 'second', '[]'))
}
-}
+}
\ No newline at end of file
diff --git a/sites/zuragt.mn/zuragt.mn.channels.xml b/sites/zuragt.mn/zuragt.mn.channels.xml
index f0fc10a6..b8a643b6 100644
--- a/sites/zuragt.mn/zuragt.mn.channels.xml
+++ b/sites/zuragt.mn/zuragt.mn.channels.xml
@@ -1,9 +1,9 @@
MNB Гэр Бүл
- Mонголын Мэдээ
+ Mонголын Мэдээ
Нийслэл ТВ
- Парламент телевиз
+ Парламент телевиз
Premier Sports 1
Premier Sports 2
Premier Sports 3
@@ -16,7 +16,7 @@
Central TV
Dream
Eco Channel
- Боловсрол ТВ
+ Боловсрол ТВ
ETV HD
МҮОНТ
MNB Sport