From 1d752b82d07944c9c22af589f07b9c437e44be3f Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Thu, 10 Jul 2025 21:12:35 +0300 Subject: [PATCH] Update tests/__data__ --- .../expected/api_generate/.api/streams.json | 2 +- .../__data__/expected/playlist_format/nl.m3u | 6 +- .../.gh-pages/categories/undefined.m3u | 10 +- .../.gh-pages/countries/ad.m3u | 2 +- .../.gh-pages/countries/undefined.m3u | 8 +- .../.gh-pages/index.category.m3u | 10 +- .../.gh-pages/index.country.m3u | 10 +- .../.gh-pages/index.language.m3u | 10 +- .../playlist_generate/.gh-pages/index.m3u | 10 +- .../.gh-pages/index.region.m3u | 12 +- .../.gh-pages/languages/undefined.m3u | 8 +- .../.gh-pages/regions/emea.m3u | 2 +- .../.gh-pages/regions/eur.m3u | 2 +- .../.gh-pages/regions/undefined.m3u | 8 +- .../.gh-pages/sources/ad.m3u | 7 + .../.gh-pages/sources/ca.m3u | 3 + .../.gh-pages/sources/in.m3u | 3 + .../.gh-pages/sources/kg.m3u | 3 + .../.gh-pages/sources/uk.m3u | 3 + .../.gh-pages/sources/unsorted.m3u | 15 ++ .../playlist_generate/logs/generators.log | 6 + .../__data__/expected/playlist_update/fr.m3u | 2 - .../__data__/expected/playlist_update/uk.m3u | 8 +- .../__data__/expected/playlist_update/us.m3u | 9 +- .../expected/readme_update/_readme.md | 16 ++ tests/__data__/input/api_generate/ad.m3u | 2 +- tests/__data__/input/data/channels.json | 137 ++++++++---------- tests/__data__/input/data/logos.json | 11 ++ .../input/{playlist_update => }/issues.js | 10 +- tests/__data__/input/playlist_format/nl.m3u | 6 +- .../input/playlist_generate/unsorted.m3u | 6 +- .../input/playlist_validate/wrong_id.m3u | 6 + .../input/readme_update/.readme/template.md | 16 ++ .../input/readme_update/generators.log | 5 + 34 files changed, 253 insertions(+), 121 deletions(-) create mode 100644 tests/__data__/expected/playlist_generate/.gh-pages/sources/ad.m3u create mode 100644 tests/__data__/expected/playlist_generate/.gh-pages/sources/ca.m3u create mode 100644 tests/__data__/expected/playlist_generate/.gh-pages/sources/in.m3u create mode 100644 tests/__data__/expected/playlist_generate/.gh-pages/sources/kg.m3u create mode 100644 tests/__data__/expected/playlist_generate/.gh-pages/sources/uk.m3u create mode 100644 tests/__data__/expected/playlist_generate/.gh-pages/sources/unsorted.m3u create mode 100644 tests/__data__/input/data/logos.json rename tests/__data__/input/{playlist_update => }/issues.js (97%) diff --git a/tests/__data__/expected/api_generate/.api/streams.json b/tests/__data__/expected/api_generate/.api/streams.json index 55128bca36..62a824dd24 100644 --- a/tests/__data__/expected/api_generate/.api/streams.json +++ b/tests/__data__/expected/api_generate/.api/streams.json @@ -16,7 +16,7 @@ { "channel": "AndorraTV.ad", "feed": "SD", - "url": "https://iptv-all.lanesh4d0w.repl.co/andorra/atv", + "url": "https://iptv-all.lanesh4d0w.repl.co/andorra/atv|Referer=\"https://referer.xyz/\"|User-Agent=\"Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1\"|Origin=\"https://origin.xyz\"", "referrer": null, "user_agent": null }, diff --git a/tests/__data__/expected/playlist_format/nl.m3u b/tests/__data__/expected/playlist_format/nl.m3u index d08a2ac80c..0c8f812e58 100644 --- a/tests/__data__/expected/playlist_format/nl.m3u +++ b/tests/__data__/expected/playlist_format/nl.m3u @@ -6,6 +6,10 @@ http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo2.i #EXTINF:-1 tvg-id="NPO2.nl" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",NPO 2 (302p) [Geo-blocked] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://stream.tvtap.net:8081/live/nl-npo2.stream/playlist.m3u8 +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://stream.tvtap.net:8081/live/nl-npo2.stream/playlist.m3u8?|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0+(iPhone;+CPU+iPhone+OS+17_7+like+Mac+OS+X)+AppleWebKit/605.1.15+(KHTML,+like+Gecko)+Version/18.0+Mobile/15E148+Safari/604.1"|Origin="https://origin.xyz" #EXTINF:-1 tvg-id="NPO2.nl",NPO 2 [Geo-blocked] http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo22.isml/.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/categories/undefined.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/categories/undefined.m3u index cfdce7d0bf..caf15c4bfb 100644 --- a/tests/__data__/expected/playlist_generate/.gh-pages/categories/undefined.m3u +++ b/tests/__data__/expected/playlist_generate/.gh-pages/categories/undefined.m3u @@ -2,10 +2,14 @@ #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="" group-title="Undefined",ATV +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" +#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="https://i.imgur.com/BnhTn8i.png" group-title="Undefined",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="" group-title="Undefined",ATV HD +#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="https://i.imgur.com/CnhTn8i.png" group-title="Undefined",ATV HD https://iptv-all.lanesh4d0w.repl.co/andorra/atv_hd #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/countries/ad.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/countries/ad.m3u index 9bc95be27d..e85626ca16 100644 --- a/tests/__data__/expected/playlist_generate/.gh-pages/countries/ad.m3u +++ b/tests/__data__/expected/playlist_generate/.gh-pages/countries/ad.m3u @@ -1,3 +1,3 @@ #EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="" group-title="Undefined",ATV +#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="https://i.imgur.com/BnhTn8i.png" group-title="Undefined",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/countries/undefined.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/countries/undefined.m3u index eb0364cd58..09cc3aba3e 100644 --- a/tests/__data__/expected/playlist_generate/.gh-pages/countries/undefined.m3u +++ b/tests/__data__/expected/playlist_generate/.gh-pages/countries/undefined.m3u @@ -2,8 +2,12 @@ #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="" group-title="Undefined",ATV HD +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" +#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="https://i.imgur.com/CnhTn8i.png" group-title="Undefined",ATV HD https://iptv-all.lanesh4d0w.repl.co/andorra/atv_hd #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/index.category.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/index.category.m3u index b3235a876c..011bfa110e 100644 --- a/tests/__data__/expected/playlist_generate/.gh-pages/index.category.m3u +++ b/tests/__data__/expected/playlist_generate/.gh-pages/index.category.m3u @@ -12,10 +12,14 @@ http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="" group-title="Undefined",ATV +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" +#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="https://i.imgur.com/BnhTn8i.png" group-title="Undefined",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="" group-title="Undefined",ATV HD +#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="https://i.imgur.com/CnhTn8i.png" group-title="Undefined",ATV HD https://iptv-all.lanesh4d0w.repl.co/andorra/atv_hd #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/index.country.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/index.country.m3u index 332df0029b..4315263b02 100644 --- a/tests/__data__/expected/playlist_generate/.gh-pages/index.country.m3u +++ b/tests/__data__/expected/playlist_generate/.gh-pages/index.country.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="" group-title="Andorra",ATV +#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="https://i.imgur.com/BnhTn8i.png" group-title="Andorra",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv #EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Canada",Meteomedia http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 @@ -22,8 +22,12 @@ http://146.59.85.40:89/dunaworld/index.m3u8 #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="" group-title="Undefined",ATV HD +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" +#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="https://i.imgur.com/CnhTn8i.png" group-title="Undefined",ATV HD https://iptv-all.lanesh4d0w.repl.co/andorra/atv_hd #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/index.language.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/index.language.m3u index e9f88f8ac2..8dcfa46db3 100644 --- a/tests/__data__/expected/playlist_generate/.gh-pages/index.language.m3u +++ b/tests/__data__/expected/playlist_generate/.gh-pages/index.language.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="" group-title="Catalan",ATV +#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="https://i.imgur.com/BnhTn8i.png" group-title="Catalan",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv #EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="English",BBC News HD http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 @@ -8,8 +8,12 @@ http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="" group-title="Undefined",ATV HD +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" +#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="https://i.imgur.com/CnhTn8i.png" group-title="Undefined",ATV HD https://iptv-all.lanesh4d0w.repl.co/andorra/atv_hd #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/index.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/index.m3u index fbf8cd7556..071cf1fb5e 100644 --- a/tests/__data__/expected/playlist_generate/.gh-pages/index.m3u +++ b/tests/__data__/expected/playlist_generate/.gh-pages/index.m3u @@ -2,10 +2,14 @@ #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="" group-title="Undefined",ATV +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" +#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="https://i.imgur.com/BnhTn8i.png" group-title="Undefined",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="" group-title="Undefined",ATV HD +#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="https://i.imgur.com/CnhTn8i.png" group-title="Undefined",ATV HD https://iptv-all.lanesh4d0w.repl.co/andorra/atv_hd #EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="General;News",BBC News HD http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/index.region.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/index.region.m3u index aa3534ff75..ce19fbf0c8 100644 --- a/tests/__data__/expected/playlist_generate/.gh-pages/index.region.m3u +++ b/tests/__data__/expected/playlist_generate/.gh-pages/index.region.m3u @@ -11,13 +11,13 @@ http://gohoski.fvds.ru:3000/mediabay/162/index.m3u8 http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 #EXTINF:-1 tvg-id="ElTR.kg" tvg-logo="https://i.ibb.co/r6czQwQ/365049798-774721644658455-5702658175909463406-n-2.png" group-title="Commonwealth of Independent States",ЭлТР (480p) [Not 24/7] http://gohoski.fvds.ru:3000/mediabay/162/index.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="" group-title="Europe",ATV +#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="https://i.imgur.com/BnhTn8i.png" group-title="Europe",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv #EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Europe",ЛДПР ТВ (1080p) http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 #EXTINF:-1 tvg-id="ElTR.kg" tvg-logo="https://i.ibb.co/r6czQwQ/365049798-774721644658455-5702658175909463406-n-2.png" group-title="Europe",ЭлТР (480p) [Not 24/7] http://gohoski.fvds.ru:3000/mediabay/162/index.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="" group-title="Europe, the Middle East and Africa",ATV +#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="https://i.imgur.com/BnhTn8i.png" group-title="Europe, the Middle East and Africa",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv #EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Europe, the Middle East and Africa",ЛДПР ТВ (1080p) http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 @@ -34,8 +34,12 @@ http://146.59.85.40:89/dunaworld/index.m3u8 #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="" group-title="Undefined",ATV HD +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" +#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="https://i.imgur.com/CnhTn8i.png" group-title="Undefined",ATV HD https://iptv-all.lanesh4d0w.repl.co/andorra/atv_hd #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/languages/undefined.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/languages/undefined.m3u index 0eeed846f3..72161123c9 100644 --- a/tests/__data__/expected/playlist_generate/.gh-pages/languages/undefined.m3u +++ b/tests/__data__/expected/playlist_generate/.gh-pages/languages/undefined.m3u @@ -2,8 +2,12 @@ #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="" group-title="Undefined",ATV HD +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" +#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="https://i.imgur.com/CnhTn8i.png" group-title="Undefined",ATV HD https://iptv-all.lanesh4d0w.repl.co/andorra/atv_hd #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/regions/emea.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/regions/emea.m3u index 10fbb43f94..76ae384e78 100644 --- a/tests/__data__/expected/playlist_generate/.gh-pages/regions/emea.m3u +++ b/tests/__data__/expected/playlist_generate/.gh-pages/regions/emea.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="" group-title="Undefined",ATV +#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="https://i.imgur.com/BnhTn8i.png" group-title="Undefined",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv #EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/regions/eur.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/regions/eur.m3u index 10fbb43f94..76ae384e78 100644 --- a/tests/__data__/expected/playlist_generate/.gh-pages/regions/eur.m3u +++ b/tests/__data__/expected/playlist_generate/.gh-pages/regions/eur.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="" group-title="Undefined",ATV +#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="https://i.imgur.com/BnhTn8i.png" group-title="Undefined",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv #EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/regions/undefined.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/regions/undefined.m3u index eb0364cd58..09cc3aba3e 100644 --- a/tests/__data__/expected/playlist_generate/.gh-pages/regions/undefined.m3u +++ b/tests/__data__/expected/playlist_generate/.gh-pages/regions/undefined.m3u @@ -2,8 +2,12 @@ #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="" group-title="Undefined",ATV HD +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" +#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="https://i.imgur.com/CnhTn8i.png" group-title="Undefined",ATV HD https://iptv-all.lanesh4d0w.repl.co/andorra/atv_hd #EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/sources/ad.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/sources/ad.m3u new file mode 100644 index 0000000000..308931ec61 --- /dev/null +++ b/tests/__data__/expected/playlist_generate/.gh-pages/sources/ad.m3u @@ -0,0 +1,7 @@ +#EXTM3U +#EXTINF:-1 tvg-id="AndorraTV.ad@HD" tvg-logo="https://i.imgur.com/CnhTn8i.png" group-title="Undefined",ATV HD +https://iptv-all.lanesh4d0w.repl.co/andorra/atv_hd +#EXTINF:-1 tvg-id="AndorraTV.ad@SD" tvg-logo="https://i.imgur.com/BnhTn8i.png" group-title="Undefined",ATV +https://iptv-all.lanesh4d0w.repl.co/andorra/atv +#EXTINF:-1 tvg-id="Zoo.ad@HD" tvg-logo="" group-title="Undefined",Zoo (720p) +https://iptv-all.lanesh4d0w.repl.co/andorra/zoo diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/sources/ca.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/sources/ca.m3u new file mode 100644 index 0000000000..03a6963a33 --- /dev/null +++ b/tests/__data__/expected/playlist_generate/.gh-pages/sources/ca.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia +http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/sources/in.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/sources/in.m3u new file mode 100644 index 0000000000..d2223daac4 --- /dev/null +++ b/tests/__data__/expected/playlist_generate/.gh-pages/sources/in.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV +http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/sources/kg.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/sources/kg.m3u new file mode 100644 index 0000000000..847591ab04 --- /dev/null +++ b/tests/__data__/expected/playlist_generate/.gh-pages/sources/kg.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="ElTR.kg" tvg-logo="https://i.ibb.co/r6czQwQ/365049798-774721644658455-5702658175909463406-n-2.png" group-title="General",ЭлТР (480p) [Not 24/7] +http://gohoski.fvds.ru:3000/mediabay/162/index.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/sources/uk.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/sources/uk.m3u new file mode 100644 index 0000000000..85c75b78bf --- /dev/null +++ b/tests/__data__/expected/playlist_generate/.gh-pages/sources/uk.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="General;News",BBC News HD +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 diff --git a/tests/__data__/expected/playlist_generate/.gh-pages/sources/unsorted.m3u b/tests/__data__/expected/playlist_generate/.gh-pages/sources/unsorted.m3u new file mode 100644 index 0000000000..52eb85ee4e --- /dev/null +++ b/tests/__data__/expected/playlist_generate/.gh-pages/sources/unsorted.m3u @@ -0,0 +1,15 @@ +#EXTM3U +#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] +#EXTVLCOPT:http-referrer=http://imn.iq +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" +#EXTINF:-1 tvg-id="DunaWorld.hu" tvg-logo="https://i.imgur.com/uOBQJZS.png" group-title="Undefined",Duna World (576i) +http://146.59.85.40:89/dunaworld/index.m3u8 +#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) +http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 +#EXTINF:-1 tvg-id="VisitXTV.nl" tvg-logo="https://i.imgur.com/RJ9wbNF.jpg" group-title="XXX",Visit-X TV +https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8 diff --git a/tests/__data__/expected/playlist_generate/logs/generators.log b/tests/__data__/expected/playlist_generate/logs/generators.log index 720731423f..3095463f62 100644 --- a/tests/__data__/expected/playlist_generate/logs/generators.log +++ b/tests/__data__/expected/playlist_generate/logs/generators.log @@ -1,3 +1,9 @@ +{"type":"source","filepath":"sources/ad.m3u","count":3} +{"type":"source","filepath":"sources/ca.m3u","count":1} +{"type":"source","filepath":"sources/in.m3u","count":1} +{"type":"source","filepath":"sources/kg.m3u","count":1} +{"type":"source","filepath":"sources/uk.m3u","count":1} +{"type":"source","filepath":"sources/unsorted.m3u","count":4} {"type":"category","filepath":"categories/auto.m3u","count":0} {"type":"category","filepath":"categories/cooking.m3u","count":0} {"type":"category","filepath":"categories/comedy.m3u","count":0} diff --git a/tests/__data__/expected/playlist_update/fr.m3u b/tests/__data__/expected/playlist_update/fr.m3u index f4f93afdcf..f5d19f31ca 100644 --- a/tests/__data__/expected/playlist_update/fr.m3u +++ b/tests/__data__/expected/playlist_update/fr.m3u @@ -1,5 +1,3 @@ #EXTM3U #EXTINF:-1 tvg-id="TFX.fr" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",TFX -#EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ -#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://stitcher-ipv4.pluto.tv/v1/stitch/embed/hls/channel/64c109a4798def0008a6e03e/master.m3u8?advertisingId={PSID}&appVersion=unknown&deviceDNT={TARGETOPT}&deviceId={PSID}&deviceLat=0&deviceLon=0&deviceMake=samsung&deviceModel=samsung&deviceType=samsung-tvplus&deviceVersion=unknown&embedPartner=samsung-tvplus&profileFloor=&profileLimit=&samsung_app_domain={APP_DOMAIN}&samsung_app_name={APP_NAME}&us_privacy=1YNY diff --git a/tests/__data__/expected/playlist_update/uk.m3u b/tests/__data__/expected/playlist_update/uk.m3u index a60ea6210e..1932a92c71 100644 --- a/tests/__data__/expected/playlist_update/uk.m3u +++ b/tests/__data__/expected/playlist_update/uk.m3u @@ -4,4 +4,10 @@ http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 #EXTINF:-1 tvg-id="BBCNews.uk",BBC News HD (480p) [Geo-blocked] http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/playlist.m3u8 #EXTINF:-1 tvg-id="BeanoTV.uk",Beano TV -https://a5b4bacecd47433dad06d3189fc7422e.mediatailor.us-east-1.amazonaws.com/v1/manifest/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BeanoTV/b1f233d5-847c-437d-aa4f-f73e67a85323/2.m3u8 +#EXTVLCOPT:http-referrer=http://imn.iq +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +https://a5b4bacecd47433dad06d3189fc7422e.mediatailor.us-east-1.amazonaws.com/v1/manifest/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BeanoTV/b1f233d5-847c-437d-aa4f-f73e67a85323/2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" diff --git a/tests/__data__/expected/playlist_update/us.m3u b/tests/__data__/expected/playlist_update/us.m3u index 8102b65792..1f24e747a4 100644 --- a/tests/__data__/expected/playlist_update/us.m3u +++ b/tests/__data__/expected/playlist_update/us.m3u @@ -1,6 +1,11 @@ #EXTM3U #EXTINF:-1 tvg-id="BBCAmerica.us@East" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246",BBC America East (720p) -#EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246 -https://xui-backend.energeek.cl/live/9/playlist.m3u8?username=ZZDemoIPTVGH&password=mdo96EuqMkTR +#EXTVLCOPT:http-referrer=http://imn.iq +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +https://xui-backend.energeek.cl/live/9/playlist.m3u8?username=ZZDemoIPTVGH&password=mdo96EuqMkTR|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" #EXTINF:-1 tvg-id="FastTV.us",Fast TV https://3fa797d5.wurl.com/manifest/f36d25e7e52f1ba8d7e56eb859c636563214f541/T05PX01vdG9yVHJlbmRGYXN0VFZfSExT/b5e5e0e2-12b3-4312-93c9-c0a7c50b41ca/4.m3u8 diff --git a/tests/__data__/expected/readme_update/_readme.md b/tests/__data__/expected/readme_update/_readme.md index 67b094c3de..be2cfb8ede 100644 --- a/tests/__data__/expected/readme_update/_readme.md +++ b/tests/__data__/expected/readme_update/_readme.md @@ -214,6 +214,22 @@ Same thing, but split up into separate files: +### Grouped by sources + +Playlists in which channels are grouped by broadcast source. + +
+Expand +
+ +To use the playlist, simply replace `` in the link below with the name of one of the files in the [streams](streams) folder. + +``` +https://iptv-org.github.io/iptv/sources/.m3u +``` + +
+ ## Database All channel data is taken from the [iptv-org/database](https://github.com/iptv-org/database) repository. If you find any errors please open a new [issue](https://github.com/iptv-org/database/issues) there. diff --git a/tests/__data__/input/api_generate/ad.m3u b/tests/__data__/input/api_generate/ad.m3u index 9d8926e0ea..9cb32a9b9e 100644 --- a/tests/__data__/input/api_generate/ad.m3u +++ b/tests/__data__/input/api_generate/ad.m3u @@ -2,4 +2,4 @@ #EXTINF:-1 tvg-id="Zoo.ad",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo #EXTINF:-1 tvg-id="AndorraTV.ad@SD",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv +https://iptv-all.lanesh4d0w.repl.co/andorra/atv|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" diff --git a/tests/__data__/input/data/channels.json b/tests/__data__/input/data/channels.json index d12451f91b..250052dfa7 100644 --- a/tests/__data__/input/data/channels.json +++ b/tests/__data__/input/data/channels.json @@ -7,8 +7,7 @@ "subdivision": null, "city": null, "categories": [], - "is_nsfw": false, - "logo": null + "is_nsfw": false }, { "id": "BBCNews.uk", @@ -21,8 +20,7 @@ "news", "general" ], - "is_nsfw": false, - "logo": "https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" + "is_nsfw": false }, { "id": "Eve.us", @@ -32,8 +30,7 @@ "subdivision": null, "city": null, "categories": [], - "is_nsfw": false, - "logo": "https://www.lyngsat.com/logo/tv/ee/eve_us.png" + "is_nsfw": false }, { "id": "EverydayHeroes.us", @@ -43,8 +40,7 @@ "subdivision": null, "city": null, "categories": [], - "is_nsfw": false, - "logo": "https://i.imgur.com/Iam3ol3.png" + "is_nsfw": false }, { "id": "FoxSports1.us", @@ -54,8 +50,7 @@ "subdivision": null, "city": null, "categories": [], - "is_nsfw": false, - "logo": "https://cdn.tvpassport.com/image/station/100x100/fs1.png" + "is_nsfw": false }, { "id": "FoxSports2.us", @@ -65,8 +60,7 @@ "subdivision": null, "city": null, "categories": [], - "is_nsfw": false, - "logo": null + "is_nsfw": false }, { "id": "LDPRTV.ru", @@ -78,8 +72,7 @@ "categories": [ "general" ], - "is_nsfw": false, - "logo": "https://iptvx.one/icn/ldpr-tv.png" + "is_nsfw": false }, { "id": "LibyasChannel.ly", @@ -89,8 +82,7 @@ "subdivision": null, "city": null, "categories": [], - "is_nsfw": false, - "logo": "https://i.imgur.com/RD9wbNF.jpg" + "is_nsfw": false }, { "id": "MeteoMedia.ca", @@ -102,8 +94,7 @@ "categories": [ "weather" ], - "is_nsfw": false, - "logo": "https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" + "is_nsfw": false }, { "id": "TVN.pl", @@ -113,8 +104,7 @@ "subdivision": null, "city": null, "categories": [], - "is_nsfw": false, - "logo": "https://www.sms.cz/kategorie/televize/bmp/loga/velka/TVN.png" + "is_nsfw": false }, { "id": "VisitXTV.nl", @@ -126,8 +116,7 @@ "categories": [ "xxx" ], - "is_nsfw": true, - "logo": "https://i.imgur.com/RJ9wbNF.jpg" + "is_nsfw": true }, { "id": "TUTV.us", @@ -139,8 +128,7 @@ "categories": [ "general" ], - "is_nsfw": false, - "logo": "https://i.imgur.com/RJ9wbN4.jpg" + "is_nsfw": false }, { "id": "ManoramaNews.in", @@ -160,8 +148,7 @@ "launched": "2006-08-17", "closed": null, "replaced_by": null, - "website": "https://www.manoramanews.com", - "logo": "https://i.imgur.com/adjRrVx.png" + "website": "https://www.manoramanews.com" }, { "id": "TV3.my", @@ -179,8 +166,7 @@ "launched": null, "closed": null, "replaced_by": null, - "website": null, - "logo": "https://i.imgur.com/adjRrVx.png" + "website": null }, { "id": "BBCAmerica.us", @@ -198,8 +184,7 @@ "launched": null, "closed": null, "replaced_by": null, - "website": null, - "logo": "https://i.imgur.com/adjRrVx.png" + "website": null }, { "id": "ATVPlus.pe", @@ -219,8 +204,7 @@ "launched": null, "closed": null, "replaced_by": null, - "website": "https://www.atv.pe/", - "logo": "https://i.imgur.com/fY9256H.png" + "website": "https://www.atv.pe/" }, { "id": "BeanoTV.uk", @@ -238,8 +222,7 @@ "launched": null, "closed": null, "replaced_by": null, - "website": "https://www.beanostudios.com/", - "logo": "https://i.imgur.com/IKHFZDJ.png" + "website": "https://www.beanostudios.com/" }, { "id": "ATX.jp", @@ -261,8 +244,7 @@ "launched": "1997-12-24", "closed": null, "replaced_by": null, - "website": "http://www.at-x.com/", - "logo": "https://i.imgur.com/turWday.png" + "website": "http://www.at-x.com/" }, { "id": "AajTak.in", @@ -282,8 +264,7 @@ "launched": "2000-12-31", "closed": null, "replaced_by": null, - "website": "https://www.aajtak.in/livetv", - "logo": "https://i.imgur.com/RpIdCB3.png" + "website": "https://www.aajtak.in/livetv" }, { "id": "Weathernews.jp", @@ -301,8 +282,7 @@ "launched": null, "closed": null, "replaced_by": null, - "website": null, - "logo": "https://i.imgur.com/A8uRSTS.png" + "website": null }, { "id": "MethTV.lk", @@ -322,8 +302,7 @@ "launched": null, "closed": null, "replaced_by": null, - "website": "https://methtv.lk/", - "logo": "https://i.imgur.com/jZaOFxI.png" + "website": "https://methtv.lk/" }, { "id": "Match4.hu", @@ -341,8 +320,7 @@ "launched": null, "closed": null, "replaced_by": null, - "website": null, - "logo": "https://i.imgur.com/hzexBLX.png" + "website": null }, { "id": "FastTV.us", @@ -363,8 +341,7 @@ "launched": "2022-10-26", "closed": null, "replaced_by": null, - "website": "https://watch.motortrend.com/", - "logo": "https://us1-prod-images.disco-api.com/2020/7/13/4f26aaf2-a993-480d-9675-0d501fb8d86f.png?bf=0&f=png&p=true&q=85&w=250" + "website": "https://watch.motortrend.com/" }, { "id": "MCOTHD.th", @@ -386,8 +363,7 @@ "launched": "1955-06-24", "closed": null, "replaced_by": null, - "website": "https://tv.mcot.net/mcothd", - "logo": "https://i.imgur.com/ejPxGmU.png" + "website": "https://tv.mcot.net/mcothd" }, { "id": "AmarinTV.th", @@ -409,8 +385,7 @@ "launched": "2012-12-01", "closed": null, "replaced_by": null, - "website": "https://www.amarintv.com/", - "logo": "https://static.wikia.nocookie.net/logopedia/images/f/ff/Amarin_TV_2015.svg/revision/latest/scale-to-width-down/512" + "website": "https://www.amarintv.com/" }, { "id": "France2.fr", @@ -430,8 +405,7 @@ "launched": "1959-09-10", "closed": null, "replaced_by": null, - "website": "https://www.france.tv/france-2/", - "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/53/France_2_2018.svg/512px-France_2_2018.svg.png" + "website": "https://www.france.tv/france-2/" }, { "id": "France3.fr", @@ -451,8 +425,7 @@ "launched": "1972-12-31", "closed": null, "replaced_by": null, - "website": "https://www.france.tv/france-3/", - "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/France_3_2018.svg/512px-France_3_2018.svg.png" + "website": "https://www.france.tv/france-3/" }, { "id": "France5.fr", @@ -472,8 +445,7 @@ "launched": "1994-12-13", "closed": null, "replaced_by": null, - "website": "https://www.france.tv/france-5/", - "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/France_5_2018.svg/512px-France_5_2018.svg.png" + "website": "https://www.france.tv/france-5/" }, { "id": "France3.fr", @@ -493,8 +465,7 @@ "launched": "1962-01-01", "closed": null, "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/nouvelle-aquitaine/", - "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/France_3_Aquitaine_-_Logo_2018.svg/512px-France_3_Aquitaine_-_Logo_2018.svg.png" + "website": "https://france3-regions.francetvinfo.fr/nouvelle-aquitaine/" }, { "id": "TF1.fr", @@ -514,8 +485,7 @@ "launched": "1975-01-06", "closed": null, "replaced_by": null, - "website": "https://www.tf1.fr", - "logo": "https://i.imgur.com/QxHt9NC.png" + "website": "https://www.tf1.fr" }, { "id": "TF1SeriesFilms.fr", @@ -537,8 +507,7 @@ "launched": null, "closed": null, "replaced_by": null, - "website": "https://www.tf1.fr/tf1-series-films", - "logo": "https://i.imgur.com/4CJIDKQ.png" + "website": "https://www.tf1.fr/tf1-series-films" }, { "id": "TMC.fr", @@ -558,8 +527,7 @@ "launched": "1954-11-19", "closed": null, "replaced_by": null, - "website": "https://www.tf1.fr/tmc", - "logo": "https://upload.wikimedia.org/wikipedia/en/thumb/5/54/TMC_logo.svg/512px-TMC_logo.svg.png" + "website": "https://www.tf1.fr/tmc" }, { "id": "TFX.fr", @@ -575,8 +543,7 @@ "launched": null, "closed": null, "replaced_by": null, - "website": "https://www.tf1.fr/tfx", - "logo": "https://i.imgur.com/d91GcVf.png" + "website": "https://www.tf1.fr/tfx" }, { "id": "ManoramaNews.in", @@ -596,8 +563,7 @@ "launched": "2006-08-17", "closed": null, "replaced_by": null, - "website": "https://www.manoramanews.com", - "logo": "https://i.imgur.com/adjRrVx.png" + "website": "https://www.manoramanews.com" }, { "id": "13thStreet.au", @@ -617,8 +583,7 @@ "launched": "2009-11-15", "closed": "2019-12-31", "replaced_by": "Sleuth.au", - "website": "http://www.13thstreet.com.au/", - "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/13th_street_logo_uk_master_rgb_black.png/512px-13th_street_logo_uk_master_rgb_black.png" + "website": "http://www.13thstreet.com.au/" }, { "id": "Zoo.ad", @@ -628,8 +593,7 @@ "subdivision": null, "city": null, "categories": [], - "is_nsfw": false, - "logo": null + "is_nsfw": false }, { "id": "DunaWorld.hu", @@ -641,8 +605,7 @@ "categories": [ "General" ], - "is_nsfw": false, - "logo": "https://i.imgur.com/uOBQJZS.png" + "is_nsfw": false }, { "id": "ElTR.kg", @@ -675,8 +638,7 @@ "launched": null, "closed": null, "replaced_by": null, - "website": "https://eltr.kg", - "logo": "https://i.ibb.co/r6czQwQ/365049798-774721644658455-5702658175909463406-n-2.png" + "website": "https://eltr.kg" }, { "id": "IONTV.us", @@ -686,7 +648,26 @@ "subdivision": null, "city": null, "categories": [], - "is_nsfw": false, - "logo": "https://i.imgur.com/Iam3ol3.png" + "is_nsfw": false + }, + { + "id": "NPO1.nl", + "name": "NPO 1", + "network": null, + "country": "NL", + "subdivision": null, + "city": null, + "categories": [], + "is_nsfw": false + }, + { + "id": "NPO2.nl", + "name": "NPO 2", + "network": null, + "country": "NL", + "subdivision": null, + "city": null, + "categories": [], + "is_nsfw": false } ] \ No newline at end of file diff --git a/tests/__data__/input/data/logos.json b/tests/__data__/input/data/logos.json new file mode 100644 index 0000000000..ead8324b71 --- /dev/null +++ b/tests/__data__/input/data/logos.json @@ -0,0 +1,11 @@ +[ + {"channel":"MeteoMedia.ca","feed":null,"tags":[],"width":512,"height":512,"format":"PNG","url":"https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png"}, + {"channel":"LDPRTV.ru","feed":null,"tags":[],"width":512,"height":512,"format":"PNG","url":"https://iptvx.one/icn/ldpr-tv.png"}, + {"channel":"ElTR.kg","feed":null,"tags":[],"width":512,"height":512,"format":"PNG","url":"https://i.ibb.co/r6czQwQ/365049798-774721644658455-5702658175909463406-n-2.png"}, + {"channel":"BBCNews.uk","feed":null,"tags":[],"width":512,"height":512,"format":"PNG","url":"https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png"}, + {"channel":"DunaWorld.hu","feed":null,"tags":[],"width":512,"height":512,"format":"PNG","url":"https://i.imgur.com/uOBQJZS.png"}, + {"channel":"VisitXTV.nl","feed":null,"tags":[],"width":512,"height":512,"format":"JPEG","url":"https://i.imgur.com/RJ9wbNF.jpg"}, + {"channel":"AndorraTV.ad","feed":"SD","tags":[],"width":512,"height":512,"format":"PNG","url":"https://i.imgur.com/BnhTn8i.png"}, + {"channel":"AndorraTV.ad","feed":null,"tags":[],"width":1000,"height":1000,"format":"JPEG","url":"https://i.imgur.com/AnhTn8i.png"}, + {"channel":"AndorraTV.ad","feed":null,"tags":[],"width":512,"height":512,"format":"PNG","url":"https://i.imgur.com/CnhTn8i.png"} +] \ No newline at end of file diff --git a/tests/__data__/input/playlist_update/issues.js b/tests/__data__/input/issues.js similarity index 97% rename from tests/__data__/input/playlist_update/issues.js rename to tests/__data__/input/issues.js index 8feff1416f..2dae6dfff6 100644 --- a/tests/__data__/input/playlist_update/issues.js +++ b/tests/__data__/input/issues.js @@ -1515,7 +1515,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Stream ID\r\n\r\nBeanoTV.uk\r\n\r\n### Stream URL (optional)\r\n\r\nhttps://a5b4bacecd47433dad06d3189fc7422e.mediatailor.us-east-1.amazonaws.com/v1/manifest/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BeanoTV/b1f233d5-847c-437d-aa4f-f73e67a85323/2.m3u8\r\n\r\n### Notes (optional)\r\n\r\n_No response_\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\r\n\r\nBeanoTV.uk\r\n\r\n### Stream URL (optional)\r\n\r\nhttps://a5b4bacecd47433dad06d3189fc7422e.mediatailor.us-east-1.amazonaws.com/v1/manifest/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BeanoTV/b1f233d5-847c-437d-aa4f-f73e67a85323/2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz"\r\n\r\n### Directives (optional)\r\n\r\n#EXTVLCOPT:http-referrer=http://imn.iq\r\n\r\n#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148\r\n\r\n#KODIPROP:inputstream=inputstream.adaptive\r\n\r\n#KODIPROP:inputstream.adaptive.manifest_type=mpd\r\n\r\n#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha\r\n\r\n#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}|\r\n\r\n### Notes (optional)\r\n\r\n_No response_\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13751/reactions', total_count: 0, @@ -1664,7 +1664,7 @@ module.exports = [ { id: 5923508587, node_id: 'LA_kwDOCWUK8M8AAAABYRGRaw', - url: 'https://api.github.com/repos/iptv-org/iptv/labels/streams:add', + url: 'https://api.github.com/repos/iptv-org/iptv/labels/streams:edit', name: 'streams:edit', color: '017ff9', default: false, @@ -1743,7 +1743,7 @@ module.exports = [ { id: 5923508587, node_id: 'LA_kwDOCWUK8M8AAAABYRGRaw', - url: 'https://api.github.com/repos/iptv-org/iptv/labels/streams:add', + url: 'https://api.github.com/repos/iptv-org/iptv/labels/streams:edit', name: 'streams:edit', color: '017ff9', default: false, @@ -1761,7 +1761,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Stream URL (required)\n\nhttps://servilive.com:3126/live/tele2000live.m3u8\n\n### New Stream URL\n\nhttps://xui-backend.energeek.cl/live/9/playlist.m3u8?username=ZZDemoIPTVGH&password=mdo96EuqMkTR\n\n### Stream ID\n\nBBCAmerica.us@East\n\n### Quality\n\n720p\n\n### Label\n\n~\n\n### HTTP User-Agent\n\nMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246\n\n### HTTP Referrer\n\n~\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream URL (required)\n\nhttps://servilive.com:3126/live/tele2000live.m3u8\n\n### New Stream URL\n\nhttps://xui-backend.energeek.cl/live/9/playlist.m3u8?username=ZZDemoIPTVGH&password=mdo96EuqMkTR|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz"\n\n### Stream ID\n\nBBCAmerica.us@East\n\n### Quality\n\n720p\n\n### Label\n\n~\n\n### HTTP User-Agent\n\nMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246\n\n### HTTP Referrer\n\n~\n\n### Directives (optional)\r\n\r\n#EXTVLCOPT:http-referrer=http://imn.iq\r\n\r\n#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148\r\n\r\n#KODIPROP:inputstream=inputstream.adaptive\r\n\r\n#KODIPROP:inputstream.adaptive.manifest_type=mpd\r\n\r\n#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha\r\n\r\n#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}|\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14110/reactions', total_count: 0, @@ -1822,7 +1822,7 @@ module.exports = [ { id: 5923508587, node_id: 'LA_kwDOCWUK8M8AAAABYRGRaw', - url: 'https://api.github.com/repos/iptv-org/iptv/labels/streams:add', + url: 'https://api.github.com/repos/iptv-org/iptv/labels/streams:edit', name: 'streams:edit', color: '017ff9', default: false, diff --git a/tests/__data__/input/playlist_format/nl.m3u b/tests/__data__/input/playlist_format/nl.m3u index 39d56a3ef4..1d12f3b3e1 100644 --- a/tests/__data__/input/playlist_format/nl.m3u +++ b/tests/__data__/input/playlist_format/nl.m3u @@ -2,7 +2,11 @@ #EXTINF:-1 tvg-id="NPO2.nl",NPO 2 (302p) [Geo-blocked] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://stream.tvtap.net:8081/live/nl-npo2.stream/playlist.m3u8? +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://stream.tvtap.net:8081/live/nl-npo2.stream/playlist.m3u8?|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" #EXTINF:-1 tvg-id="NPO2.nl",NPO 2 [Geo-blocked] http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo22.isml/.m3u8 #EXTINF:-1 tvg-id="NPO2.nl",NPO 2 (342p) diff --git a/tests/__data__/input/playlist_generate/unsorted.m3u b/tests/__data__/input/playlist_generate/unsorted.m3u index 826414ad22..4310ac744a 100644 --- a/tests/__data__/input/playlist_generate/unsorted.m3u +++ b/tests/__data__/input/playlist_generate/unsorted.m3u @@ -6,6 +6,10 @@ https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8 #EXTINF:-1 tvg-id="" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8|Referer="https://referer.xyz/"|User-Agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1"|Origin="https://origin.xyz" #EXTINF:-1 tvg-id="DunaWorld.hu",Duna World (576i) http://146.59.85.40:89/dunaworld/index.m3u8 diff --git a/tests/__data__/input/playlist_validate/wrong_id.m3u b/tests/__data__/input/playlist_validate/wrong_id.m3u index dc7ab8504f..94d9cc2bc8 100644 --- a/tests/__data__/input/playlist_validate/wrong_id.m3u +++ b/tests/__data__/input/playlist_validate/wrong_id.m3u @@ -1,3 +1,9 @@ #EXTM3U #EXTINF:-1 tvg-id="qib22lAq1L.us",ABC (720p) +#EXTVLCOPT:http-referrer=http://imn.iq +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 +#KODIPROP:inputstream=inputstream.adaptive +#KODIPROP:inputstream.adaptive.manifest_type=mpd +#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha +#KODIPROP:inputstream.adaptive.license_key=https://drm.ors.at/acquire-license/widevine?BrandGuid=13f2e056-53fe-4469-ba6d-999970dbe549&userToken=v9ZVSksv4S7rT55o10dmYNRa4asye3z05eWCFxD%2FFYIlTJEpuf6tF8asPcyQOFq0h5opS%2B6WoMxnshWkihpHq5qrdrBEZ69piE94J9Feh385snGOqK3PYO7tLLjxmsCAe%2B9%2BNnurSSO5RCAIRsL125nSj1eOR%2F1GSKOgGH80HK2FDLiePxPkeaAxuWzacNBB%2FqnIGGxfe3GlmN65cU9F8WEpKFDlaxW%2Fv3ZSLAp3%2BZEq1aZXJ6Oz%2Fi0diD0EybH7|Content-Type=application/octet-stream|R{SSM}| https://example.com/playlist2.m3u8 diff --git a/tests/__data__/input/readme_update/.readme/template.md b/tests/__data__/input/readme_update/.readme/template.md index 4883a98e4f..68aaa68b7c 100644 --- a/tests/__data__/input/readme_update/.readme/template.md +++ b/tests/__data__/input/readme_update/.readme/template.md @@ -115,6 +115,22 @@ Same thing, but split up into separate files: +### Grouped by sources + +Playlists in which channels are grouped by broadcast source. + +
+Expand +
+ +To use the playlist, simply replace `` in the link below with the name of one of the files in the [streams](streams) folder. + +``` +https://iptv-org.github.io/iptv/sources/.m3u +``` + +
+ ## Database All channel data is taken from the [iptv-org/database](https://github.com/iptv-org/database) repository. If you find any errors please open a new [issue](https://github.com/iptv-org/database/issues) there. diff --git a/tests/__data__/input/readme_update/generators.log b/tests/__data__/input/readme_update/generators.log index 55adb62b06..62325ede73 100644 --- a/tests/__data__/input/readme_update/generators.log +++ b/tests/__data__/input/readme_update/generators.log @@ -1,3 +1,8 @@ +{"type":"source","filepath":"sources/ad.m3u","count":3} +{"type":"source","filepath":"sources/ca.m3u","count":1} +{"type":"source","filepath":"sources/in.m3u","count":1} +{"type":"source","filepath":"sources/kg.m3u","count":1} +{"type":"source","filepath":"sources/uk.m3u","count":1} {"type":"category","filepath":"categories/auto.m3u","count":0} {"type":"category","filepath":"categories/animation.m3u","count":0} {"type":"category","filepath":"categories/business.m3u","count":0}