mirror of https://github.com/Free-TV/IPTV
Compare commits
4 Commits
a17499ca4b
...
53f7a9020d
| Author | SHA1 | Date |
|---|---|---|
|
|
53f7a9020d | |
|
|
43b8dced11 | |
|
|
8a67a85d1a | |
|
|
686b7d39aa |
|
|
@ -17,5 +17,5 @@ jobs:
|
||||||
git config user.email "playlistbot@users.noreply.github.com" || true
|
git config user.email "playlistbot@users.noreply.github.com" || true
|
||||||
python3 ./make_playlist.py
|
python3 ./make_playlist.py
|
||||||
git add .
|
git add .
|
||||||
git commit --quiet -m "Update Playlist (GitHub Actions)"
|
git diff --staged --quiet || git commit --quiet -m "Update Playlist (GitHub Actions)"
|
||||||
git push -f origin master
|
git diff --quiet HEAD @{u} || git push -f origin HEAD
|
||||||
|
|
|
||||||
141
make_playlist.py
141
make_playlist.py
|
|
@ -3,11 +3,98 @@
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
EPG_LIST = open('epglist.txt',"r") # for a clean code
|
COUNTRY_CODES = {
|
||||||
|
"albania": "AL",
|
||||||
|
"andorra": "AD",
|
||||||
|
"argentina": "AR",
|
||||||
|
"armenia": "AM",
|
||||||
|
"australia": "AU",
|
||||||
|
"austria": "AT",
|
||||||
|
"azerbaijan": "AZ",
|
||||||
|
"belarus": "BY",
|
||||||
|
"belgium": "BE",
|
||||||
|
"bosnia_and_herzegovina": "BA",
|
||||||
|
"brazil": "BR",
|
||||||
|
"bulgaria": "BG",
|
||||||
|
"canada": "CA",
|
||||||
|
"chad": "TD",
|
||||||
|
"chile": "CL",
|
||||||
|
"china": "CN",
|
||||||
|
"costa_rica": "CR",
|
||||||
|
"croatia": "HR",
|
||||||
|
"cyprus": "CY",
|
||||||
|
"czech_republic": "CZ",
|
||||||
|
"denmark": "DK",
|
||||||
|
"dominican_republic": "DO",
|
||||||
|
"egypt": "EG",
|
||||||
|
"estonia": "EE",
|
||||||
|
"faroe_islands": "FO",
|
||||||
|
"finland": "FI",
|
||||||
|
"france": "FR",
|
||||||
|
"georgia": "GE",
|
||||||
|
"germany": "DE",
|
||||||
|
"greece": "GR",
|
||||||
|
"greenland": "GL",
|
||||||
|
"hong_kong": "HK",
|
||||||
|
"hongkong": "HK",
|
||||||
|
"hungary": "HU",
|
||||||
|
"iceland": "IS",
|
||||||
|
"india": "IN",
|
||||||
|
"indonesia": "ID",
|
||||||
|
"iran": "IR",
|
||||||
|
"iraq": "IQ",
|
||||||
|
"ireland": "IE",
|
||||||
|
"israel": "IL",
|
||||||
|
"italy": "IT",
|
||||||
|
"japan": "JP",
|
||||||
|
"korea": "KR",
|
||||||
|
"kosovo": "XK",
|
||||||
|
"latvia": "LV",
|
||||||
|
"lithuania": "LT",
|
||||||
|
"luxembourg": "LU",
|
||||||
|
"macau": "MO",
|
||||||
|
"malta": "MT",
|
||||||
|
"mexico": "MX",
|
||||||
|
"moldova": "MD",
|
||||||
|
"monaco": "MC",
|
||||||
|
"montenegro": "ME",
|
||||||
|
"netherlands": "NL",
|
||||||
|
"north_korea": "KP",
|
||||||
|
"north_macedonia": "MK",
|
||||||
|
"norway": "NO",
|
||||||
|
"paraguay": "PY",
|
||||||
|
"peru": "PE",
|
||||||
|
"poland": "PL",
|
||||||
|
"portugal": "PT",
|
||||||
|
"qatar": "QA",
|
||||||
|
"romania": "RO",
|
||||||
|
"russia": "RU",
|
||||||
|
"san_marino": "SM",
|
||||||
|
"saudi_arabia": "SA",
|
||||||
|
"serbia": "RS",
|
||||||
|
"slovakia": "SK",
|
||||||
|
"slovenia": "SI",
|
||||||
|
"somalia": "SO",
|
||||||
|
"spain": "ES",
|
||||||
|
"spain_vod": "ES",
|
||||||
|
"sweden": "SE",
|
||||||
|
"switzerland": "CH",
|
||||||
|
"taiwan": "TW",
|
||||||
|
"trinidad": "TT",
|
||||||
|
"turkey": "TR",
|
||||||
|
"uk": "GB",
|
||||||
|
"ukraine": "UA",
|
||||||
|
"united_arab_emirates": "AE",
|
||||||
|
"usa": "US",
|
||||||
|
"usa_vod": "US",
|
||||||
|
"venezuela": "VE",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class Channel:
|
class Channel:
|
||||||
def __init__(self, group, md_line):
|
def __init__(self, group, md_line, country_code=""):
|
||||||
self.group = group
|
self.group = group
|
||||||
|
self.country_code = country_code
|
||||||
md_line = md_line.strip()
|
md_line = md_line.strip()
|
||||||
parts = md_line.split("|")
|
parts = md_line.split("|")
|
||||||
self.number = parts[1].strip()
|
self.number = parts[1].strip()
|
||||||
|
|
@ -22,39 +109,49 @@ class Channel:
|
||||||
self.epg = None
|
self.epg = None
|
||||||
|
|
||||||
def to_m3u_line(self):
|
def to_m3u_line(self):
|
||||||
|
country = f' tvg-country="{self.country_code}"' if self.country_code else ""
|
||||||
if self.epg is None:
|
if self.epg is None:
|
||||||
return (f'#EXTINF:-1 tvg-name="{self.name}" tvg-logo="{self.logo}" group-title="{self.group}",{self.name}\n{self.url}')
|
return (f'#EXTINF:-1 tvg-name="{self.name}" tvg-logo="{self.logo}"{country} group-title="{self.group}",{self.name}\n{self.url}')
|
||||||
else:
|
else:
|
||||||
return (f'#EXTINF:-1 tvg-name="{self.name}" tvg-logo="{self.logo}" tvg-id="{self.epg}" group-title="{self.group}",{self.name}\n{self.url}')
|
return (f'#EXTINF:-1 tvg-name="{self.name}" tvg-logo="{self.logo}" tvg-id="{self.epg}"{country} group-title="{self.group}",{self.name}\n{self.url}')
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
dir_playlists = 'playlists'
|
base_dir = os.path.dirname(os.path.abspath(__file__))
|
||||||
if not (os.path.isdir(dir_playlists)):
|
lists_dir = os.path.join(base_dir, "lists")
|
||||||
|
dir_playlists = os.path.join(base_dir, "playlists")
|
||||||
|
|
||||||
|
if not os.path.isdir(dir_playlists):
|
||||||
os.mkdir(dir_playlists)
|
os.mkdir(dir_playlists)
|
||||||
with open("playlist.m3u8", "w", encoding='utf-8') as playlist:
|
|
||||||
processed_epg_list = ", ".join(EPG_LIST).replace('\n', '')
|
with open(os.path.join(base_dir, "epglist.txt"), encoding='utf-8') as epg_file:
|
||||||
head_playlist = f'#EXTM3U x-tvg-url="{processed_epg_list}"'
|
epg_urls = [line.strip() for line in epg_file if line.strip()]
|
||||||
print(f'#EXTM3U x-tvg-url="{processed_epg_list}"', file=playlist)
|
processed_epg_list = ", ".join(epg_urls)
|
||||||
os.chdir("lists")
|
head_playlist = f'#EXTM3U x-tvg-url="{processed_epg_list}"\n'
|
||||||
for filename in sorted(os.listdir(".")):
|
|
||||||
|
with open(os.path.join(base_dir, "playlist.m3u8"), "w", encoding='utf-8') as playlist:
|
||||||
|
playlist.write(head_playlist)
|
||||||
|
for filename in sorted(os.listdir(lists_dir)):
|
||||||
if filename == "README.md" or not filename.endswith(".md"):
|
if filename == "README.md" or not filename.endswith(".md"):
|
||||||
continue
|
continue
|
||||||
with open(filename, encoding='utf-8') as markup_file:
|
markup_path = os.path.join(lists_dir, filename)
|
||||||
file_country = os.path.join("..", dir_playlists, "playlist_" + filename[:-3:] + ".m3u8")
|
country_path = os.path.join(dir_playlists, "playlist_" + filename[:-3] + ".m3u8")
|
||||||
playlist_country = open(file_country, "w", encoding='utf-8')
|
country_key = filename[:-3]
|
||||||
playlist_country.write(head_playlist + "\n")
|
group = country_key.replace("_", " ").title()
|
||||||
group = filename.replace(".md", "").title()
|
country_code = COUNTRY_CODES.get(country_key, "")
|
||||||
print(f"Generating {group}")
|
print(f"Generating {group}")
|
||||||
|
with open(markup_path, encoding='utf-8') as markup_file, \
|
||||||
|
open(country_path, "w", encoding='utf-8') as playlist_country:
|
||||||
|
playlist_country.write(head_playlist)
|
||||||
for line in markup_file:
|
for line in markup_file:
|
||||||
if "<h1>" in line.lower() and "</h1>" in line.lower():
|
if "<h1>" in line.lower() and "</h1>" in line.lower():
|
||||||
group = re.sub('<[^<>]+>', '', line.strip())
|
group = re.sub('<[^<>]+>', '', line.strip())
|
||||||
if not "[>]" in line:
|
if "[>]" not in line:
|
||||||
continue
|
continue
|
||||||
channel = Channel(group, line)
|
channel = Channel(group, line, country_code)
|
||||||
print(channel.to_m3u_line(), file=playlist)
|
m3u_line = channel.to_m3u_line()
|
||||||
print(channel.to_m3u_line(), file=playlist_country)
|
print(m3u_line, file=playlist)
|
||||||
playlist_country.close()
|
print(m3u_line, file=playlist_country)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
|
||||||
3268
playlist.m3u8
3268
playlist.m3u8
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,169 @@
|
||||||
|
#EXTM3U
|
||||||
|
#EXTINF:-1 tvg-id="MNB.mn@SD",MNB HD
|
||||||
|
https://cdn4.skygo.mn/live/disk1/MNB/HLSv3-FTA/MNB.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="MNBMongoliinMedee.mn@SD",MNB Монголын Мэдээ
|
||||||
|
https://cdn4.skygo.mn/live/disk1/MNB2/HLSv3-FTA/MNB2.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="MNBSport.mn@SD",MNB Sport
|
||||||
|
https://live.mnb.mn/hls/mnb_sport.stream.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="MNBWorld.mn@SD",MNB International
|
||||||
|
https://cdn4.skygo.mn/live/disk1/MNB_World/HLSv3-FTA/MNB_World.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="TV25.mn@SD",MN25
|
||||||
|
https://cdn4.skygo.mn/live/disk1/MN25/HLSv3-FTA/MN25.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="TV5.mn@SD",TV5
|
||||||
|
https://cdn4.skygo.mn/live/disk1/TV5HD/HLSv3-FTA/TV5HD.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="TV8.mn@SD",TV8 HD
|
||||||
|
https://cdn4.skygo.mn/live/disk1/TV8HD/HLSv3-FTA/TV8HD.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="TV9.mn@SD",TV9
|
||||||
|
https://cdn4.skygo.mn/live/disk1/TV9HD/HLSv3-FTA/TV9HD.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="NTV.mn@SD",NTV
|
||||||
|
https://cdn4.skygo.mn/live/disk1/NTVHD/HLSv3-FTA/NTVHD.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="EagleNews.mn@SD",Eagle News HD
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Eagle/HLSv3-FTA/Eagle.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="UBS.mn@SD",UBS (720p)
|
||||||
|
https://cdn4.skygo.mn/live/disk1/UBSHD/HLSv3-FTA/UBSHD.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="SBN.mn@SD",SBN
|
||||||
|
https://cdn4.skygo.mn/live/disk1/SBN/HLSv3-FTA/SBN.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="C1.mn@SD",C1
|
||||||
|
https://cdn4.skygo.mn/live/disk1/C1/HLSv3-FTA/C1.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="CentralTV.mn@SD",Central HD
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Ekh_Oron/HLSv3-FTA/Ekh_Oron.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="MovieBox.mn@SD",MovieBox
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Moviebox/HLSv3-FTA/Moviebox.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="",CNBC MGL
|
||||||
|
https://cdn4.skygo.mn/live/disk1/CNBC/HLSv3-FTA/CNBC.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="AsianBox.mn@SD",AsianBox
|
||||||
|
https://cdn4.skygo.mn/live/disk1/AsianBOX/HLSv3-FTA/AsianBOX.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="EdutainmentTV.mn@SD",Education TV
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Education/HLSv3-FTA/Education.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="ETV.mn@SD",ETV
|
||||||
|
https://cdn4.skygo.mn/live/disk1/ETV/HLSv3-FTA/ETV.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="ONTV.mn@SD",N Sports
|
||||||
|
https://cdn4.skygo.mn/live/disk1/ONTV/HLSv3-FTA/ONTV.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="Channel11.mn@SD",Channel 11
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Channel11/HLSv3-FTA/Channel11.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="GTV.mn@SD",Gandan TV
|
||||||
|
https://cdn4.skygo.mn/live/disk1/GTV/HLSv3-FTA/GTV.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="SoyonGegeeruulegchTV.mn@SD",Soyon Geegerulch
|
||||||
|
https://cdn4.skygo.mn/live/disk1/SoyonGegeeruulegch/HLSv3-FTA/SoyonGegeeruulegch.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="TMTV.mn@SD",Tanin Mehehgui TV
|
||||||
|
https://cdn4.skygo.mn/live/disk1/TM/HLSv3-FTA/TM.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="TV4.mn@SD",TV 4
|
||||||
|
https://cdn4.skygo.mn/live/disk1/TV4/HLSv3-FTA/TV4.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="TenGerTV.mn@SD",TenGer TV (720p)
|
||||||
|
https://cdn4.skygo.mn/live/disk1/VTV/HLSv3-FTA/VTV.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="UlziiTV.mn@SD",UlZii
|
||||||
|
https://cdn4.skygo.mn/live/disk1/UlziiTV/HLSv3-FTA/UlziiTV.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="MalchinTV.mn@SD",Malchin TV
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Malchin/HLSv3-FTA/Malchin.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="ParliamentTV.mn@SD",Parliament TV
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Parlament/HLSv3-FTA/Parlament.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="StarTV.mn@SD",Star TV
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Star/HLSv3-FTA/Star.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="SuldTV.mn@SD",Suld TV
|
||||||
|
https://cdn4.skygo.mn/live/disk1/SuldTV/HLSv3-FTA/SuldTV.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="SevenChannel.mn@SD",Seven Channel
|
||||||
|
https://cdn4.skygo.mn/live/disk1/TV7/HLS-FTA/TV7.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="AistGlobaltv.mn@SD",Aist Global
|
||||||
|
https://cdn4.skygo.mn/live/disk1/GlobalTV/HLSv3-FTA/GlobalTV.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="",MNB Гэр бүл
|
||||||
|
https://cdn4.skygo.mn/live/disk1/MNB_Family/HLSv3-FTA/MNB_Family.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="MongolianNewsChannel.mn@SD",MNC
|
||||||
|
https://cdn4.skygo.mn/live/disk1/MNCTV/HLSv3-FTA/MNCTV.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="",Premier Sports 1
|
||||||
|
https://cdn4.skygo.mn/live/disk1/SPSPrime/HLSv3-FTA/SPSPrime.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="",Premier Sports 2
|
||||||
|
https://cdn4.skygo.mn/live/disk1/SPSPlay/HLSv3-FTA/SPSPlay.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="",Premier Sports 3
|
||||||
|
https://cdn4.skygo.mn/live/disk1/SPSNational/HLSv3-FTA/SPSNational.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="PremierSports4.mn@SD",Premier Sports 4
|
||||||
|
http://cdn4.skygo.mn/live/disk1/SPSFight/HLS-FTA/SPSFight.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="",Premier Sports 5
|
||||||
|
https://cdn4.skygo.mn/live/disk1/SPSPlus/HLSv3-FTA/SPSPlus.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="",Bantan
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Popcorn/HLSv3-FTA/Popcorn.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="",Mongol TV
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Mongol_TV/HLSv3-FTA/Mongol_TV.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="",Auto TV (720p)
|
||||||
|
https://cdn4.skygo.mn/live/disk1/AutoTV/HLSv3-FTA/AutoTV.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="BloombergTVMongolia.mn@SD",Bloomberg TV Mongolia HD (720p)
|
||||||
|
https://cdn4.skygo.mn/live/disk1/BloombergMon/HLSv3-FTA/BloombergMon.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="Cinema.mn@SD",Cinema
|
||||||
|
https://cdn4.skygo.mn/live/disk1/CinemaTV/HLSv3-FTA/CinemaTV.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="Ntn.mn@SD",NTN
|
||||||
|
https://cdn4.skygo.mn/live/disk1/NTN/HLSv3-FTA/NTN.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="Volplus.mn@SD",Mongolian Plus1
|
||||||
|
https://cdn4.skygo.mn/live/disk1/VolumePlus/HLSv3-FTA/VolumePlus.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="", Mongolia Music
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Khugjim/HLSv3-FTA/Khugjim.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="BBCNews.uk@AsiaPacific",BBC News HD
|
||||||
|
https://cdn4.skygo.mn/live/disk1/BBC_News/HLSv3-FTA/BBC_News.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="",Canela Clasicos
|
||||||
|
https://stream.ads.ottera.tv/playlist.m3u8?network_id=652
|
||||||
|
#EXTINF:-1 tvg-id="TV5MondeAsia.fr@SD",TV5Monde Asie
|
||||||
|
https://liveh12.vtvprime.vn/hls/TV5/03.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="AlJazeera.qa@English",Al Jazeera English
|
||||||
|
https://live-hls-apps-aje-fa.getaj.net/AJE/index.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="France24.fr@French",France 24
|
||||||
|
https://dash4.antik.sk/live/test_france24_france/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="DW.de@English",DW English HD
|
||||||
|
https://dwamdstream102.akamaized.net/hls/live/2015525/dwstream102/master.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="NHKWorldJapan.jp@SD",NHK World-Japan
|
||||||
|
https://cdn4.skygo.mn/live/disk1/NHK_World/HLSv3-FTA/NHK_World.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="CGTN.cn@SD",CGTN
|
||||||
|
https://dash4.antik.sk/live/test_cgtn/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="TRTWorld.tr@HD",TRT World HD
|
||||||
|
https://dash2.antik.sk/live/test_trt_world_atktv/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="NHKWorldPremium.jp@SD",NHK World Premium
|
||||||
|
https://cdn.skygo.mn/live/disk1/NHK_World_Premium/HLSv3-FTA/NHK_World_Premium.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="AFV.us@SD",Always Funny!
|
||||||
|
https://linear-12.frequency.stream/dist/plex/12/hls/master/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="ToonGoggles.us@SD",Toon Goggles
|
||||||
|
https://stream-us-east-1.getpublica.com/playlist.m3u8?network_id=37
|
||||||
|
#EXTINF:-1 tvg-id="3ABNInternational.us@SD",3ABN International Network
|
||||||
|
https://3abn.bozztv.com/3abn2/Int_live/smil:Int_live.smil/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="CarouselInternational.ru@SD",Carousel
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Karusel/HLSv3-FTA/Karusel.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="Balapan.kz@SD",Balapan TV
|
||||||
|
https://balapantv-stream.qazcdn.com/balapantv/balapantv/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="DaVinciAsia.de@Vietnam",Da Vinci HD
|
||||||
|
https://liveh12.vtvprime.vn/hls/DAVINVY/04.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="Detskoekino.ru@International",Detskoe Kino
|
||||||
|
https://autopilot.catcast.tv/content/38720/index.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="Bloomberg.us@Asia",Bloomberg
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Bloomberg/HLSv3-FTA/Bloomberg.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="ArirangTV.kr@SD",Arirang Korea
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Arirang/HLSv3-FTA/Arirang.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="FashionTVParisLOriginal.fr@SD",FashionTV HD
|
||||||
|
https://edge-fast3.evrideo.tv/bfdbb576-83f7-11f0-9f89-0200170e3e04_1000028043_HLS/manifest.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="CJOnStyle.kr@SD",CJ OnStyle
|
||||||
|
https://live-ch1.cjonstyle.net/cjmalllive/stream2/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="KbsWorld.kr@SD",KBS World HD
|
||||||
|
https://cdn4.skygo.mn/live/disk1/KBSWorld/HLSv3-FTA/KBSWorld.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="BBCEarth.uk@Asia",BBC Earth HD
|
||||||
|
https://cdn4.skygo.mn/live/disk1/BBC_earth/HLSv3-FTA/BBC_earth.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="Cbeebies.uk@Asia",Cbeebies
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Cbeebies/HLSv3-FTA/Cbeebies.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="DomashniyInternational.ru@SD",Domashni
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Domashni/HLSv3-FTA/Domashni.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="PeretzInternational.ru@SD",Che
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Che/HLSv3-FTA/Che.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="FridayInternational.ru@SD",Friday Russia
|
||||||
|
https://cdn4.skygo.mn/live/disk1/Friday/HLSv3-FTA/Friday.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="RBKTV.ru@SD", RBK
|
||||||
|
http://online-video.rbc.ru/online2/rbctv.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="QazaqstanInternational.kz@SD",Qazaqstan
|
||||||
|
https://qazaqstantv-stream.qazcdn.com/international/international/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="QazSport.kz@SD",QazSport
|
||||||
|
https://qazsporttv-stream.qazcdn.com/qazsporttv/qazsporttv/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="",Action Hollywood Movies
|
||||||
|
https://cdn-apse1-prod.tsv2.amagi.tv/linear/amg01076-lightningintern-actionhollywood-samsungnz/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="KartoonChannel.us@SD",Kartoon Channel
|
||||||
|
https://cdn-apse1-prod.tsv2.amagi.tv/linear/amg01076-lightningintern-kartoonchannel-samsungnz/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="Now70s.uk@SD",Now 70's
|
||||||
|
https://lightning-now70s-samsungnz.amagi.tv/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="Now80s.uk@SD",Now 80's
|
||||||
|
https://lightning-now80s-samsungnz.amagi.tv/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="NOWRock.uk@SD",NOW Rock
|
||||||
|
https://lightning-now90s-samsungnz.amagi.tv/playlist.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="OutdoorChannel.us@SD",Outdoor Channel
|
||||||
|
https://cdn-apse1-prod.tsv2.amagi.tv/linear/amg00718-outdoorchannela-outdoortvnz-samsungnz/playlist.m3u8
|
||||||
Loading…
Reference in New Issue