Compare commits

..

37 commits

Author SHA1 Message Date
GitHub Actions Bot
cdbd02f501 update M3U8 2026-01-30 23:30:59 -05:00
GitHub Actions Bot
36a87ec353 update EPG 2026-01-31 04:18:14 +00:00
GitHub Actions Bot
a611e196b1 health log 2026-01-31 04:15:03 +00:00
GitHub Actions Bot
d1e4d161ce update M3U8 2026-01-30 23:01:25 -05:00
GitHub Actions Bot
0b5811cf0c update M3U8 2026-01-30 21:47:46 -05:00
GitHub Actions Bot
66f39ba51c update M3U8 2026-01-30 21:02:07 -05:00
GitHub Actions Bot
29893ba7fc update M3U8 2026-01-30 20:32:03 -05:00
GitHub Actions Bot
f5e515cdd9 update M3U8 2026-01-30 20:03:44 -05:00
GitHub Actions Bot
d4904a2259 update M3U8 2026-01-30 19:32:42 -05:00
GitHub Actions Bot
50c7f8496c update M3U8 2026-01-30 19:08:00 -05:00
GitHub Actions Bot
bdd976342f update M3U8 2026-01-30 18:31:26 -05:00
GitHub Actions Bot
795e6c6bcc update M3U8 2026-01-30 18:01:19 -05:00
doms9
00000d95d5 e
separate ice hockey tvg id from NHL tvg id
2026-01-30 17:48:08 -05:00
GitHub Actions Bot
35f163a0d7 update M3U8 2026-01-30 17:30:55 -05:00
GitHub Actions Bot
f10a58f77b update M3U8 2026-01-30 17:02:13 -05:00
GitHub Actions Bot
9752b07e9d update M3U8 2026-01-30 16:30:43 -05:00
GitHub Actions Bot
2e5b46074f health log 2026-01-30 16:24:55 -05:00
GitHub Actions Bot
bd5d7aba08 update M3U8 2026-01-30 16:03:55 -05:00
GitHub Actions Bot
eefd371840 health log 2026-01-30 20:53:40 +00:00
GitHub Actions Bot
5b7aed799e update M3U8 2026-01-30 15:31:42 -05:00
GitHub Actions Bot
e459530c0c update M3U8 2026-01-30 15:02:40 -05:00
GitHub Actions Bot
c3f596d44f update M3U8 2026-01-30 14:33:41 -05:00
GitHub Actions Bot
c89188f5e2 update EPG 2026-01-30 19:20:15 +00:00
GitHub Actions Bot
32a832de80 update M3U8 2026-01-30 14:06:11 -05:00
GitHub Actions Bot
015da7d108 update M3U8 2026-01-30 13:33:29 -05:00
GitHub Actions Bot
8097e7f9d2 update M3U8 2026-01-30 13:05:30 -05:00
GitHub Actions Bot
2eb5ca9577 update M3U8 2026-01-30 12:06:07 -05:00
GitHub Actions Bot
240df62f89 update M3U8 2026-01-30 11:03:16 -05:00
GitHub Actions Bot
7c9911d9fb health log 2026-01-30 10:43:04 -05:00
GitHub Actions Bot
508b2fd5e8 update M3U8 2026-01-30 10:02:43 -05:00
GitHub Actions Bot
183c51e175 health log 2026-01-30 15:01:17 +00:00
GitHub Actions Bot
59773f98d7 update M3U8 2026-01-30 09:02:39 -05:00
GitHub Actions Bot
4a8a775b8c update M3U8 2026-01-30 08:03:39 -05:00
GitHub Actions Bot
39eca912ec update EPG 2026-01-30 11:06:38 +00:00
GitHub Actions Bot
db35c76acf health log 2026-01-30 09:04:35 +00:00
doms9
00000d9c63 e 2026-01-29 23:49:29 -05:00
GitHub Actions Bot
7856cd7bc5 update M3U8 2026-01-29 23:31:16 -05:00
10 changed files with 182684 additions and 189774 deletions

File diff suppressed because it is too large Load diff

368596
M3U8/TV.xml

File diff suppressed because one or more lines are too long

View file

@ -135,29 +135,29 @@ http://fl1.moveonjoy.com/ESPN_NEWS/index.m3u8
http://fl1.moveonjoy.com/ESPN_U/index.m3u8 http://fl1.moveonjoy.com/ESPN_U/index.m3u8
#EXTINF:-1 tvg-chno="45" tvg-id="ESPN2.HD.us2" tvg-name="ESPN2" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s12444_dark_360w_270h.png" group-title="TV",ESPN2 #EXTINF:-1 tvg-chno="45" tvg-id="ESPN2.HD.us2" tvg-name="ESPN2" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s12444_dark_360w_270h.png" group-title="TV",ESPN2
http://mytvstream.net:8080/live/bn80NG/909467/2210.m3u8 http://mytvstream.net:8080/live/30550113/30550113/2210.m3u8
#EXTINF:-1 tvg-chno="46" tvg-id="FanDuel.Sports.Network.Detroit.24/7.HDTV.us" tvg-name="FDSN Detroit" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s54286_dark_360w_270h.png" group-title="TV",FDSN Detroit #EXTINF:-1 tvg-chno="46" tvg-id="FanDuel.Sports.Network.Detroit.24/7.HDTV.us" tvg-name="FDSN Detroit" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s54286_dark_360w_270h.png" group-title="TV",FDSN Detroit
http://mytvstream.net:8080/live/bn80NG/909467/20930.m3u8 http://mytvstream.net:8080/live/30550113/30550113/20930.m3u8
#EXTINF:-1 tvg-chno="47" tvg-id="FanDuel.Sports.Network.Florida.HDTV.(Out.of.Market).us" tvg-name="FDSN Florida" tvg-logo="https://i.gyazo.com/fad701fbaaafe161b13b23ed9b50179b.png" group-title="TV",FDSN Florida #EXTINF:-1 tvg-chno="47" tvg-id="FanDuel.Sports.Network.Florida.HDTV.(Out.of.Market).us" tvg-name="FDSN Florida" tvg-logo="https://i.gyazo.com/fad701fbaaafe161b13b23ed9b50179b.png" group-title="TV",FDSN Florida
http://mytvstream.net:8080/live/bn80NG/909467/46794.m3u8 http://mytvstream.net:8080/live/30550113/30550113/46794.m3u8
#EXTINF:-1 tvg-chno="48" tvg-id="FanDuel.Sports.Network.Midwest.24/7.HDTV.us" tvg-name="FDSN Midwest" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11058_dark_360w_270h.png" group-title="TV",FDSN Midwest #EXTINF:-1 tvg-chno="48" tvg-id="FanDuel.Sports.Network.Midwest.24/7.HDTV.us" tvg-name="FDSN Midwest" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11058_dark_360w_270h.png" group-title="TV",FDSN Midwest
http://mytvstream.net:8080/live/bn80NG/909467/66795.m3u8 http://mytvstream.net:8080/live/30550113/30550113/66795.m3u8
#EXTINF:-1 tvg-chno="49" tvg-id="FanDuel.Sports.Network.North.HDTV.us" tvg-name="FDSN North" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10977_dark_360w_270h.png" group-title="TV",FDSN North #EXTINF:-1 tvg-chno="49" tvg-id="FanDuel.Sports.Network.North.HDTV.us" tvg-name="FDSN North" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10977_dark_360w_270h.png" group-title="TV",FDSN North
http://mytvstream.net:8080/live/bn80NG/909467/58827.m3u8 http://mytvstream.net:8080/live/30550113/30550113/58827.m3u8
#EXTINF:-1 tvg-chno="50" tvg-id="FanDuel.Sports.Network.Ohio.(Cleveland).HDTV.us" tvg-name="FDSN Ohio" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s49691_dark_360w_270h.png" group-title="TV",FDSN Ohio #EXTINF:-1 tvg-chno="50" tvg-id="FanDuel.Sports.Network.Ohio.(Cleveland).HDTV.us" tvg-name="FDSN Ohio" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s49691_dark_360w_270h.png" group-title="TV",FDSN Ohio
#EXTVLCOPT:http-user-agent=curl/8.5.0 #EXTVLCOPT:http-user-agent=curl/8.5.0
http://lucidhosting.xyz:82/sandriassoc@gmail.com/Sm8G4ddxoW/222126 http://lucidhosting.xyz:82/sandriassoc@gmail.com/Sm8G4ddxoW/222126
#EXTINF:-1 tvg-chno="51" tvg-id="FanDuel.Sports.Network.Oklahoma.24/7.HDTV.(Tulsa).us" tvg-name="FDSN Oklahoma" tvg-logo="https://i.gyazo.com/80ad6fd142cd67f06eef58d9ce5aa72b.png" group-title="TV",FDSN Oklahoma #EXTINF:-1 tvg-chno="51" tvg-id="FanDuel.Sports.Network.Oklahoma.24/7.HDTV.(Tulsa).us" tvg-name="FDSN Oklahoma" tvg-logo="https://i.gyazo.com/80ad6fd142cd67f06eef58d9ce5aa72b.png" group-title="TV",FDSN Oklahoma
http://mytvstream.net:8080/live/bn80NG/909467/20934.m3u8 http://mytvstream.net:8080/live/30550113/30550113/20934.m3u8
#EXTINF:-1 tvg-chno="52" tvg-id="FanDuel.Sports.Network.SoCal.HDTV.us" tvg-name="FDSN SoCal" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16743_dark_360w_270h.png" group-title="TV",FDSN SoCal #EXTINF:-1 tvg-chno="52" tvg-id="FanDuel.Sports.Network.SoCal.HDTV.us" tvg-name="FDSN SoCal" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16743_dark_360w_270h.png" group-title="TV",FDSN SoCal
http://mytvstream.net:8080/live/bn80NG/909467/221151.m3u8 http://mytvstream.net:8080/live/30550113/30550113/221151.m3u8
#EXTINF:-1 tvg-chno="53" tvg-id="FanDuel.Sports.Network.Southeast.HDTV.(Mont./Birm./Dothan/Mobile.AL).us" tvg-name="FDSN Southeast" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s20789_dark_360w_270h.png" group-title="TV",FDSN Southeast #EXTINF:-1 tvg-chno="53" tvg-id="FanDuel.Sports.Network.Southeast.HDTV.(Mont./Birm./Dothan/Mobile.AL).us" tvg-name="FDSN Southeast" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s20789_dark_360w_270h.png" group-title="TV",FDSN Southeast
#EXTVLCOPT:http-user-agent=curl/8.5.0 #EXTVLCOPT:http-user-agent=curl/8.5.0
@ -172,10 +172,10 @@ http://lucidhosting.xyz:82/sandriassoc@gmail.com/Sm8G4ddxoW/220452
http://lucidhosting.xyz:82/sandriassoc@gmail.com/Sm8G4ddxoW/222132 http://lucidhosting.xyz:82/sandriassoc@gmail.com/Sm8G4ddxoW/222132
#EXTINF:-1 tvg-chno="56" tvg-id="FanDuel.Sports.Network.West.HDTV.us" tvg-name="FDSN West" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s59627_dark_360w_270h.png" group-title="TV",FDSN West #EXTINF:-1 tvg-chno="56" tvg-id="FanDuel.Sports.Network.West.HDTV.us" tvg-name="FDSN West" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s59627_dark_360w_270h.png" group-title="TV",FDSN West
http://mytvstream.net:8080/live/bn80NG/909467/20932.m3u8 http://mytvstream.net:8080/live/30550113/30550113/20932.m3u8
#EXTINF:-1 tvg-chno="57" tvg-id="FanDuel.Sports.Network.Wisconsin.24/7.HDTV.us" tvg-name="FDSN Wisconsin" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16348_dark_360w_270h.png" group-title="TV",FDSN Wisconsin #EXTINF:-1 tvg-chno="57" tvg-id="FanDuel.Sports.Network.Wisconsin.24/7.HDTV.us" tvg-name="FDSN Wisconsin" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16348_dark_360w_270h.png" group-title="TV",FDSN Wisconsin
http://mytvstream.net:8080/live/bn80NG/909467/78599.m3u8 http://mytvstream.net:8080/live/30550113/30550113/78599.m3u8
#EXTINF:-1 tvg-chno="58" tvg-id="plex.tv.FIFA+.plex" tvg-name="FIFA+ TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s136235_dark_360w_270h.png" group-title="TV",FIFA+ TV #EXTINF:-1 tvg-chno="58" tvg-id="plex.tv.FIFA+.plex" tvg-name="FIFA+ TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s136235_dark_360w_270h.png" group-title="TV",FIFA+ TV
https://jmp2.uk/stvp-IN270000230 https://jmp2.uk/stvp-IN270000230
@ -302,10 +302,10 @@ https://fl1.moveonjoy.com/FL_Tampa_NBC/index.m3u8
http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/257216 http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/257216
#EXTINF:-1 tvg-chno="99" tvg-id="NBC.Sports.Boston.HD.us2" tvg-name="NBC Sports Boston" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s49198_dark_360w_270h.png" group-title="TV",NBC Sports Boston #EXTINF:-1 tvg-chno="99" tvg-id="NBC.Sports.Boston.HD.us2" tvg-name="NBC Sports Boston" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s49198_dark_360w_270h.png" group-title="TV",NBC Sports Boston
http://mytvstream.net:8080/live/bn80NG/909467/20939.m3u8 http://mytvstream.net:8080/live/30550113/30550113/20939.m3u8
#EXTINF:-1 tvg-chno="100" tvg-id="NBC.Sports.California.SAT.us2" tvg-name="NBC Sports California" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s45540_dark_360w_270h.png" group-title="TV",NBC Sports California #EXTINF:-1 tvg-chno="100" tvg-id="NBC.Sports.California.SAT.us2" tvg-name="NBC Sports California" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s45540_dark_360w_270h.png" group-title="TV",NBC Sports California
http://mytvstream.net:8080/live/bn80NG/909467/20940.m3u8 http://mytvstream.net:8080/live/30550113/30550113/20940.m3u8
#EXTINF:-1 tvg-chno="101" tvg-id="a90a91570ce0536cbb22b591ad7e0da2" tvg-name="NBC Sports NOW" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s114140_dark_360w_270h.png" group-title="TV",NBC Sports NOW #EXTINF:-1 tvg-chno="101" tvg-id="a90a91570ce0536cbb22b591ad7e0da2" tvg-name="NBC Sports NOW" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s114140_dark_360w_270h.png" group-title="TV",NBC Sports NOW
https://jmp2.uk/stvp-USBD420002446 https://jmp2.uk/stvp-USBD420002446
@ -314,7 +314,7 @@ https://jmp2.uk/stvp-USBD420002446
http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/136477 http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/136477
#EXTINF:-1 tvg-chno="103" tvg-id="New.England.Sports.Network.HD.us2" tvg-name="NESN" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s35038_dark_360w_270h.png" group-title="TV",NESN #EXTINF:-1 tvg-chno="103" tvg-id="New.England.Sports.Network.HD.us2" tvg-name="NESN" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s35038_dark_360w_270h.png" group-title="TV",NESN
http://mytvstream.net:8080/live/bn80NG/909467/46726.m3u8 http://mytvstream.net:8080/live/30550113/30550113/46726.m3u8
#EXTINF:-1 tvg-chno="104" tvg-id="NewsNation.us2" tvg-name="NewsNation" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s91096_dark_360w_270h.png" group-title="TV",NewsNation #EXTINF:-1 tvg-chno="104" tvg-id="NewsNation.us2" tvg-name="NewsNation" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s91096_dark_360w_270h.png" group-title="TV",NewsNation
http://fl1.moveonjoy.com/NEWS_NATION/index.m3u8 http://fl1.moveonjoy.com/NEWS_NATION/index.m3u8
@ -371,7 +371,7 @@ http://fl1.moveonjoy.com/SMITHSONIAN_CHANNEL/index.m3u8
http://fl1.moveonjoy.com/Sony_Movie_Channel/index.m3u8 http://fl1.moveonjoy.com/Sony_Movie_Channel/index.m3u8
#EXTINF:-1 tvg-chno="122" 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="122" 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/bn80NG/909467/213668.m3u8 http://mytvstream.net:8080/live/30550113/30550113/213668.m3u8
#EXTINF:-1 tvg-chno="123" 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="123" 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://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/141497 http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/141497
@ -383,13 +383,13 @@ http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/141498
http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/21635 http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/21635
#EXTINF:-1 tvg-chno="126" 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="126" 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://mytvstream.net:8080/live/bn80NG/909467/57298.m3u8 http://mytvstream.net:8080/live/30550113/30550113/57298.m3u8
#EXTINF:-1 tvg-chno="127" 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="127" 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
https://fl1.moveonjoy.com/SNY/index.m3u8 https://fl1.moveonjoy.com/SNY/index.m3u8
#EXTINF:-1 tvg-chno="128" 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="128" 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://mytvstream.net:8080/live/bn80NG/909467/57297.m3u8 http://mytvstream.net:8080/live/30550113/30550113/57297.m3u8
#EXTINF:-1 tvg-chno="129" tvg-id="Sportsnet.Ontario.HD.ca2" tvg-name="Sportsnet Ontario" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s62111_dark_360w_270h.png" group-title="TV",Sportsnet Ontario #EXTINF:-1 tvg-chno="129" tvg-id="Sportsnet.Ontario.HD.ca2" tvg-name="Sportsnet Ontario" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s62111_dark_360w_270h.png" group-title="TV",Sportsnet Ontario
https://stream.decentdoubts.net/801/index.m3u8?token=cTREYWhzaWIxOWlhZ3BpcWh0MkduTVdzcGNpdXk2eURxN21hbktxa200TERxNEduaVp1UnBxU2VlWmF0ZnRlRGxaMm0wNStDbnJOOXJJM0puSytpbkE9PQ== https://stream.decentdoubts.net/801/index.m3u8?token=cTREYWhzaWIxOWlhZ3BpcWh0MkduTVdzcGNpdXk2eURxN21hbktxa200TERxNEduaVp1UnBxU2VlWmF0ZnRlRGxaMm0wNStDbnJOOXJJM0puSytpbkE9PQ==
@ -410,7 +410,7 @@ https://turnerlive.warnermediacdn.com/hls/live/2023172/tbseast/slate/VIDEO_0_356
https://fl1.moveonjoy.com/TENNIS_CHANNEL/index.m3u8 https://fl1.moveonjoy.com/TENNIS_CHANNEL/index.m3u8
#EXTINF:-1 tvg-chno="135" 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="135" 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://mytvstream.net:8080/live/bn80NG/909467/18926.m3u8 http://mytvstream.net:8080/live/30550113/30550113/18926.m3u8
#EXTINF:-1 tvg-chno="136" 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="136" 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://fl1.moveonjoy.com/TLC/index.m3u8 http://fl1.moveonjoy.com/TLC/index.m3u8

