Compare commits

...

36 commits

Author SHA1 Message Date
GitHub Actions Bot
fb9b5016ac update M3U8 2026-05-03 15:01:03 -04:00
GitHub Actions Bot
66118956cb update M3U8 2026-05-03 14:31:18 -04:00
GitHub Actions Bot
5c6b1bbeba update M3U8 2026-05-03 14:00:37 -04:00
GitHub Actions Bot
cb9fd755e0 update M3U8 2026-05-03 13:33:04 -04:00
GitHub Actions Bot
efa6c7b65b update M3U8 2026-05-03 13:00:41 -04:00
GitHub Actions Bot
65972bb558 update M3U8 2026-05-03 12:00:54 -04:00
GitHub Actions Bot
18037e553a health log 2026-05-03 15:10:55 +00:00
GitHub Actions Bot
4a87a059c6 update M3U8 2026-05-03 11:00:51 -04:00
GitHub Actions Bot
f4b0240c1b update M3U8 2026-05-03 10:01:00 -04:00
GitHub Actions Bot
b2ad73a178 update M3U8 2026-05-03 09:01:03 -04:00
GitHub Actions Bot
d8f7ab756f update M3U8 2026-05-03 08:06:08 -04:00
GitHub Actions Bot
cb44e3d3ea update EPG 2026-05-03 11:26:06 +00:00
GitHub Actions Bot
bee0434d16 health log 2026-05-03 09:46:07 +00:00
GitHub Actions Bot
021365acad update EPG 2026-05-03 05:45:53 +00:00
GitHub Actions Bot
99d7b07961 health log 2026-05-03 05:42:39 +00:00
GitHub Actions Bot
0cec6118df update M3U8 2026-05-02 23:30:15 -04:00
GitHub Actions Bot
6973d5d371 update M3U8 2026-05-02 23:00:53 -04:00
GitHub Actions Bot
1b58a76e1f update M3U8 2026-05-02 22:30:26 -04:00
GitHub Actions Bot
dc88223cf1 update M3U8 2026-05-02 22:00:54 -04:00
GitHub Actions Bot
12e64b475a update M3U8 2026-05-02 21:30:24 -04:00
GitHub Actions Bot
1b50c4295d update M3U8 2026-05-02 21:00:56 -04:00
GitHub Actions Bot
946f9c3d3c update M3U8 2026-05-02 20:31:25 -04:00
GitHub Actions Bot
a83d8d8463 update M3U8 2026-05-02 20:01:10 -04:00
GitHub Actions Bot
8f02440183 update M3U8 2026-05-02 19:32:28 -04:00
GitHub Actions Bot
909ea7e5b5 update M3U8 2026-05-02 19:01:12 -04:00
GitHub Actions Bot
f6f5e4f41c update M3U8 2026-05-02 18:30:41 -04:00
GitHub Actions Bot
7b54a88bfb health log 2026-05-02 18:04:11 -04:00
GitHub Actions Bot
37058bd3c3 update M3U8 2026-05-02 18:01:09 -04:00
GitHub Actions Bot
575b06acf1 update M3U8 2026-05-02 17:30:32 -04:00
GitHub Actions Bot
d2ded4c932 health log 2026-05-02 21:06:49 +00:00
GitHub Actions Bot
70fbaa1cc4 update M3U8 2026-05-02 17:01:11 -04:00
GitHub Actions Bot
cfadd5b917 update M3U8 2026-05-02 16:30:38 -04:00
GitHub Actions Bot
10d79d1bb5 update M3U8 2026-05-02 16:07:00 -04:00
GitHub Actions Bot
277efd6d4c update EPG 2026-05-02 19:41:51 +00:00
doms9
00000d9c84 e
- misc edits.
2026-05-02 15:39:02 -04:00
GitHub Actions Bot
c8ed911944 update M3U8 2026-05-02 15:30:45 -04:00
14 changed files with 133282 additions and 127955 deletions

File diff suppressed because it is too large Load diff

249071
M3U8/TV.xml

File diff suppressed because one or more lines are too long

View file

