| 9tv.co.il | 1 | 1 | 🟢 | |
| abc.net.au | 548 | 0 | 🟢 | |
+ | airtelxstream.in | 972 | 667 | 🟢 | |
| allente.no | 319 | 0 | 🟢 | |
| andorradifusio.ad | 1 | 1 | 🟢 | |
| anteltv.com.uy | 54 | 46 | 🟢 | |
| antennaeurope.gr | 1 | 1 | 🟢 | |
| antennapacific.gr | 1 | 1 | 🟢 | |
| antennasatellite.gr | 1 | 1 | 🟢 | |
+ | app.tvufop.com.br | 1 | 1 | 🟢 | |
| arianatelevision.com | 1 | 1 | 🟢 | |
| arirang.com | 3 | 3 | 🟢 | |
| artonline.tv | 5 | 5 | 🟢 | |
@@ -21,25 +23,27 @@
| beinsports.com | 130 | 81 | 🟢 | |
| berrymedia.co.kr | 5 | 5 | 🟢 | |
| cableplus.com.uy | 171 | 44 | 🟢 | |
- | canalplus.com | 13118 | 179 | 🟢 | |
+ | canalplus.com | 13118 | 179 | 🟢 | https://github.com/iptv-org/epg/issues/3002 |
| cgates.lt | 47 | 29 | 🟢 | |
| chada.ma | 1 | 1 | 🟢 | |
| chaines-tv.orange.fr | 373 | 328 | 🟢 | |
- | claro.com.br | 273 | 0 | 🟢 | |
+ | claro.com.br | 273 | 0 | 🟢 | https://github.com/iptv-org/epg/issues/2988 |
+ | clarotvmais.com.br | 158 | 0 | 🟢 | |
| clickthecity.com | 32 | 30 | 🟢 | |
| content.astro.com.my | 149 | 93 | 🟢 | |
| cosmotetv.gr | 109 | 0 | 🟢 | |
| ctc.ru | 1 | 1 | 🟢 | |
| cubmu.com | 140 | 104 | 🟢 | |
- | cyta.com.cy | 119 | 0 | 🟢 | |
+ | cyta.com.cy | 119 | 0 | 🔴 | https://github.com/iptv-org/epg/issues/3037 |
| dens.tv | 54 | 48 | 🟢 | |
| derana.lk | 1 | 1 | 🟢 | |
| digea.gr | 88 | 0 | 🟢 | |
- | digiturk.com.tr | 115 | 95 | 🔴 | https://github.com/iptv-org/epg/issues/2940 |
- | directv.com | 1043 | 640 | 🔴 | https://github.com/iptv-org/epg/issues/2284 |
+ | digiturk.com.tr | 112 | 91 | 🟢 | |
+ | directv.com | 1043 | 640 | 🔴 | https://github.com/iptv-org/epg/issues/3001, https://github.com/iptv-org/epg/issues/2284 |
| directv.com.ar | 371 | 0 | 🔴 | https://github.com/iptv-org/epg/issues/2339 |
| directv.com.uy | 374 | 59 | 🟢 | |
- | dishtv.in | 434 | 326 | 🟢 | |
+ | dishtv.in | 603 | 548 | 🟢 | |
+ | distro.tv | 315 | 123 | 🟢 | |
| dna.fi | 123 | 0 | 🟢 | |
| dsmart.com.tr | 100 | 76 | 🟢 | |
| dstv.com | 2979 | 80 | 🟢 | |
@@ -57,7 +61,7 @@
| foxsports.com.au | 7 | 7 | 🟢 | |
| foxtel.com.au | 99 | 60 | 🟢 | |
| freetv.tv | 7 | 7 | 🟢 | |
- | freeview.co.uk | 167 | 98 | 🟢 | |
+ | freeview.co.uk | 166 | 104 | 🟢 | |
| frikanalen.no | 1 | 1 | 🟢 | |
| galamtv.kz | 27 | 22 | 🟢 | |
| gatotv.com | 475 | 360 | 🟢 | |
@@ -69,10 +73,10 @@
| guidetnt.com | 69 | 68 | 🟢 | |
| horizon.tv | 184 | 172 | 🟢 | |
| hoy.tv | 3 | 1 | 🟢 | |
- | i.mjh.nz | 6458 | 1464 | 🟢 | |
+ | i.mjh.nz | 6464 | 1470 | 🟢 | |
| i24news.tv | 4 | 3 | 🟢 | |
- | iltalehti.fi | 142 | 44 | 🔴 | https://github.com/iptv-org/epg/issues/2870 |
- | indihometv.com | 127 | 119 | 🟢 | |
+ | iltalehti.fi | 147 | 0 | 🟢 | |
+ | indihometv.com | 128 | 122 | 🟢 | |
| ionplustv.com | 1 | 1 | 🟢 | |
| ipko.tv | 194 | 151 | 🟢 | |
| jiotv.com | 1094 | 0 | 🟢 | |
@@ -89,7 +93,7 @@
| mediaklikk.hu | 8 | 8 | 🟢 | |
| mediasetinfinity.mediaset.it | 13 | 13 | 🟢 | |
| melita.com | 127 | 110 | 🟢 | |
- | meo.pt | 217 | 189 | 🟢 | |
+ | meo.pt | 212 | 199 | 🟢 | https://github.com/iptv-org/epg/issues/3022 |
| meuguia.tv | 102 | 96 | 🟢 | |
| mewatch.sg | 25 | 24 | 🟢 | |
| mi.tv | 2084 | 614 | 🟢 | |
@@ -97,34 +101,34 @@
| moji.id | 1 | 1 | 🟢 | |
| mojmaxtv.hrvatskitelekom.hr | 243 | 0 | 🟢 | |
| mon-programme-tv.be | 111 | 94 | 🟢 | |
- | movistarplus.es | 178 | 0 | 🔴 | https://github.com/iptv-org/epg/issues/2865 |
+ | movistarplus.es | 178 | 0 | 🟢 | |
| mtel.ba | 501 | 0 | 🟢 | |
| mts.rs | 457 | 0 | 🟢 | |
- | mujtvprogram.cz | 216 | 202 | 🟢 | |
+ | mujtvprogram.cz | 213 | 190 | 🟢 | |
| musor.tv | 181 | 142 | 🟢 | |
| mysky.com.ph | 115 | 43 | 🟢 | |
- | mytelly.co.uk | 488 | 387 | 🟢 | |
+ | mytelly.co.uk | 488 | 387 | 🟢 | https://github.com/iptv-org/epg/issues/2985 |
| mytvsuper.com | 108 | 99 | 🟢 | |
| neo.io | 337 | 230 | 🟢 | |
| nhkworldpremium.com | 2 | 2 | 🟢 | |
| nhl.com | 1 | 1 | 🟢 | |
- | nostv.pt | 169 | 152 | 🟢 | |
+ | nostv.pt | 161 | 152 | 🟢 | |
| novacyprus.com | 29 | 24 | 🟢 | |
| novasports.gr | 16 | 16 | 🟢 | |
| nowplayer.now.com | 288 | 227 | 🟢 | |
| nuevosiglo.com.uy | 173 | 46 | 🟢 | |
| nzxmltv.com | 532 | 118 | 🟢 | |
- | ontvtonight.com | 5177 | 528 | 🟢 | |
- | opto.sic.pt | 4 | 4 | 🟢 | |
- | orangetv.orange.es | 168 | 162 | 🟢 | |
- | osn.com | 118 | 98 | 🟢 | |
+ | ontvtonight.com | 5177 | 528 | 🟢 | https://github.com/iptv-org/epg/issues/3014 |
+ | opto.sic.pt | 3 | 3 | 🟢 | |
+ | orangetv.orange.es | 273 | 151 | 🟢 | |
+ | osn.com | 134 | 86 | 🟢 | |
| passie.nl | 1 | 1 | 🟢 | |
| pbsguam.org | 1 | 1 | 🟢 | |
| pickx.be | 404 | 375 | 🟢 | |
- | player.ee.co.uk | 241 | 198 | 🟢 | |
+ | player.ee.co.uk | 241 | 198 | 🟢 | https://github.com/iptv-org/epg/issues/3050 |
| playtv.unifi.com.my | 66 | 61 | 🟢 | |
- | plex.tv | 170 | 119 | 🟢 | |
- | pluto.tv | 3302 | 0 | 🟢 | |
+ | plex.tv | 1287 | 512 | 🟢 | |
+ | pluto.tv | 3041 | 415 | 🟢 | |
| port.hu | 151 | 0 | 🟢 | |
| programacion-tv.elpais.com | 195 | 101 | 🟢 | |
| programacion.tcc.com.uy | 149 | 55 | 🟢 | |
@@ -141,28 +145,29 @@
| rthk.hk | 8 | 8 | 🟢 | |
| rtmklik.rtm.gov.my | 8 | 6 | 🟢 | |
| rtp.pt | 10 | 10 | 🟢 | |
+ | rts.ch | 3 | 3 | 🟢 | |
| ruv.is | 2 | 2 | 🟢 | |
| s.mxtv.jp | 2 | 2 | 🟢 | |
| sat.tv | 30308 | 249 | 🟢 | |
- | shahid.mbc.net | 228 | 186 | 🟢 | |
+ | shahid.mbc.net | 207 | 168 | 🟢 | |
| siba.com.co | 98 | 95 | 🟢 | |
| singtel.com | 155 | 113 | 🟢 | |
| sjonvarp.is | 13 | 13 | 🟢 | |
| sky.co.nz | 111 | 93 | 🟢 | |
| sky.com | 542 | 489 | 🟡 | https://github.com/iptv-org/epg/issues/2763 |
- | sky.de | 75 | 75 | 🟢 | |
- | skylife.co.kr | 251 | 0 | 🔴 | https://github.com/iptv-org/epg/issues/2845 |
+ | sky.de | 74 | 74 | 🟢 | |
+ | skylife.co.kr | 257 | 0 | 🟢 | |
| skyperfectv.co.jp | 137 | 129 | 🟢 | |
| snrt.ma | 11 | 7 | 🟢 | |
| sporttv.pt | 9 | 9 | 🟢 | |
- | starhubtvplus.com | 232 | 208 | 🟢 | |
+ | starhubtvplus.com | 232 | 208 | 🟢 | https://github.com/iptv-org/epg/issues/2965 |
| startimestv.com | 77 | 58 | 🟢 | |
| stod2.is | 12 | 8 | 🟢 | |
| streamingtvguides.com | 3066 | 1 | 🟢 | |
| superguidatv.it | 204 | 159 | 🟢 | |
| taiwanplus.com | 1 | 1 | 🟢 | |
| tapdmv.com | 39 | 7 | 🟢 | |
- | tataplay.com | 785 | 398 | 🟢 | |
+ | tataplay.com | 1103 | 747 | 🟢 | |
| telebilbao.es | 1 | 1 | 🟢 | |
| teleboy.ch | 325 | 0 | 🟢 | |
| telenet.tv | 260 | 91 | 🟢 | |
@@ -183,21 +188,20 @@
| tv.lv | 137 | 49 | 🟢 | |
| tv.magenta.at | 307 | 219 | 🟢 | |
| tv.mail.ru | 664 | 632 | 🟢 | |
- | tv.movistar.com.pe | 282 | 39 | 🟢 | |
+ | tv.movistar.com.pe | 262 | 31 | 🟢 | |
| tv.nu | 199 | 180 | 🟢 | |
| tv.post.lu | 332 | 241 | 🟢 | |
| tv.sfr.fr | 489 | 438 | 🟢 | |
| tv.trueid.net | 246 | 35 | 🟢 | |
- | tv.yandex.ru | 97 | 66 | 🔴 | https://github.com/iptv-org/epg/issues/2803 |
| tv24.co.uk | 1072 | 38 | 🟢 | |
- | tv24.se | 326 | 157 | 🟢 | |
+ | tv24.se | 326 | 157 | 🟢 | https://github.com/iptv-org/epg/issues/2993 |
| tv2go.t-2.net | 342 | 232 | 🟢 | |
| tvarenasport.com | 18 | 18 | 🟢 | |
| tvarenasport.hr | 10 | 10 | 🟢 | |
| tvcesoir.fr | 135 | 132 | 🟢 | |
| tvcubana.icrt.cu | 10 | 10 | 🟢 | |
- | tvgids.nl | 115 | 85 | 🟢 | |
- | tvguide.com | 153 | 153 | 🟢 | |
+ | tvgids.nl | 115 | 101 | 🟢 | |
+ | tvguide.com | 153 | 153 | 🟢 | https://github.com/iptv-org/epg/issues/2967 |
| tvguide.myjcom.jp | 134 | 128 | 🟢 | |
| tvhebdo.com | 317 | 213 | 🟢 | |
| tvheute.at | 53 | 48 | 🟢 | |
@@ -208,26 +212,30 @@
| tvkaista.org | 149 | 0 | 🟢 | |
| tvmi.mt | 3 | 3 | 🟢 | |
| tvmusor.hu | 99 | 66 | 🟢 | |
- | tvmustra.hu | 188 | 0 | 🔴 | https://github.com/iptv-org/epg/issues/2903 |
+ | tvmustra.hu | 189 | 0 | 🟢 | |
| tvpassport.com | 19287 | 2496 | 🟢 | |
- | tvplus.com.tr | 150 | 144 | 🟢 | |
- | tvprofil.com | 9091 | 408 | 🟢 | |
+ | tvplus.com.tr | 150 | 144 | 🟢 | https://github.com/iptv-org/epg/issues/2983 |
+ | tvprofil.com | 9091 | 408 | 🔴 | https://github.com/iptv-org/epg/issues/3032 |
| tvtv.us | 2299 | 2230 | 🟢 | |
| v3.myafn.dodmedia.osd.mil | 8 | 8 | 🟢 | |
+ | vantagetv.ee | 3 | 1 | 🟢 | |
| vidio.com | 57 | 52 | 🟢 | |
| virginmediatelevision.ie | 5 | 5 | 🟢 | |
- | virgintvgo.virginmedia.com | 238 | 179 | 🟢 | |
+ | virgintvgo.virginmedia.com | 238 | 181 | 🟢 | |
| visionplus.id | 250 | 224 | 🟢 | |
- | vivoplay.com.br | 389 | 0 | 🟢 | |
- | vodafone.pt | 147 | 135 | 🟢 | |
+ | vivoplay.com.br | 397 | 0 | 🟢 | |
+ | vodafone.pt | 146 | 141 | 🟢 | |
+ | vrt.be | 10 | 10 | 🟢 | |
| vtm.be | 7 | 6 | 🟢 | |
| walesi.com.fj | 9 | 8 | 🟢 | |
| watch.sportsnet.ca | 8 | 8 | 🟢 | |
+ | watch.whaletvplus.com | 362 | 115 | 🟢 | |
| watchyour.tv | 40 | 24 | 🟢 | |
| wavve.com | 77 | 76 | 🟢 | |
- | web.magentatv.de | 348 | 226 | 🟢 | |
+ | web.magentatv.de | 348 | 226 | 🟢 | https://github.com/iptv-org/epg/issues/2966 |
| webtv.delta.nl | 247 | 204 | 🟢 | |
- | winplay.co | 2 | 2 | 🟢 | |
+ | webtv.sk | 186 | 0 | 🟢 | |
+ | winplay.co | 2 | 2 | 🟢 | https://github.com/iptv-org/epg/issues/3003 |
| worldfishingnetwork.com | 1 | 1 | 🟢 | |
| www3.nhk.or.jp | 1 | 1 | 🟢 | |
| xem.kplus.vn | 77 | 0 | 🟢 | |
@@ -235,7 +243,7 @@
| yes.co.il | 174 | 0 | 🟢 | |
| zap.co.ao | 114 | 63 | 🟢 | |
| zap2it.com | 595 | 0 | 🟢 | |
- | ziggogo.tv | 156 | 150 | 🟢 | |
+ | ziggogo.tv | 156 | 150 | 🟢 | https://github.com/iptv-org/epg/issues/2977, https://github.com/iptv-org/epg/issues/2976 |
| znbc.co.zm | 4 | 4 | 🟢 | |
| zuragt.mn | 34 | 27 | 🟢 | |
diff --git a/package-lock.json b/package-lock.json
index 59c594c47..917b4c9bf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4702,13 +4702,15 @@
}
},
"node_modules/axios-cache-interceptor": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/axios-cache-interceptor/-/axios-cache-interceptor-1.8.3.tgz",
- "integrity": "sha512-ifuSBoCEkVaiugg1UTjVuTdK+SjSOJ35pdv2OrzhRT3wDMr52QiayQxUqs7jd7GDsfPOjMcw3T3ek0TysbyZZw==",
+ "version": "1.11.4",
+ "resolved": "https://registry.npmjs.org/axios-cache-interceptor/-/axios-cache-interceptor-1.11.4.tgz",
+ "integrity": "sha512-xZ4OZUxdpcFUpZjrqfYlGK0VglpPRKKSoE3vMHrstxolixQNs/MrbMezOAO5uS454hIEcWpnk75RZK26WkPW/g==",
"dependencies": {
- "cache-parser": "1.2.5",
- "fast-defer": "1.1.8",
- "object-code": "1.3.3"
+ "cache-parser": "^1.2.6",
+ "fast-defer": "^1.1.9",
+ "http-vary": "^1.0.3",
+ "object-code": "^2.0.0",
+ "try": "^1.0.3"
},
"engines": {
"node": ">=12"
@@ -4889,9 +4891,9 @@
}
},
"node_modules/basic-ftp": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz",
- "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.2.0.tgz",
+ "integrity": "sha512-VoMINM2rqJwJgfdHq6RiUudKt2BV+FY5ZFezP/ypmwayk68+NzzAQy4XXLlqsGD4MCzq3DrmNFD/uUmBJuGoXw==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@@ -5123,9 +5125,9 @@
}
},
"node_modules/cache-parser": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/cache-parser/-/cache-parser-1.2.5.tgz",
- "integrity": "sha512-Md/4VhAHByQ9frQ15WD6LrMNiVw9AEl/J7vWIXw+sxT6fSOpbtt6LHTp76vy8+bOESPBO94117Hm2bIjlI7XjA=="
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/cache-parser/-/cache-parser-1.2.6.tgz",
+ "integrity": "sha512-SjjnKlWgrhDrAWKUxAvmZLRGDa6JExMfjSu59/pvpNoI6mEHYSLcLKUw2RtECEOINvf6dxJo35fY+T/scA0SUA=="
},
"node_modules/call-bind": {
"version": "1.0.8",
@@ -6663,9 +6665,9 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"node_modules/fast-defer": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/fast-defer/-/fast-defer-1.1.8.tgz",
- "integrity": "sha512-lEJeOH5VL5R09j6AA0D4Uvq7AgsHw0dAImQQ+F3iSyHZuAxyQfWobsagGpTcOPvJr3urmKRHrs+Gs9hV+/Qm/Q=="
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/fast-defer/-/fast-defer-1.1.9.tgz",
+ "integrity": "sha512-JP7Xm9HuePSeTT1DI78NeE9eAQvgNb9qNP2jlyQrcx4jiWM189omV6oyd0xaUPWHPlKmvDzz6H1FfPWIDU+xfg=="
},
"node_modules/fast-json-patch": {
"version": "3.1.1",
@@ -7259,6 +7261,11 @@
"node": ">= 14"
}
},
+ "node_modules/http-vary": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/http-vary/-/http-vary-1.0.3.tgz",
+ "integrity": "sha512-sx7Y8YTqF3o0mFJJvF66n8dbaE8v3liV1RgCz46XP5xK7dnzyZHvwMWRA115q5kjbCPBV65/nOMlgW54WLyiag=="
+ },
"node_modules/https-proxy-agent": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
@@ -7756,6 +7763,14 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/jackspeak/node_modules/@isaacs/cliui": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz",
+ "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/jest": {
"version": "30.3.0",
"resolved": "https://registry.npmjs.org/jest/-/jest-30.3.0.tgz",
@@ -9691,9 +9706,14 @@
}
},
"node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ "version": "4.17.23",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w=="
+ },
+ "node_modules/lodash.groupby": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz",
+ "integrity": "sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw=="
},
"node_modules/lodash.groupby": {
"version": "4.6.0",
@@ -10051,9 +10071,9 @@
}
},
"node_modules/object-code": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/object-code/-/object-code-1.3.3.tgz",
- "integrity": "sha512-/Ds4Xd5xzrtUOJ+xJQ57iAy0BZsZltOHssnDgcZ8DOhgh41q1YJCnTPnWdWSLkNGNnxYzhYChjc5dgC9mEERCA=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/object-code/-/object-code-2.0.0.tgz",
+ "integrity": "sha512-qOwMF43O/VAD51nJAB7MKsf1yWksql6O1i0DHRo1yaOQM6xJQH0NAE9UKJzYB7lyKw1jnpeb2BmB8qakjxiYZA=="
},
"node_modules/object-treeify": {
"version": "2.1.1",
@@ -10880,11 +10900,6 @@
"node": ">=8.10.0"
}
},
- "node_modules/readline": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz",
- "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg=="
- },
"node_modules/registry-auth-token": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
@@ -11594,9 +11609,10 @@
}
},
"node_modules/systeminformation": {
- "version": "5.25.11",
- "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.25.11.tgz",
- "integrity": "sha512-jI01fn/t47rrLTQB0FTlMCC+5dYx8o0RRF+R4BPiUNsvg5OdY0s9DKMFmJGrx5SwMZQ4cag0Gl6v8oycso9b/g==",
+ "version": "5.31.4",
+ "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.4.tgz",
+ "integrity": "sha512-lZppDyQx91VdS5zJvAyGkmwe+Mq6xY978BDUG2wRkWE+jkmUF5ti8cvOovFQoN5bvSFKCXVkyKEaU5ec3SJiRg==",
+ "license": "MIT",
"optional": true,
"os": [
"darwin",
@@ -11798,6 +11814,14 @@
"node": ">= 14.0.0"
}
},
+ "node_modules/try": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/try/-/try-1.0.3.tgz",
+ "integrity": "sha512-AHA8khVCII6zKyRkyPo6pRwoR9v5jb7QFw6e5avtaVSkxVfaEucYIo06xnwB+pJaEarfYNbs7W3Vq+LZLZiWyA==",
+ "funding": {
+ "url": "https://github.com/arthurfiorette/try?sponsor=1"
+ }
+ },
"node_modules/ts-api-utils": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz",
@@ -15269,13 +15293,15 @@
}
},
"axios-cache-interceptor": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/axios-cache-interceptor/-/axios-cache-interceptor-1.8.3.tgz",
- "integrity": "sha512-ifuSBoCEkVaiugg1UTjVuTdK+SjSOJ35pdv2OrzhRT3wDMr52QiayQxUqs7jd7GDsfPOjMcw3T3ek0TysbyZZw==",
+ "version": "1.11.4",
+ "resolved": "https://registry.npmjs.org/axios-cache-interceptor/-/axios-cache-interceptor-1.11.4.tgz",
+ "integrity": "sha512-xZ4OZUxdpcFUpZjrqfYlGK0VglpPRKKSoE3vMHrstxolixQNs/MrbMezOAO5uS454hIEcWpnk75RZK26WkPW/g==",
"requires": {
- "cache-parser": "1.2.5",
- "fast-defer": "1.1.8",
- "object-code": "1.3.3"
+ "cache-parser": "^1.2.6",
+ "fast-defer": "^1.1.9",
+ "http-vary": "^1.0.3",
+ "object-code": "^2.0.0",
+ "try": "^1.0.3"
}
},
"axios-cookiejar-support": {
@@ -15382,9 +15408,9 @@
"integrity": "sha512-Lyf3aK28zpsD1yQMiiHD4RvVb6UdMoo8xzG2XzFIfR9luPzOpcBlAsT/qfB1XWS1bxWT+UtE4WmQgsp297FYOA=="
},
"basic-ftp": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz",
- "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg=="
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.2.0.tgz",
+ "integrity": "sha512-VoMINM2rqJwJgfdHq6RiUudKt2BV+FY5ZFezP/ypmwayk68+NzzAQy4XXLlqsGD4MCzq3DrmNFD/uUmBJuGoXw=="
},
"before-after-hook": {
"version": "4.0.0",
@@ -15529,9 +15555,9 @@
"integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw=="
},
"cache-parser": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/cache-parser/-/cache-parser-1.2.5.tgz",
- "integrity": "sha512-Md/4VhAHByQ9frQ15WD6LrMNiVw9AEl/J7vWIXw+sxT6fSOpbtt6LHTp76vy8+bOESPBO94117Hm2bIjlI7XjA=="
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/cache-parser/-/cache-parser-1.2.6.tgz",
+ "integrity": "sha512-SjjnKlWgrhDrAWKUxAvmZLRGDa6JExMfjSu59/pvpNoI6mEHYSLcLKUw2RtECEOINvf6dxJo35fY+T/scA0SUA=="
},
"call-bind": {
"version": "1.0.8",
@@ -16559,9 +16585,9 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"fast-defer": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/fast-defer/-/fast-defer-1.1.8.tgz",
- "integrity": "sha512-lEJeOH5VL5R09j6AA0D4Uvq7AgsHw0dAImQQ+F3iSyHZuAxyQfWobsagGpTcOPvJr3urmKRHrs+Gs9hV+/Qm/Q=="
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/fast-defer/-/fast-defer-1.1.9.tgz",
+ "integrity": "sha512-JP7Xm9HuePSeTT1DI78NeE9eAQvgNb9qNP2jlyQrcx4jiWM189omV6oyd0xaUPWHPlKmvDzz6H1FfPWIDU+xfg=="
},
"fast-json-patch": {
"version": "3.1.1",
@@ -16937,6 +16963,11 @@
"debug": "^4.3.4"
}
},
+ "http-vary": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/http-vary/-/http-vary-1.0.3.tgz",
+ "integrity": "sha512-sx7Y8YTqF3o0mFJJvF66n8dbaE8v3liV1RgCz46XP5xK7dnzyZHvwMWRA115q5kjbCPBV65/nOMlgW54WLyiag=="
+ },
"https-proxy-agent": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
@@ -18599,9 +18630,14 @@
}
},
"lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ "version": "4.17.23",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w=="
+ },
+ "lodash.groupby": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz",
+ "integrity": "sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw=="
},
"lodash.groupby": {
"version": "4.6.0",
@@ -18859,9 +18895,9 @@
}
},
"object-code": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/object-code/-/object-code-1.3.3.tgz",
- "integrity": "sha512-/Ds4Xd5xzrtUOJ+xJQ57iAy0BZsZltOHssnDgcZ8DOhgh41q1YJCnTPnWdWSLkNGNnxYzhYChjc5dgC9mEERCA=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/object-code/-/object-code-2.0.0.tgz",
+ "integrity": "sha512-qOwMF43O/VAD51nJAB7MKsf1yWksql6O1i0DHRo1yaOQM6xJQH0NAE9UKJzYB7lyKw1jnpeb2BmB8qakjxiYZA=="
},
"object-treeify": {
"version": "2.1.1",
@@ -19456,11 +19492,6 @@
"picomatch": "^2.2.1"
}
},
- "readline": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz",
- "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg=="
- },
"registry-auth-token": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
@@ -19934,9 +19965,9 @@
}
},
"systeminformation": {
- "version": "5.25.11",
- "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.25.11.tgz",
- "integrity": "sha512-jI01fn/t47rrLTQB0FTlMCC+5dYx8o0RRF+R4BPiUNsvg5OdY0s9DKMFmJGrx5SwMZQ4cag0Gl6v8oycso9b/g==",
+ "version": "5.31.4",
+ "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.4.tgz",
+ "integrity": "sha512-lZppDyQx91VdS5zJvAyGkmwe+Mq6xY978BDUG2wRkWE+jkmUF5ti8cvOovFQoN5bvSFKCXVkyKEaU5ec3SJiRg==",
"optional": true
},
"table2array": {
@@ -20056,6 +20087,11 @@
"resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz",
"integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg=="
},
+ "try": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/try/-/try-1.0.3.tgz",
+ "integrity": "sha512-AHA8khVCII6zKyRkyPo6pRwoR9v5jb7QFw6e5avtaVSkxVfaEucYIo06xnwB+pJaEarfYNbs7W3Vq+LZLZiWyA=="
+ },
"ts-api-utils": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz",
diff --git a/package.json b/package.json
index 8167063b9..207945cd0 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,7 @@
"channels:validate": "tsx scripts/commands/channels/validate.ts",
"sites:init": "tsx scripts/commands/sites/init.ts",
"sites:update": "tsx scripts/commands/sites/update.ts",
+ "guides:update": "tsx scripts/commands/guides/update.ts",
"grab": "tsx scripts/commands/epg/grab.ts",
"lint": "npx eslint \"{scripts,tests,sites}/**/*.{ts,mts,js}\"",
"test": "cross-env TZ=Pacific/Nauru npx jest --runInBand",
diff --git a/pm2.config.js b/pm2.config.js
index f1f901166..d06556d3b 100644
--- a/pm2.config.js
+++ b/pm2.config.js
@@ -1,35 +1,35 @@
-const grab = process.env.SITE
- ? `npm run grab -- --site=${process.env.SITE} ${process.env.CLANG ? `--lang=${process.env.CLANG}` : ''
- } --output=public/guide.xml`
- : 'npm run grab -- --channels=channels.xml --output=public/guide.xml'
-
-
-const apps = [
- {
- name: 'serve',
- script: 'npx serve -- public',
- instances: 1,
- watch: false,
- autorestart: true
- },
- {
- name: 'grab',
- script: `npx chronos -e "${grab}" -p "${process.env.CRON_SCHEDULE}" -l`,
- instances: 1,
- watch: false,
- autorestart: true
- }
-];
-
-if (process.env.RUN_AT_STARTUP === 'true') {
- apps.push({
- name: 'grab-at-startup',
- script: grab,
- instances: 1,
- autorestart: false,
- watch: false,
- max_restarts: 1
- });
-}
-
-module.exports = { apps };
\ No newline at end of file
+const grab = process.env.SITE
+ ? `npm run grab -- --site=${process.env.SITE} ${
+ process.env.CLANG ? `--lang=${process.env.CLANG}` : ''
+ } --output=public/guide.xml`
+ : 'npm run grab -- --channels=public/channels.xml --output=public/guide.xml'
+
+const apps = [
+ {
+ name: 'serve',
+ script: 'npx serve -- public',
+ instances: 1,
+ watch: false,
+ autorestart: true
+ },
+ {
+ name: 'grab',
+ script: `npx chronos -e "${grab}" -p "${process.env.CRON_SCHEDULE}" -l`,
+ instances: 1,
+ watch: false,
+ autorestart: true
+ }
+]
+
+if (process.env.RUN_AT_STARTUP === 'true') {
+ apps.push({
+ name: 'grab-at-startup',
+ script: grab,
+ instances: 1,
+ autorestart: false,
+ watch: false,
+ max_restarts: 1
+ })
+}
+
+module.exports = { apps }
diff --git a/scripts/api.ts b/scripts/api.ts
index 4535b721b..e2d2cf9d1 100644
--- a/scripts/api.ts
+++ b/scripts/api.ts
@@ -26,7 +26,8 @@ async function loadData() {
data.feedsKeyByStreamId = feeds.keyBy((feed: sdk.Models.Feed) => feed.getStreamId())
data.feedsGroupedByChannelId = feeds.groupBy((feed: sdk.Models.Feed) => feed.channel)
- searchIndex = sdk.SearchEngine.createIndex