View file

@ -5,7 +5,7 @@ import re
from pathlib import Path from pathlib import Path
from xml.etree import ElementTree as ET from xml.etree import ElementTree as ET
from scrapers.utils import get_logger, network from scrapers.utils import get_logger, leagues, network
log = get_logger(__name__) log = get_logger(__name__)
@ -13,8 +13,6 @@ BASE_M3U8 = Path(__file__).parent / "base.m3u8"
EPG_FILE = Path(__file__).parent / "TV.xml" EPG_FILE = Path(__file__).parent / "TV.xml"
LIVE_IMG = "https://i.gyazo.com/978f2eb4a199ca5b56b447aded0cb9e3.png"
EPG_URLS = { EPG_URLS = {
"https://epgshare01.online/epgshare01/epg_ripper_CA2.xml.gz", "https://epgshare01.online/epgshare01/epg_ripper_CA2.xml.gz",
"https://epgshare01.online/epgshare01/epg_ripper_DUMMY_CHANNELS.xml.gz", "https://epgshare01.online/epgshare01/epg_ripper_DUMMY_CHANNELS.xml.gz",
@ -27,23 +25,33 @@ EPG_URLS = {
} }
DUMMIES = { DUMMIES = {
"Basketball.Dummy.us": LIVE_IMG, "Basketball.Dummy.us": leagues.live_img,
"Golf.Dummy.us": LIVE_IMG, "Golf.Dummy.us": leagues.live_img,
"Live.Event.us": LIVE_IMG, "Live.Event.us": leagues.live_img,
"MLB.Baseball.Dummy.us": None, "MLB.Baseball.Dummy.us": None,
"NBA.Basketball.Dummy.us": None, "NBA.Basketball.Dummy.us": None,
"NFL.Dummy.us": None, "NFL.Dummy.us": None,
"NHL.Hockey.Dummy.us": None, "NHL.Hockey.Dummy.us": None,
"PPV.EVENTS.Dummy.us": LIVE_IMG, "PPV.EVENTS.Dummy.us": leagues.live_img,
"Racing.Dummy.us": LIVE_IMG, "Racing.Dummy.us": leagues.live_img,
"Soccer.Dummy.us": LIVE_IMG, "Soccer.Dummy.us": leagues.live_img,
"Tennis.Dummy.us": LIVE_IMG, "Tennis.Dummy.us": leagues.live_img,
"WNBA.dummy.us": None, "WNBA.dummy.us": None,
} }
REPLACE_IDs = { REPLACE_IDs = {
"NCAA Sports": {"old": "Sports.Dummy.us", "new": "NCAA.Sports.Dummy.us"}, "Ice Hockey": {
"UFC": {"old": "UFC.247.Dummy.us", "new": "UFC.Dummy.us"}, "old": "Minor.League.Hockey.Dummy.us",
"new": "Ice.Hockey.Dummy.us",
},
"NCAA Sports": {
"old": "Sports.Dummy.us",
"new": "NCAA.Sports.Dummy.us",
},
"UFC": {
"old": "UFC.247.Dummy.us",
"new": "UFC.Dummy.us",
},
} }
@ -62,7 +70,7 @@ def get_tvg_ids() -> dict[str, str]:
tvg |= DUMMIES tvg |= DUMMIES
tvg |= {v["old"]: LIVE_IMG for v in REPLACE_IDs.values()} tvg |= {v["old"]: leagues.live_img for v in REPLACE_IDs.values()}
return tvg return tvg
@ -71,14 +79,14 @@ async def fetch_xml(url: str) -> ET.Element | None:
if not (xml_data := await network.request(url, log=log)): if not (xml_data := await network.request(url, log=log)):
return return
try:
log.info(f'Parsing XML from "{url}"') log.info(f'Parsing XML from "{url}"')
try:
data = gzip.decompress(xml_data.content) data = gzip.decompress(xml_data.content)
return ET.fromstring(data) return ET.fromstring(data)
except Exception as e: except Exception as e:
log.error(f'Failed to parse from "{url}": {e}') log.error(f'Failed to parse XML from "{url}": {e}')
return return
@ -176,7 +184,7 @@ async def main() -> None:
for title, ids in REPLACE_IDs.items(): for title, ids in REPLACE_IDs.items():
hijack_id(root, **ids, text=title) hijack_id(root, **ids, text=title)
if missing_ids := set(tvg_ids) - parsed_tvg_ids: if missing_ids := tvg_ids.keys() - parsed_tvg_ids:
log.warning(f"Missed {len(missing_ids)} TVG ID(s)") log.warning(f"Missed {len(missing_ids)} TVG ID(s)")
for channel_id in missing_ids: for channel_id in missing_ids:
@ -196,10 +204,6 @@ async def main() -> None:
if __name__ == "__main__": if __name__ == "__main__":
asyncio.run(main()) asyncio.run(main())
for hndlr in log.handlers:
hndlr.flush()
hndlr.stream.write("\n")
try: try:
asyncio.run(network.client.aclose()) asyncio.run(network.client.aclose())
except Exception: except Exception:

File diff suppressed because it is too large Load diff

View file

@ -69,7 +69,7 @@ async def main() -> None:
asyncio.create_task(ppv.scrape(xtrnl_brwsr)), asyncio.create_task(ppv.scrape(xtrnl_brwsr)),
asyncio.create_task(sport9.scrape(xtrnl_brwsr)), asyncio.create_task(sport9.scrape(xtrnl_brwsr)),
asyncio.create_task(streamcenter.scrape(xtrnl_brwsr)), asyncio.create_task(streamcenter.scrape(xtrnl_brwsr)),
# asyncio.create_task(streamhub.scrape(xtrnl_brwsr)), asyncio.create_task(streamhub.scrape(xtrnl_brwsr)),
asyncio.create_task(streamsgate.scrape(xtrnl_brwsr)), asyncio.create_task(streamsgate.scrape(xtrnl_brwsr)),
asyncio.create_task(totalsportek.scrape(hdl_brwsr)), asyncio.create_task(totalsportek.scrape(hdl_brwsr)),
asyncio.create_task(webcast.scrape(hdl_brwsr)), asyncio.create_task(webcast.scrape(hdl_brwsr)),
@ -82,7 +82,7 @@ async def main() -> None:
asyncio.create_task(pawa.scrape()), asyncio.create_task(pawa.scrape()),
asyncio.create_task(roxie.scrape()), asyncio.create_task(roxie.scrape()),
asyncio.create_task(shark.scrape()), asyncio.create_task(shark.scrape()),
# asyncio.create_task(streambtw.scrape()), asyncio.create_task(streambtw.scrape()),
asyncio.create_task(streamfree.scrape()), asyncio.create_task(streamfree.scrape()),
asyncio.create_task(tvpass.scrape()), asyncio.create_task(tvpass.scrape()),
asyncio.create_task(xstreameast.scrape()), asyncio.create_task(xstreameast.scrape()),

View file

@ -221,7 +221,7 @@ async def scrape(browser: Browser) -> None:
ev["sport"], ev["sport"],
ev["league"], ev["league"],
ev["event"], ev["event"],
ev["timestamp"], ev["event_ts"],
ev["link"], ev["link"],
) )

View file

@ -200,11 +200,14 @@ class Leagues:
elif self.is_valid(event, "WNBA"): elif self.is_valid(event, "WNBA"):
return self.info("WNBA") return self.info("WNBA")
else:
return self.info("Basketball") return self.info("Basketball")
case "Ice Hockey" | "Hockey": case "Ice Hockey" | "Hockey":
return self.info("NHL") return (
self.info("NHL")
if self.is_valid(event, "NHL")
else self.info("Hockey")
)
case _: case _:
return self.info(sport) return self.info(sport)

View file

@ -28,6 +28,14 @@
} }
} }
], ],
"Ice.Hockey.Dummy.us": [
{
"HOCKEY": {
"logo": "https://images.emojiterra.com/google/noto-emoji/unicode-15/color/512px/1f3d2.png",
"names": []
}
}
],
"MLB.Baseball.Dummy.us": [ "MLB.Baseball.Dummy.us": [
{ {
"MLB": { "MLB": {
@ -104,7 +112,6 @@
"NHL": { "NHL": {
"logo": "https://a.espncdn.com/combiner/i?img=/i/teamlogos/leagues/500/nhl.png", "logo": "https://a.espncdn.com/combiner/i?img=/i/teamlogos/leagues/500/nhl.png",
"names": [ "names": [
"HOCKEY",
"NATIONAL HOCKEY LEAGUE", "NATIONAL HOCKEY LEAGUE",
"NHL HOCKEY", "NHL HOCKEY",
"NHL PLAYOFFS", "NHL PLAYOFFS",
@ -207,7 +214,7 @@
{ {
"BUNDESLIGA": { "BUNDESLIGA": {
"logo": "https://a.espncdn.com/combiner/i?img=/i/leaguelogos/soccer/500/10.png", "logo": "https://a.espncdn.com/combiner/i?img=/i/leaguelogos/soccer/500/10.png",
"names": ["BUNDESLIG", "GERMAN BUNDESLIGA"] "names": ["BUNDESLIG", "GERMAN BUNDESLIGA", "GERMANY BUNDESLIGA"]
} }
}, },
{ {
@ -317,6 +324,12 @@
"names": ["FRANCE CUP", "FRENCH CUP"] "names": ["FRANCE CUP", "FRENCH CUP"]
} }
}, },
{
"EERSTE DIVISIE": {
"logo": "https://a.espncdn.com/combiner/i?img=/i/leaguelogos/soccer/500/105.png",
"names": ["KEUKEN KAMPIOEN DIVISIE"]
}
},
{ {
"EFL": { "EFL": {
"logo": "https://i.gyazo.com/c8842fbcb2eeb6a53bc69fa6055b8b5d.png", "logo": "https://i.gyazo.com/c8842fbcb2eeb6a53bc69fa6055b8b5d.png",
@ -442,6 +455,8 @@
"LALIGA", "LALIGA",
"PRIMERA DIVISION", "PRIMERA DIVISION",
"PRIMERA DIVISIÓN", "PRIMERA DIVISIÓN",
"SPAIN LA LIGA",
"SPAIN LALIGA",
"SPANISH LA LIGA", "SPANISH LA LIGA",
"SPANISH LALIGA" "SPANISH LALIGA"
] ]
@ -456,6 +471,7 @@
"LALIGA 2", "LALIGA 2",
"SEGUNDA DIVISION", "SEGUNDA DIVISION",
"SEGUNDA DIVISIÓN", "SEGUNDA DIVISIÓN",
"SEGUNDA LIGA",
"SPAIN SEGUNDA DIVISION", "SPAIN SEGUNDA DIVISION",
"SPANISH LA LIGA 2", "SPANISH LA LIGA 2",
"SPANISH LALIGA 2", "SPANISH LALIGA 2",
@ -973,6 +989,71 @@
"Washington Commanders", "Washington Commanders",
"Washington Redskins" "Washington Redskins"
], ],
"NHL": [
"Anaheim",
"Anaheim Ducks",
"Boston",
"Boston Bruins",
"Buffalo",
"Buffalo Sabres",
"Calgary",
"Calgary Flames",
"Carolina",
"Carolina Hurricanes",
"Chicago",
"Chicago Blackhawks",
"Colorado",
"Colorado Avalanche",
"Columbus",
"Columbus Blue Jackets",
"Dallas",
"Dallas Stars",
"Detroit",
"Detroit Red Wings",
"Edmonton",
"Edmonton Oilers",
"Florida",
"Florida Panthers",
"Los Angeles",
"Los Angeles Kings",
"Minnesota",
"Minnesota Wild",
"Montreal",
"Montreal Canadiens",
"Nashville",
"Nashville Predators",
"New Jersey",
"New Jersey Devils",
"New York",
"New York Islanders",
"New York Rangers",
"Ottawa",
"Ottawa Senators",
"Philadelphia",
"Philadelphia Flyers",
"Pittsburgh",
"Pittsburgh Penguins",
"San Jose",
"San Jose Sharks",
"Seattle",
"Seattle Kraken",
"St. Louis",
"St. Louis Blues",
"Tampa Bay",
"Tampa Bay Lightning",
"Toronto",
"Toronto Maple Leafs",
"Utah",
"Utah Mammoth",
"Vancouver",
"Vancouver Canucks",
"Vegas",
"Vegas Golden Knights",
"Washington",
"Washington Capitals",
"Winnipeg",
"Winnipeg Jets"
],
"WNBA": [ "WNBA": [
"Aces", "Aces",
"Atlanta Dream", "Atlanta Dream",

View file

@ -1,13 +1,15 @@
## Base Log @ 2026-01-30 04:20 UTC ## Base Log @ 2026-01-31 04:15 UTC
### ✅ Working Streams: 142<br>❌ Dead Streams: 4 ### ✅ Working Streams: 140<br>❌ Dead Streams: 6
| Channel | Error (Code) | Link | | Channel | Error (Code) | Link |
| ------- | ------------ | ---- | | ------- | ------------ | ---- |
| FDSN Sun | HTTP Error (403) | `http://lucidhosting.xyz:82/sandriassoc@gmail.com/Sm8G4ddxoW/222132` |
| FXX | HTTP Error (404) | `https://fl1.moveonjoy.com/FXX/index.m3u8` | | FXX | HTTP Error (404) | `https://fl1.moveonjoy.com/FXX/index.m3u8` |
| NBC Sports Bay Area | HTTP Error (502) | `http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/257216` |
| Premier Sports 1 | HTTP Error (403) | `http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/117037` | | Premier Sports 1 | HTTP Error (403) | `http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/117037` |
| Premier Sports 2 | HTTP Error (502) | `http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/117038` | | Premier Sports 2 | HTTP Error (502) | `http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/117038` |
| Sportsnet One | HTTP Error (403) | `http://mytvstream.net:8080/live/bn80NG/909467/57297.m3u8` | | Vice TV | HTTP Error (404) | `https://fl1.moveonjoy.com/VICELAND/index.m3u8` |
--- ---
#### Base Channels URL #### Base Channels URL
``` ```