@ -387,98 +387,101 @@ 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="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="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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/304775
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/8585
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/5831
#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
#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
http://mytvstream.net:8080/live/88623297/04243674/213668.m3u8
#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
#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
http://mytvstream.net:8080/live/88623297/04243674/31636.m3u8
#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
#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
http://mytvstream.net:8080/live/88623297/04243674/21842.m3u8
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/30847
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/3377
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/1720
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/267219
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/3378
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/59945
#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
#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
http://23.237.104.106:8080/USA_STARZ/index.m3u8
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/25816
#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
#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
http://23.237.104.106:8080/USA_SYFY/index.m3u8
#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
#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
https://turnerlive.warnermediacdn.com/hls/live/2023172/tbseast/slate/VIDEO_0_3564000.m3u8
#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
#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
https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg01444-tennischannelth-tennischnlintl-lggb/playlist.m3u8
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/2361
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/2362
#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
#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
https://turnerlive.warnermediacdn.com/hls/live/2023168/tnteast/slate/VIDEO_0_3564000.m3u8
#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
#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
https://turnerlive.warnermediacdn.com/hls/live/2023176/trueast/slate/VIDEO_0_3564000.m3u8
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/770
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/771
#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
#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
https://turnerlive.warnermediacdn.com/hls/live/2023186/tcmeast/noslate/VIDEO_1_5128000.m3u8
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/2364
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/13010
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/3390
#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
#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
http://23.237.104.106:8080/USA_VH1/index.m3u8
#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
#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
http://23.237.104.106:8080/USA_VICETV/index.m3u8
#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
#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
http://23.237.104.106:8080/USA_WE_TV/index.m3u8
#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
#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
http://aflaxtv.xyz:8080/mitrovic/19106b7cb4/296763
#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
#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
http://23.237.104.106:8080/USA_YES_NETWORK/index.m3u8

File diff suppressed because it is too large Load diff

View file

@ -10,7 +10,6 @@ from scrapers import (
fawa,
fsports,
istreameast,
livetvsx,
mainportal,
ovogoal,
pawa,
@ -70,7 +69,6 @@ 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()),
@ -103,7 +101,6 @@ async def main() -> None:
| fawa.urls
| fsports.urls
| istreameast.urls
| livetvsx.urls
| mainportal.urls
| ovogoal.urls
| pawa.urls

View file

@ -124,7 +124,7 @@ async def scrape(browser: Browser) -> None:
entry = {
"url": url,
"logo": logo,
"base": "https://exposestrat.com/",
"base": "https://hoca6.com/",
"timestamp": ts,
"id": tvg_id or "Live.Event.us",
"link": link,

View file

@ -104,7 +104,7 @@ async def scrape(browser: Browser) -> None:
entry = {
"url": url,
"logo": logo,
"base": "https://exposestrat.com/",
"base": "https://hoca6.com/",
"timestamp": now.timestamp(),
"id": tvg_id or "Live.Event.us",
"link": link,

View file

@ -1,193 +0,0 @@
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)

View file

@ -10,7 +10,7 @@ urls: dict[str, dict[str, str | float]] = {}
TAG = "STRMCNTR"
CACHE_FILE = Cache(TAG, exp=28_800)
CACHE_FILE = Cache(TAG, exp=86_400)
API_URL = "https://backend.streamcenter.live/api/Parties"

View file

@ -97,9 +97,14 @@ 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 captured[0]
return m3u8
log.warning(f"URL {url_num}) No M3U8 captured after waiting.")

View file

@ -14,7 +14,7 @@ urls: dict[str, dict[str, str | float]] = {}
TAG = "STRMSGATE"
CACHE_FILE = Cache(TAG, exp=28_800)
CACHE_FILE = Cache(TAG, exp=19_800)
BASE_URL = "https://streamsgates.io"

File diff suppressed because it is too large Load diff

View file

@ -3,6 +3,9 @@ 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() {
@ -137,8 +140,6 @@ write_readme() {
} >"$README"
}
[[ ! -f "$BASE_FILE" ]] && exit 1
check_links
write_readme
rm "$STATUSLOG"

View file

@ -1,10 +1,16 @@
## Base Log @ 2026-05-02 15:31 UTC
## Base Log @ 2026-05-03 15:10 UTC
### ✅ Working Streams: 160<br>❌ Dead Streams: 1
### ✅ Working Streams: 155<br>❌ Dead Streams: 7
| 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
```