mirror of
https://github.com/iptv-org/epg
synced 2026-05-06 17:37:06 -04:00
Update cubmu.com api and channels.
Signed-off-by: Toha <tohenk@yahoo.com>
This commit is contained in:
@@ -1 +1,301 @@
|
||||
{"result":[{"channel_id":"4028c68574537fcd0174be43042758d8","channel_name":"Trans TV","scehedule_title":"CNN Tech News","schedule_date":"2023-11-05 01:30:00","schedule_end_time":"02:00:00","schedule_json":{"availability":0,"channelId":"4028c68574537fcd0174be43042758d8","channelName":"Trans TV","duration":1800,"editable":true,"episodeName":"","imageUrl":"https://cdnjkt2.transvision.co.id:1001/catchup/schedule/thumbnail/4028c68574537fcd0174be43042758d8/4028c6858b8b3621018b9330e3701a7e/458x640","imageUrlWide":"https://cdnjkt2.transvision.co.id:1001/catchup/schedule/thumbnail/4028c68574537fcd0174be43042758d8/4028c6858b8b3621018b9330e3701a7e/320x180","name":"CNN Tech News","ottImageUrl":"","primarySynopsis":"CNN Indonesia Tech News adalah berita teknologi yang membawa pemirsa ke dunia teknologi yang penuh dengan informasi, pendidikan, hiburan sampai informasi kesehatan terkini.","scheduleId":"4028c6858b8b3621018b9330e3701a7e","scheduleTime":"18:30:00","secondarySynopsis":"CNN Indonesia Tech News is tech news brings viewers into the world of technology that provides information, education, entertainment to the latest health information.","startDt":"20231104183000","url":""},"schedule_start_time":"01:30:00"}]}
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"catchup_id": "1409589",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 45,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Lacak Kriminal",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 02:00:00",
|
||||
"schedule_start_time": "2026-04-26 01:15:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409590",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 60,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "CNN Indonesia Prime News",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 03:00:00",
|
||||
"schedule_start_time": "2026-04-26 02:00:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409591",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 40,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "The Transmart",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 03:40:00",
|
||||
"schedule_start_time": "2026-04-26 03:00:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409592",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 60,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Klinik Tendean",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 04:40:00",
|
||||
"schedule_start_time": "2026-04-26 03:40:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409593",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 20,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Adam And Inul Love Story",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 05:00:00",
|
||||
"schedule_start_time": "2026-04-26 04:40:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409594",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 90,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Islam Itu Indah",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 06:30:00",
|
||||
"schedule_start_time": "2026-04-26 05:00:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409595",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 60,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Insert Pagi",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 07:30:00",
|
||||
"schedule_start_time": "2026-04-26 06:30:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409596",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 60,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Kajian Hati",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 08:30:00",
|
||||
"schedule_start_time": "2026-04-26 07:30:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409597",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 120,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Ambyar In Weekend",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 10:30:00",
|
||||
"schedule_start_time": "2026-04-26 08:30:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409598",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 60,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Insert",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 11:30:00",
|
||||
"schedule_start_time": "2026-04-26 10:30:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409599",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 60,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Spill DD Tea",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 12:30:00",
|
||||
"schedule_start_time": "2026-04-26 11:30:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409600",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 90,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Brownis On The Weekend",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 14:00:00",
|
||||
"schedule_start_time": "2026-04-26 12:30:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409601",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 60,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Rumpi Hot Of The Week",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 15:00:00",
|
||||
"schedule_start_time": "2026-04-26 14:00:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409602",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 60,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Insert Investigasi",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 16:00:00",
|
||||
"schedule_start_time": "2026-04-26 15:00:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409603",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 60,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Sehari Jadi Ratu",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 17:00:00",
|
||||
"schedule_start_time": "2026-04-26 16:00:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409604",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 60,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Bikin Laper",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 18:00:00",
|
||||
"schedule_start_time": "2026-04-26 17:00:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409605",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 60,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Monitor Ketua",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 19:00:00",
|
||||
"schedule_start_time": "2026-04-26 18:00:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409606",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 75,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Insert Story",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 20:15:00",
|
||||
"schedule_start_time": "2026-04-26 19:00:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409607",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 60,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": true,
|
||||
"is_live": false,
|
||||
"program_name": "Highlight",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 21:15:00",
|
||||
"schedule_start_time": "2026-04-26 20:15:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409608",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 120,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": false,
|
||||
"is_live": true,
|
||||
"program_name": "Bioskop TransTV",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-26 23:15:00",
|
||||
"schedule_start_time": "2026-04-26 21:15:00"
|
||||
},
|
||||
{
|
||||
"catchup_id": "1409609",
|
||||
"channel_id": "210",
|
||||
"channel_name": "Trans TV",
|
||||
"content_id": "800",
|
||||
"duration": 120,
|
||||
"genre_id": "10",
|
||||
"is_catchup_available": false,
|
||||
"is_live": false,
|
||||
"program_name": "Bioskop TransTV",
|
||||
"schedule_date": "2026-04-26",
|
||||
"schedule_end_time": "2026-04-27 01:15:00",
|
||||
"schedule_start_time": "2026-04-26 23:15:00"
|
||||
}
|
||||
],
|
||||
"error": null,
|
||||
"message": "Get list EPG success",
|
||||
"status": "success"
|
||||
}
|
||||
79
sites/cubmu.com/cubmu.com.channels.xml
Normal file
79
sites/cubmu.com/cubmu.com.channels.xml
Normal file
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="cubmu.com" site_id="185" lang="id" xmltv_id="">Movies News</channel>
|
||||
<channel site="cubmu.com" site_id="203" lang="id" xmltv_id="">Golf Plus ID</channel>
|
||||
<channel site="cubmu.com" site_id="205" lang="id" xmltv_id="">Knowledge+</channel>
|
||||
<channel site="cubmu.com" site_id="248" lang="id" xmltv_id="">Cartoon TV Premium</channel>
|
||||
<channel site="cubmu.com" site_id="249" lang="id" xmltv_id="">Cartoon TV</channel>
|
||||
<channel site="cubmu.com" site_id="250" lang="id" xmltv_id="">Cartoon TV Classic</channel>
|
||||
<channel site="cubmu.com" site_id="252" lang="id" xmltv_id="">Football TV</channel>
|
||||
<channel site="cubmu.com" site_id="253" lang="id" xmltv_id="">Sports TV</channel>
|
||||
<channel site="cubmu.com" site_id="254" lang="id" xmltv_id="">Xtrem Sports</channel>
|
||||
<channel site="cubmu.com" site_id="255" lang="id" xmltv_id="">Speed TV</channel>
|
||||
<channel site="cubmu.com" site_id="274" lang="id" xmltv_id="">Travel TV</channel>
|
||||
<channel site="cubmu.com" site_id="276" lang="id" xmltv_id="">Cooking TV</channel>
|
||||
<channel site="cubmu.com" site_id="277" lang="id" xmltv_id="">Gaming TV</channel>
|
||||
<channel site="cubmu.com" site_id="281" lang="id" xmltv_id="">Song TV</channel>
|
||||
<channel site="cubmu.com" site_id="238" lang="id" xmltv_id="ABCAustralia.au@SD">ABC Australia</channel>
|
||||
<channel site="cubmu.com" site_id="197" lang="id" xmltv_id="AlJazeera.qa@Arabic">Al Jazeera</channel>
|
||||
<channel site="cubmu.com" site_id="364" lang="id" xmltv_id="ANTV.id@SD">ANTV</channel>
|
||||
<channel site="cubmu.com" site_id="261" lang="id" xmltv_id="ArirangTV.kr@SD">Arirang</channel>
|
||||
<channel site="cubmu.com" site_id="214" lang="id" xmltv_id="BeritaSatu.id@SD">Berita Satu</channel>
|
||||
<channel site="cubmu.com" site_id="230" lang="id" xmltv_id="BioskopIndonesia.id@SD">Bioskop Indonesia</channel>
|
||||
<channel site="cubmu.com" site_id="245" lang="id" xmltv_id="BTV.id@SD">BTV</channel>
|
||||
<channel site="cubmu.com" site_id="266" lang="id" xmltv_id="CCTV4Asia.cn@SD">CCTV4</channel>
|
||||
<channel site="cubmu.com" site_id="229" lang="id" xmltv_id="CelestialMoviesIndonesia.id@SD">Celestial Movies</channel>
|
||||
<channel site="cubmu.com" site_id="259" lang="id" xmltv_id="CGTN.cn@SD">CGTN</channel>
|
||||
<channel site="cubmu.com" site_id="234" lang="id" xmltv_id="CGTNDocumentary.cn@SD">CGTN Documentary</channel>
|
||||
<channel site="cubmu.com" site_id="247" lang="id" xmltv_id="ChannelJowo.id@SD">Channel Jowo</channel>
|
||||
<channel site="cubmu.com" site_id="209" lang="id" xmltv_id="CNA.sg@SD">Channel NewsAsia</channel>
|
||||
<channel site="cubmu.com" site_id="237" lang="id" xmltv_id="CNBCAsia.sg@SD">CNBC Asia</channel>
|
||||
<channel site="cubmu.com" site_id="213" lang="id" xmltv_id="CNBCIndonesia.id@SD">CNBC Indonesia</channel>
|
||||
<channel site="cubmu.com" site_id="212" lang="id" xmltv_id="CNNIndonesia.id@SD">CNN Indonesia</channel>
|
||||
<channel site="cubmu.com" site_id="241" lang="id" xmltv_id="DAAITV.id@SD">DAAI TV</channel>
|
||||
<channel site="cubmu.com" site_id="244" lang="id" xmltv_id="DaystarTV.us">DayStar</channel>
|
||||
<channel site="cubmu.com" site_id="278" lang="id" xmltv_id="DensFoodChannel.id@SD">DENS Food Channel</channel>
|
||||
<channel site="cubmu.com" site_id="279" lang="id" xmltv_id="DensPlay.id@SD">DENS Play Channel</channel>
|
||||
<channel site="cubmu.com" site_id="280" lang="id" xmltv_id="DensShowBiz.id@SD">DENS Show Bizz</channel>
|
||||
<channel site="cubmu.com" site_id="186" lang="id" xmltv_id="DuniaAnak.id@SD">Dunia Anak</channel>
|
||||
<channel site="cubmu.com" site_id="265" lang="id" xmltv_id="DuniaLain.id@SD">Dunia Lain</channel>
|
||||
<channel site="cubmu.com" site_id="208" lang="id" xmltv_id="EatNGo.id@SD">Eat N Go</channel>
|
||||
<channel site="cubmu.com" site_id="199" lang="id" xmltv_id="EuronewsEnglish.fr@SD">Euronews</channel>
|
||||
<channel site="cubmu.com" site_id="196" lang="id" xmltv_id="FashionTVAsia.fr@SD">Fashion TV</channel>
|
||||
<channel site="cubmu.com" site_id="256" lang="id" xmltv_id="Fight.us@SD">Fight TV Premium</channel>
|
||||
<channel site="cubmu.com" site_id="258" lang="id" xmltv_id="France24.fr@English">France 24</channel>
|
||||
<channel site="cubmu.com" site_id="219" lang="id" xmltv_id="GarudaTV.id@SD">Garuda TV</channel>
|
||||
<channel site="cubmu.com" site_id="218" lang="id" xmltv_id="GTV.id@SD">GTV</channel>
|
||||
<channel site="cubmu.com" site_id="216" lang="id" xmltv_id="Indosiar.id@SD">Indosiar</channel>
|
||||
<channel site="cubmu.com" site_id="243" lang="id" xmltv_id="JakTV.id@SD">JakTV</channel>
|
||||
<channel site="cubmu.com" site_id="284" lang="id" xmltv_id="JTV.id@SD">jtv</channel>
|
||||
<channel site="cubmu.com" site_id="200" lang="id" xmltv_id="Khazanah.id@SD">Khazanah</channel>
|
||||
<channel site="cubmu.com" site_id="220" lang="id" xmltv_id="KompasTV.id@SD">Kompas TV</channel>
|
||||
<channel site="cubmu.com" site_id="221" lang="id" xmltv_id="MDTV.id@SD">MDTV</channel>
|
||||
<channel site="cubmu.com" site_id="211" lang="id" xmltv_id="MetroTV.id@SD">MetroTV</channel>
|
||||
<channel site="cubmu.com" site_id="222" lang="id" xmltv_id="MNCTV.id@SD">MNC TV</channel>
|
||||
<channel site="cubmu.com" site_id="195" lang="id" xmltv_id="MusikIndonesia.id@SD">Musik Indonesia</channel>
|
||||
<channel site="cubmu.com" site_id="240" lang="id" xmltv_id="NabawiTV.id@SD">Nabawi TV</channel>
|
||||
<channel site="cubmu.com" site_id="236" lang="id" xmltv_id="NHKWorldPremium.jp@SD">NHK World Premium</channel>
|
||||
<channel site="cubmu.com" site_id="263" lang="id" xmltv_id="nsert.id@SD">!nsert</channel>
|
||||
<channel site="cubmu.com" site_id="268" lang="id" xmltv_id="OneTV.in@SD">One TV</channel>
|
||||
<channel site="cubmu.com" site_id="242" lang="id" xmltv_id="PijarTV.id@SD">Pijar TV</channel>
|
||||
<channel site="cubmu.com" site_id="257" lang="id" xmltv_id="PSJTV.id@SD">PSJ TV</channel>
|
||||
<channel site="cubmu.com" site_id="204" lang="id" xmltv_id="QuranTV.sa@SD">Al Quran Al Kareem</channel>
|
||||
<channel site="cubmu.com" site_id="246" lang="id" xmltv_id="RajawaliTV.id@SD">Rtv</channel>
|
||||
<channel site="cubmu.com" site_id="217" lang="id" xmltv_id="RCTI.id@SD">RCTI</channel>
|
||||
<channel site="cubmu.com" site_id="260" lang="id" xmltv_id="RT.ru@SD">Russia Today</channel>
|
||||
<channel site="cubmu.com" site_id="215" lang="id" xmltv_id="SCTV.id@SD">SCTV</channel>
|
||||
<channel site="cubmu.com" site_id="251" lang="id" xmltv_id="SuperyachtTV.mc@SD">Superyacht TV</channel>
|
||||
<channel site="cubmu.com" site_id="232" lang="id" xmltv_id="Thrill.hk@SD">Thrill</channel>
|
||||
<channel site="cubmu.com" site_id="201" lang="id" xmltv_id="Trans7.id@SD">Trans 7</channel>
|
||||
<channel site="cubmu.com" site_id="210" lang="id" xmltv_id="TransTV.id@SD">Trans TV</channel>
|
||||
<channel site="cubmu.com" site_id="267" lang="id" xmltv_id="TV5MondeAsia.fr@SD">TV5 Monde</channel>
|
||||
<channel site="cubmu.com" site_id="239" lang="id" xmltv_id="TV9Nusantara.id@SD">TV9</channel>
|
||||
<channel site="cubmu.com" site_id="187" lang="id" xmltv_id="TVMu.id@SD">tvMU</channel>
|
||||
<channel site="cubmu.com" site_id="194" lang="id" xmltv_id="tvNAsia.hk@SD">tVN</channel>
|
||||
<channel site="cubmu.com" site_id="227" lang="id" xmltv_id="tvNMoviesAsia.hk@SD">TVN Movies</channel>
|
||||
<channel site="cubmu.com" site_id="363" lang="id" xmltv_id="tvOne.id@SD">TVOne</channel>
|
||||
<channel site="cubmu.com" site_id="223" lang="id" xmltv_id="TVRI.id@SD">TVRI</channel>
|
||||
<channel site="cubmu.com" site_id="283" lang="id" xmltv_id="WION.in@SD">Wion TV</channel>
|
||||
</channels>
|
||||
@@ -1,3 +1,4 @@
|
||||
const axios = require('axios')
|
||||
const dayjs = require('dayjs')
|
||||
const timezone = require('dayjs/plugin/timezone')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
@@ -5,78 +6,72 @@ const utc = require('dayjs/plugin/utc')
|
||||
dayjs.extend(timezone)
|
||||
dayjs.extend(utc)
|
||||
|
||||
const tz = 'Asia/Jakarta'
|
||||
const dateFormat = 'YYYY-MM-DD HH:mm:ss'
|
||||
const headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36',
|
||||
'Origin': 'https://cubmu.com',
|
||||
'Referer': 'https://cubmu.com/',
|
||||
}
|
||||
let runtimeConfig, accessToken
|
||||
|
||||
module.exports = {
|
||||
site: 'cubmu.com',
|
||||
days: 2,
|
||||
url({ channel, date }) {
|
||||
return `https://servicebuss.transvision.co.id/v2/cms/getEPGData?app_id=cubmu&tvs_platform_id=standalone&schedule_date=${date.format(
|
||||
return `https://servicebuss.transvision.co.id/global/v2/epg/programs?channel_id=${
|
||||
channel.site_id
|
||||
}&schedule_date=${date.format(
|
||||
'YYYY-MM-DD'
|
||||
)}&channel_id=${channel.site_id}`
|
||||
)}`
|
||||
},
|
||||
request: {
|
||||
async headers() {
|
||||
await fetchAccessToken()
|
||||
|
||||
return {
|
||||
Authorization: `Bearer ${accessToken}`,
|
||||
...headers,
|
||||
}
|
||||
}
|
||||
},
|
||||
parser({ content, channel }) {
|
||||
const programs = []
|
||||
const items = parseItems(content)
|
||||
items.forEach(item => {
|
||||
programs.push({
|
||||
title: parseTitle(item),
|
||||
description: parseDescription(item, channel.lang),
|
||||
episode: parseEpisode(item),
|
||||
start: parseStart(item).toISOString(),
|
||||
stop: parseStop(item).toISOString()
|
||||
if (content && typeof content === 'string') {
|
||||
content = JSON.parse(content)
|
||||
}
|
||||
if (Array.isArray(content?.data)) {
|
||||
content.data.forEach(item => {
|
||||
programs.push({
|
||||
title: item.program_name,
|
||||
start: dayjs.tz(item.schedule_start_time, dateFormat, tz),
|
||||
stop: dayjs.tz(item.schedule_end_time, dateFormat, tz),
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels({ lang }) {
|
||||
const axios = require('axios')
|
||||
const cheerio = require('cheerio')
|
||||
async channels({ lang = 'id' }) {
|
||||
const now = dayjs()
|
||||
await fetchAccessToken()
|
||||
const result = await axios
|
||||
.get('https://cubmu.com/live-tv')
|
||||
.then(response => response.data)
|
||||
.catch(console.error)
|
||||
|
||||
const $ = cheerio.load(result)
|
||||
|
||||
// retrieve service api data
|
||||
const config = JSON.parse($('#__NEXT_DATA__').text()).runtimeConfig || {}
|
||||
|
||||
const options = {
|
||||
headers: {
|
||||
Origin: 'https://cubmu.com',
|
||||
Referer: 'https://cubmu.com/live-tv'
|
||||
}
|
||||
}
|
||||
// login to service bus
|
||||
await axios
|
||||
.post(
|
||||
`https://servicebuss.transvision.co.id/tvs/login/external?email=${config.email}&password=${config.password}&deviceId=${config.deviceId}&deviceType=${config.deviceType}&deviceModel=${config.deviceModel}&deviceToken=&serial=&platformId=${config.platformId}`,
|
||||
options
|
||||
)
|
||||
.then(response => response.data)
|
||||
.catch(console.error)
|
||||
// list channels
|
||||
const subscribedChannels = await axios
|
||||
.post(
|
||||
`https://servicebuss.transvision.co.id/tvs/subscribe_product/list?platformId=${config.platformId}`,
|
||||
options
|
||||
)
|
||||
.then(response => response.data)
|
||||
.catch(console.error)
|
||||
.get(`https://servicebuss.transvision.co.id/global/v2/master-channels?platform_id=1&page=1&per_page=100&schedule_date=${now.format('YYYY-MM-DD')}`, {
|
||||
headers: {
|
||||
Authorization: `Bearer ${accessToken}`,
|
||||
...headers,
|
||||
}
|
||||
})
|
||||
.then(r => r.data)
|
||||
.catch(err => console.error(err.message))
|
||||
|
||||
const channels = []
|
||||
const included = []
|
||||
if (Array.isArray(subscribedChannels.channelPackageList)) {
|
||||
subscribedChannels.channelPackageList.forEach(pkg => {
|
||||
pkg.channelList.forEach(channel => {
|
||||
if (included.indexOf(channel.id) < 0) {
|
||||
included.push(channel.id)
|
||||
channels.push({
|
||||
lang,
|
||||
site_id: channel.id,
|
||||
name: channel.name
|
||||
})
|
||||
}
|
||||
if (Array.isArray(result?.data?.items)) {
|
||||
result.data.items.forEach(channel => {
|
||||
channels.push({
|
||||
lang,
|
||||
site_id: channel.channel_id,
|
||||
name: channel.channel_name,
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -85,30 +80,65 @@ module.exports = {
|
||||
}
|
||||
}
|
||||
|
||||
function parseItems(content) {
|
||||
return content ? JSON.parse(content.trim()).result || [] : []
|
||||
async function fetchRuntimeConfig() {
|
||||
if (!runtimeConfig) {
|
||||
const cheerio = require('cheerio')
|
||||
const url = 'https://cubmu.com/'
|
||||
const result = await axios
|
||||
.get(url)
|
||||
.then(r => r.data)
|
||||
.catch(err => console.error(err.message))
|
||||
|
||||
const $ = cheerio.load(result)
|
||||
|
||||
runtimeConfig = JSON.parse($('#__NEXT_DATA__').text()).runtimeConfig || {}
|
||||
}
|
||||
}
|
||||
|
||||
function parseTitle(item) {
|
||||
return item.scehedule_title
|
||||
}
|
||||
async function fetchAccessToken() {
|
||||
if (!runtimeConfig) {
|
||||
await fetchRuntimeConfig()
|
||||
}
|
||||
const url = 'https://servicebuss.transvision.co.id/global/v3/auth/redirect-login'
|
||||
if (!accessToken) {
|
||||
// extracted from https://cubmu.com/_next/static/chunks/pages/_app-ac49656f9b4eac2d.js
|
||||
const f = t => {
|
||||
let e = t,
|
||||
r = 'xx',
|
||||
n = Math.round(+new Date / 1e3),
|
||||
i = ''.concat(e, '{SPLITTER}').concat(n)
|
||||
return [0, 1].map(() => {
|
||||
i = ''.concat(r).concat(btoa(i))
|
||||
}), i
|
||||
}
|
||||
const payload = {
|
||||
app_id: 'cubmu',
|
||||
device: {
|
||||
device_brand: 'Web Browser',
|
||||
device_id: 'web_browser',
|
||||
device_type: 'Opera',
|
||||
firebase_id: 'NOT_ALLOWED',
|
||||
notes: 'Web Browser-V2.1',
|
||||
},
|
||||
email_or_phone: runtimeConfig?.emailMaster,
|
||||
password: f(runtimeConfig?.passwordMaster),
|
||||
tvs_platform_id: 'standalone',
|
||||
}
|
||||
const result = await axios
|
||||
.post(url, payload, {
|
||||
headers: {
|
||||
...headers,
|
||||
'Content-Type': 'application/json',
|
||||
}
|
||||
})
|
||||
.then(r => r.data)
|
||||
.catch(err => console.error(err.message))
|
||||
|
||||
function parseDescription(item, lang = 'id') {
|
||||
return lang === 'id' ? item.schedule_json.primarySynopsis : item.schedule_json.secondarySynopsis
|
||||
}
|
||||
|
||||
function parseEpisode(item) {
|
||||
return item.schedule_json.episodeName
|
||||
}
|
||||
|
||||
function parseStart(item) {
|
||||
return dayjs.tz(item.schedule_date, 'YYYY-MM-DD HH:mm:ss', 'Asia/Jakarta')
|
||||
}
|
||||
|
||||
function parseStop(item) {
|
||||
return dayjs.tz(
|
||||
[item.schedule_date.split(' ')[0], item.schedule_end_time].join(' '),
|
||||
'YYYY-MM-DD HH:mm:ss',
|
||||
'Asia/Jakarta'
|
||||
)
|
||||
if (result?.data?.access_token) {
|
||||
accessToken = result.data.access_token
|
||||
}
|
||||
}
|
||||
if (!accessToken) {
|
||||
throw new Error(`Unable to fetch access token from ${url}!`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,41 +3,31 @@ const fs = require('fs')
|
||||
const path = require('path')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
|
||||
dayjs.extend(utc)
|
||||
|
||||
const date = dayjs.utc('2023-11-05', 'DD/MM/YYYY').startOf('d')
|
||||
const channel = { site_id: '4028c68574537fcd0174be43042758d8', xmltv_id: 'TransTV.id', lang: 'id' }
|
||||
const channelEn = Object.assign({}, channel, { lang: 'en' })
|
||||
const date = dayjs.utc('2026-04-26').startOf('d')
|
||||
const channel = { site_id: '210', xmltv_id: 'TransTV.id', lang: 'id' }
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ channel, date })).toBe(
|
||||
'https://servicebuss.transvision.co.id/v2/cms/getEPGData?app_id=cubmu&tvs_platform_id=standalone&schedule_date=2023-11-05&channel_id=4028c68574537fcd0174be43042758d8'
|
||||
'https://servicebuss.transvision.co.id/global/v2/epg/programs?channel_id=210&schedule_date=2026-04-26'
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'), 'utf8')
|
||||
const idResults = parser({ content, channel })
|
||||
expect(idResults).toMatchObject([
|
||||
{
|
||||
start: '2023-11-04T18:30:00.000Z',
|
||||
stop: '2023-11-04T19:00:00.000Z',
|
||||
title: 'CNN Tech News',
|
||||
description:
|
||||
'CNN Indonesia Tech News adalah berita teknologi yang membawa pemirsa ke dunia teknologi yang penuh dengan informasi, pendidikan, hiburan sampai informasi kesehatan terkini.'
|
||||
}
|
||||
])
|
||||
|
||||
const enResults = parser({ content, channel: channelEn })
|
||||
expect(enResults).toMatchObject([
|
||||
{
|
||||
start: '2023-11-04T18:30:00.000Z',
|
||||
stop: '2023-11-04T19:00:00.000Z',
|
||||
title: 'CNN Tech News',
|
||||
description:
|
||||
'CNN Indonesia Tech News is tech news brings viewers into the world of technology that provides information, education, entertainment to the latest health information.'
|
||||
}
|
||||
])
|
||||
const results = parser({ content, channel })
|
||||
.map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
expect(results[4]).toMatchObject({
|
||||
title: 'Adam And Inul Love Story',
|
||||
start: '2026-04-25T21:40:00.000Z',
|
||||
stop: '2026-04-25T22:00:00.000Z',
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="cubmu.com" site_id="4028c6857e04fca5017ec407d96b7362" lang="en" xmltv_id="JTV.id@SD">jtv</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857e04fca5017ec528dc550e98" lang="en" xmltv_id="MusikIndonesia.id@SD">Musik Indonesia</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857e04fca5017f310a21613e4e" lang="en" xmltv_id="EuronewsEnglish.fr@SD">Euronews</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857f48ecd2017f5e9c23f413e8" lang="en" xmltv_id="WION.in@SD">Wion TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857f48ecd2017f5e95744613e2" lang="en" xmltv_id="CCTV4Asia.cn@SD">CCTV 4</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060a0c34340b6" lang="en" xmltv_id="Fight.us@SD">Fight TV Premium</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060a4379740b7" lang="en" xmltv_id="">Xtrem Sports</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060aab83c40b9" lang="en" xmltv_id="">Travel TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060ac364140ba" lang="en" xmltv_id="FashionTVAsia.fr@SD">Fashion TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060ae0aa740bb" lang="en" xmltv_id="">Movies News</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060afdef540bc" lang="en" xmltv_id="">Sports TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060b4163a40be" lang="en" xmltv_id="SuperyachtTV.mc@SD">SuperYacht TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060b2307340bd" lang="en" xmltv_id="">Speed TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858d6351f0018dc0100d513246" lang="en" xmltv_id="PSJTV.id@SD">PSJ TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858f902547018fccae36ec12b0" lang="en" xmltv_id="DensFoodChannel.id@SD">DENS Food Channel</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858f902547018fccb15a5212b1" lang="en" xmltv_id="DensPlay.id@SD">DENS PLAY Channel</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858f902547018fccb23c8c12b2" lang="en" xmltv_id="DensShowBiz.id@SD">DENS ShowBiz</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574f658b101750667e76e5415" lang="en" xmltv_id="TV9Nusantara.id@SD">TV9</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574f658b1017506651f835414" lang="en" xmltv_id="TVMu.id@SD">tv Mu</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574f658b1017506741c665418" lang="en" xmltv_id="PijarTV.id@SD">Pijar TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574f658b101750641670b540e" lang="en" xmltv_id="QuranTV.sa@SD">Al Quran Al Kareem</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68588e2da5a01892e47e9d64b5e" lang="en" xmltv_id="NabawiTV.id@SD">Nabawi TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c685758bcfff01776c4ea3520a72" lang="en" xmltv_id="NET.id@SD">MDTV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c685840ff0490184616d5ba53e65" lang="en" xmltv_id="">Song TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c685840ff04901846166f4d93e5e" lang="en" xmltv_id="">Cartoon TV Classics</channel>
|
||||
<channel site="cubmu.com" site_id="4028c685840ff04901846166123a3e5d" lang="en" xmltv_id="OneTV.in@SD">One TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c685910daca60191a8636d706700" lang="en" xmltv_id="ChannelJowo.id@SD">Channel Jowo</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858262bb8001827b6a98a62be4" lang="en" xmltv_id="">Cooking TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858262bb8001827b64d0742be1" lang="en" xmltv_id="">Cartoon TV Premium</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858262bb8001827b65fa882be2" lang="en" xmltv_id="">Cartoon TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858262bb8001827b703a262be7" lang="en" xmltv_id="">Football TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858262bb8001827b6764522be3" lang="en" xmltv_id="">Knowledge+</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6859645ee4801965cd2114b4431" lang="en" xmltv_id="">Berita Satu</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6859645ee4801965cf074994bf2" lang="en" xmltv_id="">Garuda TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174bdfa7e13514f" lang="en" xmltv_id="CNA.sg@SD">CNA</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174bdfe22ee5150" lang="en" xmltv_id="AlJazeera.qa@Arabic">Al Jazeera</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be0c2f975152" lang="en" xmltv_id="France24.fr@English">France 24</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be1c9566571f" lang="en" xmltv_id="ArirangTV.kr@SD">Arirang</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be1f09275720" lang="en" xmltv_id="DuniaAnak.id@SD">Dunia Anak</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be2b660c5727" lang="en" xmltv_id="SeruChannel.id@SD">Channel Seru!</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be2db0a25728" lang="en" xmltv_id="DuniaLain.id@SD">Dunia Lain</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be3b835358d5" lang="en" xmltv_id="ABCAustralia.au@SD">ABC Australia</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be3daa5c58d6" lang="en" xmltv_id="EatNGo.id@SD">Eat N Go</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be3fbd2f58d7" lang="en" xmltv_id="Khazanah.id@SD">Khazanah</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be4b82c758dc" lang="en" xmltv_id="CNBCIndonesia.id@SD">CNBC Indonesia</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be4d55ce58dd" lang="en" xmltv_id="SCTV.id@SD">SCTV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be4f342858e9" lang="en" xmltv_id="Indosiar.id@SD">Indosiar</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be5a48505902" lang="en" xmltv_id="DAAITV.id@SD">DAAI TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be5cd0b15903" lang="en" xmltv_id="RajawaliTV.id@SD">rtv</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be5ef52a5904" lang="en" xmltv_id="MNCTV.id@SD">MNC TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be21d3755722" lang="en" xmltv_id="LinguaChannel.id@SD">Lingua</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be26e4325724" lang="en" xmltv_id="BioskopIndonesia.id@SD">Bioskop Indonesia</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be52f87b58f2" lang="en" xmltv_id="GTV.id@SD">GTV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be56c7d858fd" lang="en" xmltv_id="BTV.id@SD">BTV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be167d8a571e" lang="en" xmltv_id="RT.ru@SD">Russia Today</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be292d655725" lang="en" xmltv_id="nsert.id@SD">!nsert</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be4783ff58da" lang="en" xmltv_id="MetroTV.id@SD">MetroTV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be4997e958db" lang="en" xmltv_id="CNNIndonesia.id@SD">CNN Indonesia</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be6135dc5905" lang="en" xmltv_id="">TVRI</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be13661a571d" lang="en" xmltv_id="CGTN.cn@SD">CGTN</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be51092e58f1" lang="en" xmltv_id="RCTI.id@SD">RCTI</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be55099d58fa" lang="en" xmltv_id="JakTV.id@SD">Jak tv</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be58644c5901" lang="en" xmltv_id="KompasTV.id@SD">Kompas TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be39494458d4" lang="en" xmltv_id="TV5MondeAsia.fr@SD">TV5 Monde</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be43042758d8" lang="en" xmltv_id="TransTV.id@SD">Trans TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be45631158d9" lang="en" xmltv_id="Trans7.id@SD">Trans 7</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be2463495723" lang="en" xmltv_id="CGTNDocumentary.cn@SD">CGTN Documentary</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68598610fad01987a41012571f7" lang="en" xmltv_id="">LPS Financial Festival 2025</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68598610fad0198875a95322b98" lang="en" xmltv_id="">GOLF PLUS ID</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858119921801816b5359d15e63" lang="en" xmltv_id="">Gaming TV</channel>
|
||||
</channels>
|
||||
@@ -1,73 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="cubmu.com" site_id="4028c6857e04fca5017ec407d96b7362" lang="id" xmltv_id="JTV.id@SD">jtv</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857e04fca5017ec528dc550e98" lang="id" xmltv_id="MusikIndonesia.id@SD">Musik Indonesia</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857e04fca5017f310a21613e4e" lang="id" xmltv_id="EuronewsEnglish.fr@SD">Euronews</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857f48ecd2017f5e9c23f413e8" lang="id" xmltv_id="WION.in@SD">Wion TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857f48ecd2017f5e95744613e2" lang="id" xmltv_id="CCTV4Asia.cn@SD">CCTV 4</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060a0c34340b6" lang="id" xmltv_id="Fight.us@SD">Fight TV Premium</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060a4379740b7" lang="id" xmltv_id="">Xtrem Sports</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060aab83c40b9" lang="id" xmltv_id="">Travel TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060ac364140ba" lang="id" xmltv_id="FashionTVAsia.fr@SD">Fashion TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060ae0aa740bb" lang="id" xmltv_id="">Movies News</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060afdef540bc" lang="id" xmltv_id="">Sports TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060b4163a40be" lang="id" xmltv_id="SuperyachtTV.mc@SD">SuperYacht TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6857fe540a1018060b2307340bd" lang="id" xmltv_id="">Speed TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858d6351f0018dc0100d513246" lang="id" xmltv_id="PSJTV.id@SD">PSJ TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858f902547018fccae36ec12b0" lang="id" xmltv_id="DensFoodChannel.id@SD">DENS Food Channel</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858f902547018fccb15a5212b1" lang="id" xmltv_id="DensPlay.id@SD">DENS PLAY Channel</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858f902547018fccb23c8c12b2" lang="id" xmltv_id="DensShowBiz.id@SD">DENS ShowBiz</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574f658b101750667e76e5415" lang="id" xmltv_id="TV9Nusantara.id@SD">TV9</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574f658b1017506651f835414" lang="id" xmltv_id="TVMu.id@SD">tv Mu</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574f658b1017506741c665418" lang="id" xmltv_id="PijarTV.id@SD">Pijar TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574f658b101750641670b540e" lang="id" xmltv_id="QuranTV.sa@SD">Al Quran Al Kareem</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68588e2da5a01892e47e9d64b5e" lang="id" xmltv_id="NabawiTV.id@SD">Nabawi TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c685758bcfff01776c4ea3520a72" lang="id" xmltv_id="NET.id@SD">MDTV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c685840ff0490184616d5ba53e65" lang="id" xmltv_id="">Song TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c685840ff04901846166f4d93e5e" lang="id" xmltv_id="">Cartoon TV Classics</channel>
|
||||
<channel site="cubmu.com" site_id="4028c685840ff04901846166123a3e5d" lang="id" xmltv_id="OneTV.in@SD">One TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c685910daca60191a8636d706700" lang="id" xmltv_id="ChannelJowo.id@SD">Channel Jowo</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858262bb8001827b6a98a62be4" lang="id" xmltv_id="">Cooking TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858262bb8001827b64d0742be1" lang="id" xmltv_id="">Cartoon TV Premium</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858262bb8001827b65fa882be2" lang="id" xmltv_id="">Cartoon TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858262bb8001827b703a262be7" lang="id" xmltv_id="">Football TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858262bb8001827b6764522be3" lang="id" xmltv_id="">Knowledge+</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6859645ee4801965cd2114b4431" lang="id" xmltv_id="">Berita Satu</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6859645ee4801965cf074994bf2" lang="id" xmltv_id="">Garuda TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174bdfa7e13514f" lang="id" xmltv_id="CNA.sg@SD">CNA</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174bdfe22ee5150" lang="id" xmltv_id="AlJazeera.qa@Arabic">Al Jazeera</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be0c2f975152" lang="id" xmltv_id="France24.fr@English">France 24</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be1c9566571f" lang="id" xmltv_id="ArirangTV.kr@SD">Arirang</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be1f09275720" lang="id" xmltv_id="DuniaAnak.id@SD">Dunia Anak</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be2b660c5727" lang="id" xmltv_id="SeruChannel.id@SD">Channel Seru!</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be2db0a25728" lang="id" xmltv_id="DuniaLain.id@SD">Dunia Lain</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be3b835358d5" lang="id" xmltv_id="ABCAustralia.au@SD">ABC Australia</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be3daa5c58d6" lang="id" xmltv_id="EatNGo.id@SD">Eat N Go</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be3fbd2f58d7" lang="id" xmltv_id="Khazanah.id@SD">Khazanah</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be4b82c758dc" lang="id" xmltv_id="CNBCIndonesia.id@SD">CNBC Indonesia</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be4d55ce58dd" lang="id" xmltv_id="SCTV.id@SD">SCTV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be4f342858e9" lang="id" xmltv_id="Indosiar.id@SD">Indosiar</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be5a48505902" lang="id" xmltv_id="DAAITV.id@SD">DAAI TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be5cd0b15903" lang="id" xmltv_id="RajawaliTV.id@SD">rtv</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be5ef52a5904" lang="id" xmltv_id="MNCTV.id@SD">MNC TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be21d3755722" lang="id" xmltv_id="LinguaChannel.id@SD">Lingua</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be26e4325724" lang="id" xmltv_id="BioskopIndonesia.id@SD">Bioskop Indonesia</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be52f87b58f2" lang="id" xmltv_id="GTV.id@SD">GTV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be56c7d858fd" lang="id" xmltv_id="BTV.id@SD">BTV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be167d8a571e" lang="id" xmltv_id="RT.ru@SD">Russia Today</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be292d655725" lang="id" xmltv_id="nsert.id@SD">!nsert</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be4783ff58da" lang="id" xmltv_id="MetroTV.id@SD">MetroTV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be4997e958db" lang="id" xmltv_id="CNNIndonesia.id@SD">CNN Indonesia</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be6135dc5905" lang="id" xmltv_id="">TVRI</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be13661a571d" lang="id" xmltv_id="CGTN.cn@SD">CGTN</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be51092e58f1" lang="id" xmltv_id="RCTI.id@SD">RCTI</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be55099d58fa" lang="id" xmltv_id="JakTV.id@SD">Jak tv</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be58644c5901" lang="id" xmltv_id="KompasTV.id@SD">Kompas TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be39494458d4" lang="id" xmltv_id="TV5MondeAsia.fr@SD">TV5 Monde</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be43042758d8" lang="id" xmltv_id="TransTV.id@SD">Trans TV</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be45631158d9" lang="id" xmltv_id="Trans7.id@SD">Trans 7</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68574537fcd0174be2463495723" lang="id" xmltv_id="CGTNDocumentary.cn@SD">CGTN Documentary</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68598610fad01987a41012571f7" lang="id" xmltv_id="">LPS Financial Festival 2025</channel>
|
||||
<channel site="cubmu.com" site_id="4028c68598610fad0198875a95322b98" lang="id" xmltv_id="">GOLF PLUS ID</channel>
|
||||
<channel site="cubmu.com" site_id="4028c6858119921801816b5359d15e63" lang="id" xmltv_id="">Gaming TV</channel>
|
||||
</channels>
|
||||
@@ -4,30 +4,14 @@ https://cubmu.com/live-tv _[Geo-restricted]_
|
||||
|
||||
### Download the guide
|
||||
|
||||
Indonesian:
|
||||
|
||||
```sh
|
||||
npm run grab --- --sites=cubmu.com --lang=id
|
||||
```
|
||||
|
||||
English:
|
||||
|
||||
```sh
|
||||
npm run grab --- --sites=cubmu.com --lang=en
|
||||
npm run grab --- --sites=cubmu.com
|
||||
```
|
||||
|
||||
### Update channel list
|
||||
|
||||
Indonesian:
|
||||
|
||||
```sh
|
||||
npm run channels:parse --- --config=sites/cubmu.com/cubmu.com.config.js --output=sites/cubmu.com/cubmu.com_id.channels.xml --set=lang:id
|
||||
```
|
||||
|
||||
English:
|
||||
|
||||
```sh
|
||||
npm run channels:parse --- --config=sites/cubmu.com/cubmu.com.config.js --output=sites/cubmu.com/cubmu.com_en.channels.xml --set=lang:en
|
||||
npm run channels:parse --- --config=sites/cubmu.com/cubmu.com.config.js --output=sites/cubmu.com/cubmu.com.channels.xml
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
Reference in New Issue
Block a user