mirror of
https://github.com/doms9/iptv.git
synced 2026-06-14 12:36:27 +02:00
Compare commits
No commits in common. "fb9b5016ac6dcc6bf563957a2a48b14d04e1a71d" and "01c12438aac8fd9f0597207b49cc3a970399e114" have entirely different histories.
fb9b5016ac
...
01c12438aa
14 changed files with 128395 additions and 133722 deletions
4755
M3U8/TV.m3u8
4755
M3U8/TV.m3u8
File diff suppressed because it is too large
Load diff
250795
M3U8/TV.xml
250795
M3U8/TV.xml
File diff suppressed because one or more lines are too long
|
|
@ -387,101 +387,98 @@ http://23.237.104.106:8080/USA_SHOWTIME/index.m3u8
|
|||
#EXTINF:-1 tvg-chno="129" tvg-id="Showtime.Extreme.HD.us2" tvg-name="Showtime Extreme" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s18086_dark_360w_270h.png" group-title="TV",Showtime Extreme
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/12036
|
||||
|
||||
#EXTINF:-1 tvg-chno="130" tvg-id="Sky.Sports.Football.HD.uk" tvg-name="Sky Sports Football" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s104327_dark_360w_270h.png" group-title="TV",Sky Sports Football
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/304771
|
||||
|
||||
#EXTINF:-1 tvg-chno="131" tvg-id="SkySp.News.HD.uk" tvg-name="Sky Sports News" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/GNLZZGG0027JYG2.png_dark_360w_270h.png" group-title="TV",Sky Sports News
|
||||
#EXTINF:-1 tvg-chno="130" tvg-id="SkySp.News.HD.uk" tvg-name="Sky Sports News" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/GNLZZGG0027JYG2.png_dark_360w_270h.png" group-title="TV",Sky Sports News
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/304775
|
||||
|
||||
#EXTINF:-1 tvg-chno="132" tvg-id="Smithsonian.HD.Network.us2" tvg-name="Smithsonian Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58532_dark_360w_270h.png" group-title="TV",Smithsonian Channel
|
||||
#EXTINF:-1 tvg-chno="131" tvg-id="Smithsonian.HD.Network.us2" tvg-name="Smithsonian Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58532_dark_360w_270h.png" group-title="TV",Smithsonian Channel
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/8585
|
||||
|
||||
#EXTINF:-1 tvg-chno="133" tvg-id="Sony.Movie.Channel.HD.us2" tvg-name="Sony Movie Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s69130_dark_360w_270h.png" group-title="TV",Sony Movie Channel
|
||||
#EXTINF:-1 tvg-chno="132" tvg-id="Sony.Movie.Channel.HD.us2" tvg-name="Sony Movie Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s69130_dark_360w_270h.png" group-title="TV",Sony Movie Channel
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/5831
|
||||
|
||||
#EXTINF:-1 tvg-chno="134" tvg-id="Space.City.Home.Network.HD.us2" tvg-name="Space City Home Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s77744_dark_360w_270h.png" group-title="TV",Space City Home Network
|
||||
#EXTINF:-1 tvg-chno="133" tvg-id="Space.City.Home.Network.HD.us2" tvg-name="Space City Home Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s77744_dark_360w_270h.png" group-title="TV",Space City Home Network
|
||||
http://mytvstream.net:8080/live/88623297/04243674/213668.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="135" tvg-id="Spectrum.SportsNet.LA.Dodgers.HD.us2" tvg-name="Spectrum SportsNet LA Dodgers" tvg-logo="https://i.gyazo.com/765cce528ddda366695bb178d9dee6da.png" group-title="TV",Spectrum SportsNet LA Dodgers
|
||||
#EXTINF:-1 tvg-chno="134" tvg-id="Spectrum.SportsNet.LA.Dodgers.HD.us2" tvg-name="Spectrum SportsNet LA Dodgers" tvg-logo="https://i.gyazo.com/765cce528ddda366695bb178d9dee6da.png" group-title="TV",Spectrum SportsNet LA Dodgers
|
||||
http://mytvstream.net:8080/live/88623297/04243674/31636.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="136" tvg-id="Spectrum.SportsNet.Lakers.HD.us2" tvg-name="Spectrum SportsNet Lakers" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s77422_dark_360w_270h.png" group-title="TV",Spectrum SportsNet Lakers
|
||||
#EXTINF:-1 tvg-chno="135" tvg-id="Spectrum.SportsNet.Lakers.HD.us2" tvg-name="Spectrum SportsNet Lakers" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s77422_dark_360w_270h.png" group-title="TV",Spectrum SportsNet Lakers
|
||||
http://mytvstream.net:8080/live/88623297/04243674/21842.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="137" tvg-id="Sportsman.Channel.us2" tvg-name="Sportsman Channel" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s33930_dark_360w_270h.png" group-title="TV",Sportsman Channel
|
||||
#EXTINF:-1 tvg-chno="136" tvg-id="Sportsman.Channel.us2" tvg-name="Sportsman Channel" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s33930_dark_360w_270h.png" group-title="TV",Sportsman Channel
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/30847
|
||||
|
||||
#EXTINF:-1 tvg-chno="138" tvg-id="Sportsnet.360.HD.ca2" tvg-name="Sportsnet 360" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s49952_dark_360w_270h.png" group-title="TV",Sportsnet 360
|
||||
#EXTINF:-1 tvg-chno="137" tvg-id="Sportsnet.360.HD.ca2" tvg-name="Sportsnet 360" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s49952_dark_360w_270h.png" group-title="TV",Sportsnet 360
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/3377
|
||||
|
||||
#EXTINF:-1 tvg-chno="139" tvg-id="Sportsnet.East.ca2" tvg-name="Sportsnet East" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s62109_dark_360w_270h.png" group-title="TV",Sportsnet East
|
||||
#EXTINF:-1 tvg-chno="138" tvg-id="Sportsnet.East.ca2" tvg-name="Sportsnet East" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s62109_dark_360w_270h.png" group-title="TV",Sportsnet East
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/1720
|
||||
|
||||
#EXTINF:-1 tvg-chno="140" tvg-id="SNY.SportsNet.New.York.HD.us2" tvg-name="SportsNet New York" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s50038_dark_360w_270h.png" group-title="TV",SportsNet New York
|
||||
#EXTINF:-1 tvg-chno="139" tvg-id="SNY.SportsNet.New.York.HD.us2" tvg-name="SportsNet New York" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s50038_dark_360w_270h.png" group-title="TV",SportsNet New York
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/267219
|
||||
|
||||
#EXTINF:-1 tvg-chno="141" tvg-id="Sportsnet.One.ca2" tvg-name="Sportsnet One" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s68859_dark_360w_270h.png" group-title="TV",Sportsnet One
|
||||
#EXTINF:-1 tvg-chno="140" tvg-id="Sportsnet.One.ca2" tvg-name="Sportsnet One" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s68859_dark_360w_270h.png" group-title="TV",Sportsnet One
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/3378
|
||||
|
||||
#EXTINF:-1 tvg-chno="142" tvg-id="SportsNet.Pittsburgh.HD.us2" tvg-name="SportsNet Pittsburgh" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s26028_dark_360w_270h.png" group-title="TV",SportsNet Pittsburgh
|
||||
#EXTINF:-1 tvg-chno="141" tvg-id="SportsNet.Pittsburgh.HD.us2" tvg-name="SportsNet Pittsburgh" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s26028_dark_360w_270h.png" group-title="TV",SportsNet Pittsburgh
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/59945
|
||||
|
||||
#EXTINF:-1 tvg-chno="143" tvg-id="Starz.HD.us2" tvg-name="Starz" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s12719_dark_360w_270h.png" group-title="TV",Starz
|
||||
#EXTINF:-1 tvg-chno="142" tvg-id="Starz.HD.us2" tvg-name="Starz" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s12719_dark_360w_270h.png" group-title="TV",Starz
|
||||
http://23.237.104.106:8080/USA_STARZ/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="144" tvg-id="Starz.Encore.Classic.us2" tvg-name="Starz Encore Classic" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14764_dark_360w_270h.png" group-title="TV",Starz Encore Classic
|
||||
#EXTINF:-1 tvg-chno="143" tvg-id="Starz.Encore.Classic.us2" tvg-name="Starz Encore Classic" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14764_dark_360w_270h.png" group-title="TV",Starz Encore Classic
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/25816
|
||||
|
||||
#EXTINF:-1 tvg-chno="145" tvg-id="Syfy.HD.us2" tvg-name="Syfy" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11097_dark_360w_270h.png" group-title="TV",Syfy
|
||||
#EXTINF:-1 tvg-chno="144" tvg-id="Syfy.HD.us2" tvg-name="Syfy" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11097_dark_360w_270h.png" group-title="TV",Syfy
|
||||
http://23.237.104.106:8080/USA_SYFY/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="146" tvg-id="TBS.HD.us2" tvg-name="TBS" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11867_dark_360w_270h.png" group-title="TV",TBS
|
||||
#EXTINF:-1 tvg-chno="145" tvg-id="TBS.HD.us2" tvg-name="TBS" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11867_dark_360w_270h.png" group-title="TV",TBS
|
||||
https://turnerlive.warnermediacdn.com/hls/live/2023172/tbseast/slate/VIDEO_0_3564000.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="147" tvg-id="Tennis.Channel.HD.us2" tvg-name="Tennis Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s60316_dark_360w_270h.png" group-title="TV",Tennis Channel
|
||||
#EXTINF:-1 tvg-chno="146" tvg-id="Tennis.Channel.HD.us2" tvg-name="Tennis Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s60316_dark_360w_270h.png" group-title="TV",Tennis Channel
|
||||
https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg01444-tennischannelth-tennischnlintl-lggb/playlist.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="148" tvg-id="The.Weather.Channel.HD.us2" tvg-name="The Weather Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58812_dark_360w_270h.png" group-title="TV",The Weather Channel
|
||||
#EXTINF:-1 tvg-chno="147" tvg-id="The.Weather.Channel.HD.us2" tvg-name="The Weather Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58812_dark_360w_270h.png" group-title="TV",The Weather Channel
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/2361
|
||||
|
||||
#EXTINF:-1 tvg-chno="149" tvg-id="TLC.HD.(US).us2" tvg-name="TLC" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11158_dark_360w_270h.png" group-title="TV",TLC
|
||||
#EXTINF:-1 tvg-chno="148" tvg-id="TLC.HD.(US).us2" tvg-name="TLC" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11158_dark_360w_270h.png" group-title="TV",TLC
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/2362
|
||||
|
||||
#EXTINF:-1 tvg-chno="150" tvg-id="TNT.HD.us2" tvg-name="TNT" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11164_dark_360w_270h.png" group-title="TV",TNT
|
||||
#EXTINF:-1 tvg-chno="149" tvg-id="TNT.HD.us2" tvg-name="TNT" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11164_dark_360w_270h.png" group-title="TV",TNT
|
||||
https://turnerlive.warnermediacdn.com/hls/live/2023168/tnteast/slate/VIDEO_0_3564000.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="151" tvg-id="truTV.HD.us2" tvg-name="truTV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10153_dark_360w_270h.png" group-title="TV",truTV
|
||||
#EXTINF:-1 tvg-chno="150" tvg-id="truTV.HD.us2" tvg-name="truTV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10153_dark_360w_270h.png" group-title="TV",truTV
|
||||
https://turnerlive.warnermediacdn.com/hls/live/2023176/trueast/slate/VIDEO_0_3564000.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="152" tvg-id="TSN.1.ca2" tvg-name="TSN1" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11182_dark_360w_270h.png" group-title="TV",TSN1
|
||||
#EXTINF:-1 tvg-chno="151" tvg-id="TSN.1.ca2" tvg-name="TSN1" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11182_dark_360w_270h.png" group-title="TV",TSN1
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/770
|
||||
|
||||
#EXTINF:-1 tvg-chno="153" tvg-id="TSN.2.ca2" tvg-name="TSN2" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s61474_dark_360w_270h.png" group-title="TV",TSN2
|
||||
#EXTINF:-1 tvg-chno="152" tvg-id="TSN.2.ca2" tvg-name="TSN2" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s61474_dark_360w_270h.png" group-title="TV",TSN2
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/771
|
||||
|
||||
#EXTINF:-1 tvg-chno="154" tvg-id="Turner.Classic.Movies.HD.us2" tvg-name="Turner Classic Movies" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s12852_dark_360w_270h.png" group-title="TV",Turner Classic Movies
|
||||
#EXTINF:-1 tvg-chno="153" tvg-id="Turner.Classic.Movies.HD.us2" tvg-name="Turner Classic Movies" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s12852_dark_360w_270h.png" group-title="TV",Turner Classic Movies
|
||||
https://turnerlive.warnermediacdn.com/hls/live/2023186/tcmeast/noslate/VIDEO_1_5128000.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="155" tvg-id="TV.Land.HD.us2" tvg-name="TV Land" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16123_dark_360w_270h.png" group-title="TV",TV Land
|
||||
#EXTINF:-1 tvg-chno="154" tvg-id="TV.Land.HD.us2" tvg-name="TV Land" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16123_dark_360w_270h.png" group-title="TV",TV Land
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/2364
|
||||
|
||||
#EXTINF:-1 tvg-chno="156" tvg-id="TV.ONE.HD.us2" tvg-name="TV One" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s35513_dark_360w_270h.png" group-title="TV",TV One
|
||||
#EXTINF:-1 tvg-chno="155" tvg-id="TV.ONE.HD.us2" tvg-name="TV One" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s35513_dark_360w_270h.png" group-title="TV",TV One
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/13010
|
||||
|
||||
#EXTINF:-1 tvg-chno="157" tvg-id="USA.Network.HD.us2" tvg-name="USA East" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11207_dark_360w_270h.png" group-title="TV",USA East
|
||||
#EXTINF:-1 tvg-chno="156" tvg-id="USA.Network.HD.us2" tvg-name="USA East" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11207_dark_360w_270h.png" group-title="TV",USA East
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/3390
|
||||
|
||||
#EXTINF:-1 tvg-chno="158" tvg-id="VH1.HD.us2" tvg-name="VH1" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11218_dark_360w_270h.png" group-title="TV",VH1
|
||||
#EXTINF:-1 tvg-chno="157" tvg-id="VH1.HD.us2" tvg-name="VH1" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11218_dark_360w_270h.png" group-title="TV",VH1
|
||||
http://23.237.104.106:8080/USA_VH1/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="159" tvg-id="Vice.HD.us2" tvg-name="Vice TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s18822_dark_360w_270h.png" group-title="TV",Vice TV
|
||||
#EXTINF:-1 tvg-chno="158" tvg-id="Vice.HD.us2" tvg-name="Vice TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s18822_dark_360w_270h.png" group-title="TV",Vice TV
|
||||
http://23.237.104.106:8080/USA_VICETV/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="160" tvg-id="WE.tv.HD.us2" tvg-name="We Tv" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16409_dark_360w_270h.png" group-title="TV",We Tv
|
||||
#EXTINF:-1 tvg-chno="159" tvg-id="WE.tv.HD.us2" tvg-name="We Tv" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16409_dark_360w_270h.png" group-title="TV",We Tv
|
||||
http://23.237.104.106:8080/USA_WE_TV/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="161" tvg-id="Willow.Cricket.HD.us2" tvg-name="Willow Cricket" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s68605_dark_360w_270h.png" group-title="TV",Willow Cricket
|
||||
#EXTINF:-1 tvg-chno="160" tvg-id="Willow.Cricket.HD.us2" tvg-name="Willow Cricket" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s68605_dark_360w_270h.png" group-title="TV",Willow Cricket
|
||||
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/296763
|
||||
|
||||
#EXTINF:-1 tvg-chno="162" tvg-id="Yes.Network.us2" tvg-name="YES Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s30017_dark_360w_270h.png" group-title="TV",YES Network
|
||||
#EXTINF:-1 tvg-chno="161" tvg-id="Yes.Network.us2" tvg-name="YES Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s30017_dark_360w_270h.png" group-title="TV",YES Network
|
||||
http://23.237.104.106:8080/USA_YES_NETWORK/index.m3u8
|
||||
|
|
|
|||
4688
M3U8/events.m3u8
4688
M3U8/events.m3u8
File diff suppressed because it is too large
Load diff
|
|
@ -10,6 +10,7 @@ from scrapers import (
|
|||
fawa,
|
||||
fsports,
|
||||
istreameast,
|
||||
livetvsx,
|
||||
mainportal,
|
||||
ovogoal,
|
||||
pawa,
|
||||
|
|
@ -69,6 +70,7 @@ async def main() -> None:
|
|||
httpx_tasks = [
|
||||
asyncio.create_task(fawa.scrape()),
|
||||
asyncio.create_task(istreameast.scrape()),
|
||||
# asyncio.create_task(livetvsx.scrape()),
|
||||
asyncio.create_task(mainportal.scrape()),
|
||||
asyncio.create_task(ovogoal.scrape()),
|
||||
asyncio.create_task(pawa.scrape()),
|
||||
|
|
@ -101,6 +103,7 @@ async def main() -> None:
|
|||
| fawa.urls
|
||||
| fsports.urls
|
||||
| istreameast.urls
|
||||
| livetvsx.urls
|
||||
| mainportal.urls
|
||||
| ovogoal.urls
|
||||
| pawa.urls
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ async def scrape(browser: Browser) -> None:
|
|||
entry = {
|
||||
"url": url,
|
||||
"logo": logo,
|
||||
"base": "https://hoca6.com/",
|
||||
"base": "https://exposestrat.com/",
|
||||
"timestamp": ts,
|
||||
"id": tvg_id or "Live.Event.us",
|
||||
"link": link,
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ async def scrape(browser: Browser) -> None:
|
|||
entry = {
|
||||
"url": url,
|
||||
"logo": logo,
|
||||
"base": "https://hoca6.com/",
|
||||
"base": "https://exposestrat.com/",
|
||||
"timestamp": now.timestamp(),
|
||||
"id": tvg_id or "Live.Event.us",
|
||||
"link": link,
|
||||
|
|
|
|||
193
M3U8/scrapers/livetvsx.py
Normal file
193
M3U8/scrapers/livetvsx.py
Normal file
|
|
@ -0,0 +1,193 @@
|
|||
import re
|
||||
from functools import partial
|
||||
from urllib.parse import urljoin
|
||||
|
||||
from selectolax.parser import HTMLParser
|
||||
|
||||
from .utils import Cache, Time, get_logger, leagues, network
|
||||
|
||||
log = get_logger(__name__)
|
||||
|
||||
urls: dict[str, dict[str, str | float]] = {}
|
||||
|
||||
TAG = "LTVSX"
|
||||
|
||||
CACHE_FILE = Cache(TAG, exp=3_600)
|
||||
|
||||
BASE_URL = "https://livetv.sx"
|
||||
|
||||
|
||||
async def process_event(url: str, url_num: int) -> tuple[str | None, str | None]:
|
||||
nones = None, None
|
||||
|
||||
r = await network.unvd_client.get(url)
|
||||
|
||||
if r.status_code != 200:
|
||||
log.warning(f"{url_num}) Failed to get event data.")
|
||||
return nones
|
||||
|
||||
soup_1 = HTMLParser(r.content)
|
||||
|
||||
for a_elem in soup_1.css("a"):
|
||||
if not (src_title := a_elem.attributes.get("title")) or (
|
||||
"aliez" not in src_title.lower()
|
||||
):
|
||||
continue
|
||||
|
||||
href = a_elem.attributes["href"]
|
||||
|
||||
event_url = href if href.startswith("http") else f"https:{href}"
|
||||
break
|
||||
|
||||
else:
|
||||
log.warning(f"URL {url_num}) No valid sources found.")
|
||||
return nones
|
||||
|
||||
if not (ev_data := await network.request(event_url, log=log)):
|
||||
log.warning(f"URL {url_num}) Failed to load url. (EVD2)")
|
||||
return nones
|
||||
|
||||
soup_2 = HTMLParser(ev_data.content)
|
||||
|
||||
ifr_1 = soup_2.css_first("tr > td > iframe")
|
||||
|
||||
if not ifr_1 or not (ifr_1_src := ifr_1.attributes.get("src")):
|
||||
log.warning(f"URL {url_num}) No iframe element found.")
|
||||
return nones
|
||||
|
||||
ifr_1_src = "".join(
|
||||
(ifr_1_src if ifr_1_src.startswith("http") else f"https:{ifr_1_src}").split()
|
||||
)
|
||||
|
||||
if not (ev_data_3 := await network.request(ifr_1_src, log=log)):
|
||||
log.warning(f"URL {url_num}) Failed to load url. (EVD3)")
|
||||
return nones
|
||||
|
||||
pattern = re.compile(r'pl\.init\((\'|\")([^"]*)(\'|\")\)', re.I)
|
||||
|
||||
if not (match := pattern.search(ev_data_3.text)):
|
||||
log.warning(f"URL {url_num}) No M3U8 source found.")
|
||||
return nones
|
||||
|
||||
log.info(f"URL {url_num}) Captured M3U8")
|
||||
|
||||
m3u: str = match[2] if match[2].startswith("http") else f"https:{match[2]}"
|
||||
|
||||
return m3u, ifr_1_src
|
||||
|
||||
|
||||
async def get_events(cached_keys: list[str]) -> list[dict[str, str]]:
|
||||
events = []
|
||||
|
||||
r = await network.unvd_client.get(
|
||||
urljoin(BASE_URL, "export/webmasters.php"),
|
||||
params={"lang": "en"},
|
||||
)
|
||||
|
||||
if r.status_code != 200:
|
||||
log.warning("Failed to get php data.")
|
||||
return events
|
||||
|
||||
soup = HTMLParser(r.content)
|
||||
|
||||
if not (table := soup.css_first("table.tbl")):
|
||||
return events
|
||||
|
||||
for row in table.css("tr > td"):
|
||||
if not (event_tbl := row.css_first("table")):
|
||||
continue
|
||||
|
||||
sport_elem = event_tbl.css_first(".spr")
|
||||
league_elem = event_tbl.css_first(".cmp")
|
||||
link_elem = event_tbl.css_first("a.title")
|
||||
event_id_elem = row.css_first("div[id^='el']")
|
||||
|
||||
if not (league_elem and sport_elem and link_elem and event_id_elem):
|
||||
continue
|
||||
|
||||
elif not (event_id := event_id_elem.attributes.get("id")):
|
||||
continue
|
||||
|
||||
sport = sport_elem.text(strip=True)
|
||||
league = league_elem.text(strip=True)
|
||||
event_name = link_elem.text(strip=True)
|
||||
|
||||
if f"[{sport} - {league}] {event_name} ({TAG})" in cached_keys:
|
||||
continue
|
||||
|
||||
events.append(
|
||||
{
|
||||
"sport": sport,
|
||||
"league": league,
|
||||
"event": event_name,
|
||||
"link": urljoin(BASE_URL, f"cache/links/en.{event_id[2:]}.html"),
|
||||
}
|
||||
)
|
||||
|
||||
return events
|
||||
|
||||
|
||||
async def scrape() -> None:
|
||||
cached_urls = CACHE_FILE.load()
|
||||
|
||||
valid_urls = {k: v for k, v in cached_urls.items() if v["url"]}
|
||||
|
||||
valid_count = cached_count = len(valid_urls)
|
||||
|
||||
urls.update(valid_urls)
|
||||
|
||||
log.info(f"Loaded {cached_count} event(s) from cache")
|
||||
|
||||
log.info('Scraping from "https://livetv.sx/enx/"')
|
||||
|
||||
if events := await get_events(cached_urls.keys()):
|
||||
log.info(f"Processing {len(events)} new URL(s)")
|
||||
|
||||
now = Time.clean(Time.now())
|
||||
|
||||
for i, ev in enumerate(events, start=1):
|
||||
handler = partial(
|
||||
process_event,
|
||||
url=(link := ev["link"]),
|
||||
url_num=i,
|
||||
)
|
||||
|
||||
url, iframe = await network.safe_process(
|
||||
handler,
|
||||
url_num=i,
|
||||
semaphore=network.HTTP_S,
|
||||
log=log,
|
||||
)
|
||||
|
||||
sport, league, event = (
|
||||
ev["sport"],
|
||||
ev["league"],
|
||||
ev["event"],
|
||||
)
|
||||
|
||||
key = f"[{sport} - {league}] {event} ({TAG})"
|
||||
|
||||
tvg_id, logo = leagues.get_tvg_info(sport, event)
|
||||
|
||||
entry = {
|
||||
"url": url,
|
||||
"logo": logo,
|
||||
"base": iframe,
|
||||
"timestamp": now.timestamp(),
|
||||
"id": tvg_id or "Live.Event.us",
|
||||
"link": link,
|
||||
}
|
||||
|
||||
cached_urls[key] = entry
|
||||
|
||||
if url:
|
||||
valid_count += 1
|
||||
|
||||
urls[key] = entry
|
||||
|
||||
log.info(f"Collected and cached {valid_count - cached_count} new event(s)")
|
||||
|
||||
else:
|
||||
log.info("No new events found")
|
||||
|
||||
CACHE_FILE.write(cached_urls)
|
||||
|
|
@ -10,7 +10,7 @@ urls: dict[str, dict[str, str | float]] = {}
|
|||
|
||||
TAG = "STRMCNTR"
|
||||
|
||||
CACHE_FILE = Cache(TAG, exp=86_400)
|
||||
CACHE_FILE = Cache(TAG, exp=28_800)
|
||||
|
||||
API_URL = "https://backend.streamcenter.live/api/Parties"
|
||||
|
||||
|
|
|
|||
|
|
@ -97,14 +97,9 @@ async def process_event(
|
|||
pass
|
||||
|
||||
if captured:
|
||||
if "smarthard.click" not in (m3u8 := captured[0]).lower():
|
||||
log.warning(f"URL {url_num}) Invalid M3U8 found.")
|
||||
|
||||
return
|
||||
|
||||
log.info(f"URL {url_num}) Captured M3U8")
|
||||
|
||||
return m3u8
|
||||
return captured[0]
|
||||
|
||||
log.warning(f"URL {url_num}) No M3U8 captured after waiting.")
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ urls: dict[str, dict[str, str | float]] = {}
|
|||
|
||||
TAG = "STRMSGATE"
|
||||
|
||||
CACHE_FILE = Cache(TAG, exp=19_800)
|
||||
CACHE_FILE = Cache(TAG, exp=28_800)
|
||||
|
||||
BASE_URL = "https://streamsgates.io"
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -3,9 +3,6 @@ UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Ge
|
|||
MAX_JOBS=10
|
||||
BASE_FILE="./M3U8/base.m3u8"
|
||||
README="./readme.md"
|
||||
|
||||
[[ ! -f "$BASE_FILE" ]] && exit 1
|
||||
|
||||
STATUSLOG=$(mktemp)
|
||||
|
||||
get_status() {
|
||||
|
|
@ -140,6 +137,8 @@ write_readme() {
|
|||
} >"$README"
|
||||
}
|
||||
|
||||
[[ ! -f "$BASE_FILE" ]] && exit 1
|
||||
|
||||
check_links
|
||||
write_readme
|
||||
rm "$STATUSLOG"
|
||||
|
|
|
|||
10
readme.md
10
readme.md
|
|
@ -1,16 +1,10 @@
|
|||
## Base Log @ 2026-05-03 15:10 UTC
|
||||
## Base Log @ 2026-05-02 15:31 UTC
|
||||
|
||||
### ✅ Working Streams: 155<br>❌ Dead Streams: 7
|
||||
### ✅ Working Streams: 160<br>❌ Dead Streams: 1
|
||||
|
||||
| Channel | Error (Code) | Link |
|
||||
| ------- | ------------ | ---- |
|
||||
| ESPN | HTTP Error (404) | `http://41.205.93.154/ESPN/index.m3u8` |
|
||||
| FDSN SoCal | HTTP Error (404) | `http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/296681` |
|
||||
| NBC Sports Boston | HTTP Error (404) | `http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/35132` |
|
||||
| NewsNation | HTTP Error (404) | `http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/6296` |
|
||||
| Nick Jr | HTTP Error (404) | `http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/14835` |
|
||||
| Smithsonian Channel | HTTP Error (404) | `http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/8585` |
|
||||
| SportsNet New York | HTTP Error (404) | `http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/267219` |
|
||||
---
|
||||
#### Base Channels URL
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue