mirror of
https://github.com/doms9/iptv.git
synced 2026-04-22 19:57:00 +02:00
Compare commits
35 commits
b76df25d78
...
ac4abe75d1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ac4abe75d1 | ||
|
|
0f6e1cf10e | ||
|
|
e5e6de8c98 | ||
|
|
8239a7fdcd | ||
|
|
4232bf0d8f | ||
|
|
4f900bbf53 | ||
|
|
4f18f835c9 | ||
|
|
6a523ede97 | ||
|
|
6715662d81 | ||
|
|
d607eff443 | ||
|
|
61884cef9d | ||
|
|
3d2bf00732 | ||
|
|
00000d9906 | ||
|
|
ea27241796 | ||
|
|
5cb2d5fe31 | ||
|
|
55d8e94a7b | ||
|
|
bad1ebe82f | ||
|
|
ba1ce56d14 | ||
|
|
5ae8f557ac | ||
|
|
fe22946e3d | ||
|
|
935f16981e | ||
|
|
b6d91ed9e3 | ||
|
|
db3f9704c6 | ||
|
|
18c15ede97 | ||
|
|
2a7ab8a8e8 | ||
|
|
b407e9c23d | ||
|
|
4309f9ba80 | ||
|
|
7a16a84da6 | ||
|
|
1abdc5da47 | ||
|
|
cae27c94e5 | ||
|
|
8ec55cf858 | ||
|
|
af2b04e8ab | ||
|
|
a936fee947 | ||
|
|
77a6dbac16 | ||
|
|
fa650825c1 |
7 changed files with 130697 additions and 123376 deletions
2792
M3U8/TV.m3u8
2792
M3U8/TV.m3u8
File diff suppressed because it is too large
Load diff
248282
M3U8/TV.xml
248282
M3U8/TV.xml
File diff suppressed because one or more lines are too long
|
|
@ -13,7 +13,7 @@ http://23.239.31.26:8989/accnetwork/index.m3u8
|
|||
https://turnerlive.warnermediacdn.com/hls/live/2023183/aseast/noslate/VIDEO_1_5128000.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="5" tvg-id="Altitude.Sports.us2" tvg-name="Altitude Sports" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s44263_dark_360w_270h.png" group-title="TV",Altitude Sports
|
||||
http://mytvstream.net:8080/live/30550113/30550113/79545.m3u8
|
||||
https://restream-live.realiptv.to/Lucas123/Lucas123/332892
|
||||
|
||||
#EXTINF:-1 tvg-chno="6" tvg-id="AMC.HD.us2" tvg-name="AMC" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10021_dark_360w_270h.png" group-title="TV",AMC
|
||||
http://23.239.31.26:8989/amc/index.m3u8
|
||||
|
|
@ -52,7 +52,7 @@ http://23.237.104.106:8080/USA_BOOMERANG/index.m3u8
|
|||
http://212.102.60.231/BOUNCE_TV/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="18" tvg-id="Bravo.HD.us2" tvg-name="Bravo TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10057_dark_360w_270h.png" group-title="TV",Bravo TV
|
||||
http://104.255.88.155/bravo/index.m3u8
|
||||
http://41.205.93.154/BRAVO/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="19" tvg-id="BUZZR.Stream.us2" tvg-name="Buzzr" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s93430_dark_360w_270h.png" group-title="TV",Buzzr
|
||||
https://buzzrota-web.amagi.tv/playlist.m3u8
|
||||
|
|
@ -85,7 +85,7 @@ http://hardcoremedia.xyz/live/rabdsbmz/3731346838/129849.ts
|
|||
http://23.237.104.106:8080/USA_CMT/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="29" tvg-id="CNBC.HD.us2" tvg-name="CNBC" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10139_dark_360w_270h.png" group-title="TV",CNBC
|
||||
http://mytvstream.net:8080/live/30550113/30550113/9815.m3u8
|
||||
http://41.205.93.154/CNBC/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="30" tvg-id="CNN.HD.us2" tvg-name="CNN" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58646_dark_360w_270h.png" group-title="TV",CNN
|
||||
https://turnerlive.warnermediacdn.com/hls/live/586495/cnngo/cnn_slate/VIDEO_0_3564000.m3u8
|
||||
|
|
@ -106,7 +106,7 @@ http://23.237.104.106:8080/USA_COOKING/index.m3u8
|
|||
https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg01438-ewscrippscompan-courttv-tablo/playlist.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="36" tvg-id="COZI.TV.us2" tvg-name="Cozi TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s78851_dark_360w_270h.png" group-title="TV",Cozi TV
|
||||
http://mytvstream.net:8080/live/30550113/30550113/11868.m3u8
|
||||
https://restream-live.realiptv.to/Lucas123/Lucas123/2604
|
||||
|
||||
#EXTINF:-1 tvg-chno="37" tvg-id="Crime.and.Investigation.Network.HD.us2" tvg-name="Crime & Investigation Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s61469_dark_360w_270h.png" group-title="TV",Crime & Investigation Network
|
||||
http://23.237.104.106:8080/USA_CRIME_INVESTIGATION/mpegts
|
||||
|
|
@ -147,40 +147,40 @@ http://23.237.104.106:8080/USA_ESPNU/index.m3u8
|
|||
#EXTINF:-1 tvg-chno="49" 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://snowbank.houseinventer.com/6501/index.m3u8?token=M1lDdWljYkdyZGFhZzVxeGc2Mkt5OGJicWNxd2xheDkzWWVieEt5b3lZVERxNEduaVp1UnBxU2VlWmF0ZnRlRGxaMm1zNStDbnJOOXFZMlhtcStybmc9PQ==
|
||||
|
||||
#EXTINF:-1 tvg-chno="50" 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="50" tvg-id="FanDuel.Sports.Network.Detroit.HD.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/30550113/30550113/20930.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="51" 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="51" tvg-id="FanDuel.Sports.Network.Florida.-.North.Florida.HD.us" tvg-name="FDSN Florida" tvg-logo="https://i.gyazo.com/fad701fbaaafe161b13b23ed9b50179b.png" group-title="TV",FDSN Florida
|
||||
http://mytvstream.net:8080/live/30550113/30550113/46794.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="52" 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="52" tvg-id="FanDuel.Sports.Network.Midwest.St..Louis.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/30550113/30550113/66795.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="53" 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="53" tvg-id="FanDuel.Sports.Network.North.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/30550113/30550113/58827.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="54" 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="54" tvg-id="FanDuel.Sports.Network.Ohio.-.Cleveland.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
|
||||
http://mytvstream.net:8080/live/30550113/30550113/17752.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="55" 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="55" tvg-id="FanDuel.Sports.Network.Oklahoma.us" tvg-name="FDSN Oklahoma" tvg-logo="https://i.gyazo.com/80ad6fd142cd67f06eef58d9ce5aa72b.png" group-title="TV",FDSN Oklahoma
|
||||
http://mytvstream.net:8080/live/30550113/30550113/20934.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="56" 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="56" tvg-id="FanDuel.Sports.Network.SoCal.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/30550113/30550113/221151.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="57" 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="57" tvg-id="FanDuel.Sports.Network.Southeast.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
|
||||
http://mytvstream.net:8080/live/30550113/30550113/2213.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="58" tvg-id="FanDuel.Sports.Network.Southwest.HDTV.24/7.(Main).us" tvg-name="FDSN Southwest" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s59629_dark_360w_270h.png" group-title="TV",FDSN Southwest
|
||||
#EXTINF:-1 tvg-chno="58" tvg-id="FanDuel.Sports.Network.Southwest.us" tvg-name="FDSN Southwest" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s59629_dark_360w_270h.png" group-title="TV",FDSN Southwest
|
||||
http://mytvstream.net:8080/live/30550113/30550113/21843.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="59" tvg-id="FanDuel.Sports.Network.Sun.South.24/7.HDTV.(South.Marlins,.Rays,.Heat).us" tvg-name="FDSN Sun" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s61084_dark_360w_270h.png" group-title="TV",FDSN Sun
|
||||
#EXTINF:-1 tvg-chno="59" tvg-id="Fanduel.Sports.Sun.HD.us" tvg-name="FDSN Sun" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s61084_dark_360w_270h.png" group-title="TV",FDSN Sun
|
||||
http://mytvstream.net:8080/live/30550113/30550113/104917.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="60" 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="60" tvg-id="FanDuel.Sports.Network.West.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/30550113/30550113/20932.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="61" 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="61" tvg-id="FanDuel.Sports.Network.Wisconsin.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/30550113/30550113/78599.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="62" 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
|
||||
|
|
@ -193,7 +193,7 @@ http://23.237.104.106:8080/USA_FOOD_NETWORK/index.m3u8
|
|||
https://restream-live.realiptv.to/Lucas123/Lucas123/2544
|
||||
|
||||
#EXTINF:-1 tvg-chno="65" tvg-id="Fox.Business.HD.us2" tvg-name="Fox Business" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58649_dark_360w_270h.png" group-title="TV",Fox Business
|
||||
http://mytvstream.net:8080/live/30550113/30550113/17639.m3u8
|
||||
https://restream-live.realiptv.to/Lucas123/Lucas123/3730
|
||||
|
||||
#EXTINF:-1 tvg-chno="66" tvg-id="Fox.News.Channel.HD.us2" tvg-name="Fox News" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16374_dark_360w_270h.png" group-title="TV",Fox News
|
||||
http://104.255.88.155/foxnews/index.m3u8
|
||||
|
|
@ -205,7 +205,7 @@ https://starshare.st/live/P4B9TB9xR8/humongous2tonight/3420.ts
|
|||
https://starshare.st/live/P4B9TB9xR8/humongous2tonight/55.ts
|
||||
|
||||
#EXTINF:-1 tvg-chno="69" tvg-id="Freeform.HD.us2" tvg-name="Freeform TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10093_dark_360w_270h.png" group-title="TV",Freeform TV
|
||||
http://mytvstream.net:8080/live/30550113/30550113/13370.m3u8
|
||||
https://restream-live.realiptv.to/Lucas123/Lucas123/2502
|
||||
|
||||
#EXTINF:-1 tvg-chno="70" tvg-id="Fuse.HD.us2" tvg-name="FUSE" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14929_dark_360w_270h.png" group-title="TV",FUSE
|
||||
http://23.237.104.106:8080/USA_FUSE/index.m3u8
|
||||
|
|
@ -214,16 +214,16 @@ http://23.237.104.106:8080/USA_FUSE/index.m3u8
|
|||
http://23.237.104.106:8080/USA_FX/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="72" tvg-id="FX.Movie.Channel.HD.us2" tvg-name="FX Movie Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s70253_dark_360w_270h.png" group-title="TV",FX Movie Channel
|
||||
http://mytvstream.net:8080/live/30550113/30550113/10260.m3u8
|
||||
https://restream-live.realiptv.to/Lucas123/Lucas123/3736
|
||||
|
||||
#EXTINF:-1 tvg-chno="73" tvg-id="FXX.HD.us2" tvg-name="FXX" tvg-logo="https://raw.githubusercontent.com/tv-logo/tv-logos/refs/heads/main/countries/united-states/fxx-us.png" group-title="TV",FXX
|
||||
http://23.237.104.106:8080/USA_FXX/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="74" tvg-id="FYI.Channel.HD.us2" tvg-name="FYI TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16834_dark_360w_270h.png" group-title="TV",FYI TV
|
||||
http://mytvstream.net:8080/live/30550113/30550113/9240.m3u8
|
||||
https://restream-live.realiptv.to/Lucas123/Lucas123/30924
|
||||
|
||||
#EXTINF:-1 tvg-chno="75" tvg-id="Game.Show.Network.HD.us2" tvg-name="Game Show Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14909_dark_360w_270h.png" group-title="TV",Game Show Network
|
||||
http://mytvstream.net:8080/live/30550113/30550113/120633.m3u8
|
||||
https://restream-live.realiptv.to/Lucas123/Lucas123/648975
|
||||
|
||||
#EXTINF:-1 tvg-chno="76" tvg-id="get.us2" tvg-name="getTV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s82563_dark_360w_270h.png" group-title="TV",getTV
|
||||
http://mytvstream.net:8080/live/30550113/30550113/18366.m3u8
|
||||
|
|
@ -250,7 +250,7 @@ http://23.237.104.106:8080/USA_HBO/index.m3u8
|
|||
http://23.237.104.106:8080/USA_HBO2/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="84" tvg-id="HBO.Comedy.HD.us2" tvg-name="HBO Comedy" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s59839_dark_360w_270h.png" group-title="TV",HBO Comedy
|
||||
http://mytvstream.net:8080/live/30550113/30550113/17773.m3u8
|
||||
https://restream-live.realiptv.to/Lucas123/Lucas123/648977
|
||||
|
||||
#EXTINF:-1 tvg-chno="85" tvg-id="HBO.Drama.us2" tvg-name="HBO Family" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s34879_dark_360w_270h.png" group-title="TV",HBO Family
|
||||
http://mytvstream.net:8080/live/30550113/30550113/17772.m3u8
|
||||
|
|
@ -265,7 +265,7 @@ http://mytvstream.net:8080/live/30550113/30550113/15017.m3u8
|
|||
http://23.237.104.106:8080/USA_HLN/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="89" tvg-id="INSP.HD.us2" tvg-name="INSP" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11066_dark_360w_270h.png" group-title="TV",INSP
|
||||
http://mytvstream.net:8080/live/30550113/30550113/16262.m3u8
|
||||
http://89.105.221.127/INSP/index.m3u8?token=test
|
||||
|
||||
#EXTINF:-1 tvg-chno="90" tvg-id="Investigation.Discovery.HD.us2" tvg-name="Investigation Discovery" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16615_dark_360w_270h.png" group-title="TV",Investigation Discovery
|
||||
http://mytvstream.net:8080/live/30550113/30550113/46810.m3u8
|
||||
|
|
@ -307,7 +307,7 @@ http://212.102.60.231/NBA_TV/index.m3u8
|
|||
https://restream-live.realiptv.to/Lucas123/Lucas123/89714
|
||||
|
||||
#EXTINF:-1 tvg-chno="103" tvg-id="NBC.Sports.Bay.Area.HD.us2" tvg-name="NBC Sports Bay Area" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s63138_dark_360w_270h.png" group-title="TV",NBC Sports Bay Area
|
||||
http://mytvstream.net:8080/live/30550113/30550113/9900.m3u8
|
||||
https://restream-live.realiptv.to/Lucas123/Lucas123/2436
|
||||
|
||||
#EXTINF:-1 tvg-chno="104" 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/30550113/30550113/20939.m3u8
|
||||
|
|
@ -337,7 +337,7 @@ https://starshare.st/live/P4B9TB9xR8/humongous2tonight/23550.ts
|
|||
https://restream-live.realiptv.to/Lucas123/Lucas123/3672
|
||||
|
||||
#EXTINF:-1 tvg-chno="113" tvg-id="Nick.Jr.HD.us2" tvg-name="Nick Jr" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s19211_dark_360w_270h.png" group-title="TV",Nick Jr
|
||||
http://mytvstream.net:8080/live/30550113/30550113/46710.m3u8
|
||||
https://restream-live.realiptv.to/Lucas123/Lucas123/74691
|
||||
|
||||
#EXTINF:-1 tvg-chno="114" tvg-id="Nickelodeon.HD.us2" tvg-name="Nickelodeon" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11006_dark_360w_270h.png" group-title="TV",Nickelodeon
|
||||
http://23.237.104.106:8080/USA_NICKELODEON/index.m3u8
|
||||
|
|
@ -403,7 +403,7 @@ http://mytvstream.net:8080/live/30550113/30550113/213668.m3u8
|
|||
https://restream-live.realiptv.to/Lucas123/Lucas123/74683
|
||||
|
||||
#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/30550113/30550113/21842.m3u8
|
||||
https://restream-live.realiptv.to/Lucas123/Lucas123/512561
|
||||
|
||||
#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://212.102.60.231/SPORTSMAN_CHANNEL/index.m3u8
|
||||
|
|
@ -465,8 +465,8 @@ http://mytvstream.net:8080/live/30550113/30550113/46696.m3u8
|
|||
#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://mytvstream.net:8080/live/30550113/30550113/20868.m3u8
|
||||
|
||||
#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://mytvstream.net:8080/live/30550113/30550113/10252.m3u8
|
||||
#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 Network
|
||||
https://restream-live.realiptv.to/Lucas123/Lucas123/3767
|
||||
|
||||
#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
|
||||
|
|
|
|||
2736
M3U8/events.m3u8
2736
M3U8/events.m3u8
File diff suppressed because it is too large
Load diff
|
|
@ -66,14 +66,14 @@ async def main() -> None:
|
|||
pw_tasks = [
|
||||
asyncio.create_task(cdnlivetv.scrape(hdl_brwsr)),
|
||||
asyncio.create_task(embedhd.scrape(hdl_brwsr)),
|
||||
asyncio.create_task(pixel.scrape(hdl_brwsr)),
|
||||
# asyncio.create_task(pixel.scrape(hdl_brwsr)),
|
||||
asyncio.create_task(ppv.scrape(xtrnl_brwsr)),
|
||||
# asyncio.create_task(roxie.scrape(hdl_brwsr)),
|
||||
asyncio.create_task(roxie.scrape(hdl_brwsr)),
|
||||
asyncio.create_task(sportzone.scrape(xtrnl_brwsr)),
|
||||
asyncio.create_task(streamcenter.scrape(hdl_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(timstreams.scrape(xtrnl_brwsr)),
|
||||
asyncio.create_task(timstreams.scrape(xtrnl_brwsr)),
|
||||
]
|
||||
|
||||
httpx_tasks = [
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import asyncio
|
||||
from functools import partial
|
||||
from typing import Any
|
||||
from urllib.parse import urljoin
|
||||
|
||||
from playwright.async_api import Browser
|
||||
from playwright.async_api import Browser, Page, Response
|
||||
from selectolax.parser import HTMLParser
|
||||
|
||||
from .utils import Cache, Time, get_logger, leagues, network
|
||||
|
||||
|
|
@ -14,10 +15,6 @@ TAG = "TIMSTRMS"
|
|||
|
||||
CACHE_FILE = Cache(TAG, exp=10_800)
|
||||
|
||||
API_FILE = Cache(f"{TAG}-api", exp=19_800)
|
||||
|
||||
API_URL = "https://stra.viaplus.site/main"
|
||||
|
||||
BASE_URL = "https://timstreams.fit"
|
||||
|
||||
SPORT_GENRES = {
|
||||
|
|
@ -41,65 +38,139 @@ SPORT_GENRES = {
|
|||
}
|
||||
|
||||
|
||||
def sift_xhr(resp: Response) -> bool:
|
||||
resp_url = resp.url
|
||||
|
||||
return "hmembeds.one/embed" in resp_url and resp.status == 200
|
||||
|
||||
|
||||
async def process_event(
|
||||
url: str,
|
||||
url_num: int,
|
||||
page: Page,
|
||||
) -> tuple[str | None, str | None]:
|
||||
|
||||
nones = None, None
|
||||
|
||||
captured: list[str] = []
|
||||
|
||||
got_one = asyncio.Event()
|
||||
|
||||
handler = partial(
|
||||
network.capture_req,
|
||||
captured=captured,
|
||||
got_one=got_one,
|
||||
)
|
||||
|
||||
page.on("request", handler)
|
||||
|
||||
try:
|
||||
try:
|
||||
async with page.expect_response(sift_xhr, timeout=3_000) as strm_resp:
|
||||
resp = await page.goto(
|
||||
url,
|
||||
wait_until="domcontentloaded",
|
||||
timeout=6_000,
|
||||
)
|
||||
|
||||
if not resp or resp.status != 200:
|
||||
log.warning(
|
||||
f"URL {url_num}) Status Code: {resp.status if resp else 'None'}"
|
||||
)
|
||||
|
||||
return nones
|
||||
|
||||
response = await strm_resp.value
|
||||
|
||||
embed_url = response.url
|
||||
except TimeoutError:
|
||||
log.warning(f"URL {url_num}) No available stream links.")
|
||||
|
||||
return nones
|
||||
|
||||
wait_task = asyncio.create_task(got_one.wait())
|
||||
|
||||
try:
|
||||
await asyncio.wait_for(wait_task, timeout=6)
|
||||
except asyncio.TimeoutError:
|
||||
log.warning(f"URL {url_num}) Timed out waiting for M3U8.")
|
||||
|
||||
return nones
|
||||
|
||||
finally:
|
||||
if not wait_task.done():
|
||||
wait_task.cancel()
|
||||
|
||||
try:
|
||||
await wait_task
|
||||
except asyncio.CancelledError:
|
||||
pass
|
||||
|
||||
if captured:
|
||||
log.info(f"URL {url_num}) Captured M3U8")
|
||||
|
||||
return captured[0], embed_url
|
||||
|
||||
log.warning(f"URL {url_num}) No M3U8 captured after waiting.")
|
||||
|
||||
return nones
|
||||
|
||||
except Exception as e:
|
||||
log.warning(f"URL {url_num}) {e}")
|
||||
|
||||
return nones
|
||||
|
||||
finally:
|
||||
page.remove_listener("request", handler)
|
||||
|
||||
|
||||
async def get_events(cached_keys: list[str]) -> list[dict[str, str]]:
|
||||
now = Time.clean(Time.now())
|
||||
|
||||
if not (api_data := API_FILE.load(per_entry=False, index=-1)):
|
||||
log.info("Refreshing API cache")
|
||||
|
||||
api_data = [{"timestamp": now.timestamp()}]
|
||||
|
||||
if r := await network.request(API_URL, log=log):
|
||||
api_data: list[dict] = r.json()
|
||||
|
||||
api_data[-1]["timestamp"] = now.timestamp()
|
||||
|
||||
API_FILE.write(api_data)
|
||||
|
||||
events = []
|
||||
|
||||
start_dt = now.delta(minutes=-30)
|
||||
end_dt = now.delta(minutes=30)
|
||||
if not (html_data := await network.request(BASE_URL, log=log)):
|
||||
return events
|
||||
|
||||
for info in api_data:
|
||||
if not (category := info.get("category")) or category != "Events":
|
||||
soup = HTMLParser(html_data.content)
|
||||
|
||||
for card in soup.css("#eventsSection .card"):
|
||||
card_attrs = card.attributes
|
||||
|
||||
if not (sport_id := card_attrs.get("data-genre")):
|
||||
continue
|
||||
|
||||
stream_events: list[dict[str, Any]] = info["events"]
|
||||
elif not (sport := SPORT_GENRES.get(int(sport_id))):
|
||||
continue
|
||||
|
||||
for ev in stream_events:
|
||||
if (genre := ev["genre"]) not in SPORT_GENRES:
|
||||
continue
|
||||
if not (event_name := card_attrs.get("data-search")):
|
||||
continue
|
||||
|
||||
event_dt = Time.from_str(ev["time"], timezone="EST")
|
||||
if f"[{sport}] {event_name} ({TAG})" in cached_keys:
|
||||
continue
|
||||
|
||||
if not start_dt <= event_dt <= end_dt:
|
||||
continue
|
||||
if not (badge_elem := card.css_first(".badge")):
|
||||
continue
|
||||
|
||||
name: str = ev["name"]
|
||||
if "data-countdown" in badge_elem.attributes:
|
||||
continue
|
||||
|
||||
url_id: str = ev["URL"]
|
||||
if (not (watch_btn := card.css_first("a.btn-watch"))) or (
|
||||
not (href := watch_btn.attributes.get("href"))
|
||||
):
|
||||
continue
|
||||
|
||||
logo: str | None = ev.get("logo")
|
||||
logo = None
|
||||
|
||||
sport = SPORT_GENRES[genre]
|
||||
if card_thumb := card.css_first(".card-thumb img"):
|
||||
logo = card_thumb.attributes.get("src")
|
||||
|
||||
if f"[{sport}] {name} ({TAG})" in cached_keys:
|
||||
continue
|
||||
|
||||
if not (streams := ev["streams"]) or not (url := streams[0].get("url")):
|
||||
continue
|
||||
|
||||
events.append(
|
||||
{
|
||||
"sport": sport,
|
||||
"event": name,
|
||||
"link": urljoin(BASE_URL, f"watch?id={url_id}"),
|
||||
"ref": url,
|
||||
"logo": logo,
|
||||
"timestamp": event_dt.timestamp(),
|
||||
}
|
||||
)
|
||||
events.append(
|
||||
{
|
||||
"sport": sport,
|
||||
"event": event_name,
|
||||
"link": urljoin(BASE_URL, href),
|
||||
"logo": logo,
|
||||
}
|
||||
)
|
||||
|
||||
return events
|
||||
|
||||
|
|
@ -120,30 +191,29 @@ async def scrape(browser: Browser) -> None:
|
|||
if events := await get_events(cached_urls.keys()):
|
||||
log.info(f"Processing {len(events)} new URL(s)")
|
||||
|
||||
now = Time.clean(Time.now())
|
||||
|
||||
async with network.event_context(browser, stealth=False) as context:
|
||||
for i, ev in enumerate(events, start=1):
|
||||
async with network.event_page(context) as page:
|
||||
handler = partial(
|
||||
network.process_event,
|
||||
process_event,
|
||||
url=(link := ev["link"]),
|
||||
url_num=i,
|
||||
page=page,
|
||||
log=log,
|
||||
)
|
||||
|
||||
url = await network.safe_process(
|
||||
url, iframe = await network.safe_process(
|
||||
handler,
|
||||
url_num=i,
|
||||
semaphore=network.PW_S,
|
||||
log=log,
|
||||
)
|
||||
|
||||
sport, event, logo, ref, ts = (
|
||||
sport, event, logo = (
|
||||
ev["sport"],
|
||||
ev["event"],
|
||||
ev["logo"],
|
||||
ev["ref"],
|
||||
ev["timestamp"],
|
||||
)
|
||||
|
||||
key = f"[{sport}] {event} ({TAG})"
|
||||
|
|
@ -153,8 +223,8 @@ async def scrape(browser: Browser) -> None:
|
|||
entry = {
|
||||
"url": url,
|
||||
"logo": logo or pic,
|
||||
"base": ref,
|
||||
"timestamp": ts,
|
||||
"base": iframe,
|
||||
"timestamp": now.timestamp(),
|
||||
"id": tvg_id or "Live.Event.us",
|
||||
"link": link,
|
||||
}
|
||||
|
|
|
|||
11
readme.md
11
readme.md
|
|
@ -1,13 +1,12 @@
|
|||
## Base Log @ 2026-03-09 09:06 UTC
|
||||
## Base Log @ 2026-03-10 09:07 UTC
|
||||
|
||||
### ✅ Working Streams: 157<br>❌ Dead Streams: 4
|
||||
### ✅ Working Streams: 158<br>❌ Dead Streams: 3
|
||||
|
||||
| Channel | Error (Code) | Link |
|
||||
| ------- | ------------ | ---- |
|
||||
| Altitude Sports | HTTP Error (403) | `http://mytvstream.net:8080/live/30550113/30550113/79545.m3u8` |
|
||||
| HBO Family | HTTP Error (403) | `http://mytvstream.net:8080/live/30550113/30550113/17772.m3u8` |
|
||||
| Hallmark Family | HTTP Error (403) | `http://mytvstream.net:8080/live/30550113/30550113/9307.m3u8` |
|
||||
| NFL Network | HTTP Error (404) | `https://stream.decentdoubts.net/6128524/index.m3u8?token=Mm9QYnQ1ZkpyYWllaEoydWhheUVsOGl1cGNpQW1xcUczNGVZeHRuWHlYL0RxNEduaVp1UnBxU2VlWmF0ZnRlRGxaMm1zNStDbnJOOXFZMlhtcStybmc9PQ==` |
|
||||
| Hallmark Family | HTTP Error (000) | `http://mytvstream.net:8080/live/30550113/30550113/9307.m3u8` |
|
||||
| Nickelodeon | HTTP Error (000) | `http://23.237.104.106:8080/USA_NICKELODEON/index.m3u8` |
|
||||
| Pop TV | HTTP Error (403) | `http://mytvstream.net:8080/live/30550113/30550113/20976.m3u8` |
|
||||
---
|
||||
#### Base Channels URL
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue