mirror of
https://github.com/doms9/iptv.git
synced 2026-01-21 03:59:03 +01:00
Compare commits
40 commits
00000d9ebc
...
b9ce9e9155
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b9ce9e9155 | ||
|
|
f62bb3b90f | ||
|
|
83ccebd3f9 | ||
|
|
eff19c303a | ||
|
|
f330cf0163 | ||
|
|
00000d92ad | ||
|
|
474b3a19fc | ||
|
|
10dc49cf29 | ||
|
|
1704da0f62 | ||
|
|
e83341e285 | ||
|
|
3997e2d3e9 | ||
|
|
4cf89305ab | ||
|
|
b9cd645e8f | ||
|
|
266170b286 | ||
|
|
e21270c622 | ||
|
|
12508f06d8 | ||
|
|
4c6f62f7f9 | ||
|
|
06b145d70c | ||
|
|
00000d95b3 | ||
|
|
7fcd6e626e | ||
|
|
8b81756c42 | ||
|
|
f687671112 | ||
|
|
08541722f3 | ||
|
|
32cfd1478e | ||
|
|
00000d949b | ||
|
|
8264afeefd | ||
|
|
00000d9898 | ||
|
|
cce6beba98 | ||
|
|
00000d939d | ||
|
|
b366541607 | ||
|
|
2419db5a8e | ||
|
|
a8e6a1e274 | ||
|
|
b4407b6892 | ||
|
|
355e5bd192 | ||
|
|
e16a45ed1a | ||
|
|
dd77650cda | ||
|
|
b9cd802d42 | ||
|
|
76de1f371c | ||
|
|
701607d8a5 | ||
|
|
c72a68979e |
15 changed files with 91009 additions and 88723 deletions
176272
EPG/TV.xml
176272
EPG/TV.xml
File diff suppressed because one or more lines are too long
1502
M3U8/TV.m3u8
1502
M3U8/TV.m3u8
File diff suppressed because it is too large
Load diff
170
M3U8/base.m3u8
170
M3U8/base.m3u8
|
|
@ -7,16 +7,16 @@ http://fl1.moveonjoy.com/ANE/index.m3u8
|
|||
https://fl1.moveonjoy.com/FL_Tampa_ABC/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="3" tvg-id="ACC.Network.us2" tvg-name="ACC Network" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s111871_dark_360w_270h.png" group-title="TV",ACC Network
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/9273
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/9273
|
||||
|
||||
#EXTINF:-1 tvg-chno="4" tvg-id="AdultSwim.com.Cartoon.Network.us2" tvg-name="Adult Swim" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16496_dark_360w_270h.png" group-title="TV",Adult Swim
|
||||
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://cord-cutter.net:8080/k4Svp2/645504/79545
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/79545
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/18925
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/18925
|
||||
|
||||
#EXTINF:-1 tvg-chno="7" tvg-id="Animal.Planet.HD.us2" tvg-name="Animal Planet" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16331_dark_360w_270h.png" group-title="TV",Animal Planet
|
||||
http://fl1.moveonjoy.com/Animal_Planet/index.m3u8
|
||||
|
|
@ -28,25 +28,25 @@ http://fl1.moveonjoy.com/Aspire/index.m3u8
|
|||
http://stalker.klma2023.net/play/live.php?mac=00:1B:79:F8:59:0E&stream=1163984&extension=ts
|
||||
|
||||
#EXTINF:-1 tvg-chno="10" tvg-id="BBC.America.HD.us2" tvg-name="BBC America" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s64492_dark_360w_270h.png" group-title="TV",BBC America
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/20194
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/20194
|
||||
|
||||
#EXTINF:-1 tvg-chno="11" tvg-id="BBC.News.(North.America).HD.us2" tvg-name="BBC World News" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s89542_dark_360w_270h.png" group-title="TV",BBC World News
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/139752
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/139752
|
||||
|
||||
#EXTINF:-1 tvg-chno="12" tvg-id="BET.HD.us2" tvg-name="BET" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10051_dark_360w_270h.png" group-title="TV",BET
|
||||
http://fl1.moveonjoy.com/BET_EAST/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="13" tvg-id="Big.Ten.Network.HD.us2" tvg-name="Big Ten Network" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s56783_dark_360w_270h.png" group-title="TV",Big Ten Network
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/9828
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/9828
|
||||
|
||||
#EXTINF:-1 tvg-chno="14" tvg-id="Bloomberg.HD.us2" tvg-name="Bloomberg TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s71799_dark_360w_270h.png" group-title="TV",Bloomberg TV
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/15158
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/15158
|
||||
|
||||
#EXTINF:-1 tvg-chno="15" tvg-id="Boomerang.us2" tvg-name="Boomerang" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s21883_dark_360w_270h.png" group-title="TV",Boomerang
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/14741
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/14741
|
||||
|
||||
#EXTINF:-1 tvg-chno="16" tvg-id="Bounce.TV.us2" tvg-name="Bounce TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s73067_dark_360w_270h.png" group-title="TV",Bounce TV
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/48323
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/48323
|
||||
|
||||
#EXTINF:-1 tvg-chno="17" 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://fl1.moveonjoy.com/BRAVO/index.m3u8
|
||||
|
|
@ -58,16 +58,16 @@ https://buzzrota-web.amagi.tv/playlist.m3u8
|
|||
http://fl1.moveonjoy.com/C-SPAN/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="20" tvg-id="Cartoon.Network.HD.us2" tvg-name="Cartoon Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s12131_dark_360w_270h.png" group-title="TV",Cartoon Network
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/46708
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/46708
|
||||
|
||||
#EXTINF:-1 tvg-chno="21" tvg-id="WCBS-DT.us_locals1" tvg-name="CBS" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10098_dark_360w_270h.png" group-title="TV",CBS
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/120749
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/120749
|
||||
|
||||
#EXTINF:-1 tvg-chno="22" tvg-id="plex.tv.CBS.Sports.Golazo.Network.plex" tvg-name="CBS Sports Golazo Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s133691_dark_360w_270h.png" group-title="TV",CBS Sports Golazo Network
|
||||
https://dai.google.com/linear/hls/event/GxrCGmwST0ixsrc_QgB6qw/master.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="23" tvg-id="CBS.Sports.Network.HD.us2" tvg-name="CBS Sports Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16365_dark_360w_270h.png" group-title="TV",CBS Sports Network
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/10454
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/10454
|
||||
|
||||
#EXTINF:-1 tvg-chno="24" tvg-id="CMT.HD.us2" tvg-name="CMT" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10138_dark_360w_270h.png" group-title="TV",CMT
|
||||
https://fl1.moveonjoy.com/CMT/index.m3u8
|
||||
|
|
@ -79,34 +79,34 @@ https://fl1.moveonjoy.com/CNBC/index.m3u8
|
|||
https://turnerlive.warnermediacdn.com/hls/live/586495/cnngo/cnn_slate/VIDEO_0_3564000.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="27" tvg-id="Comedy.Central.HD.us2" tvg-name="Comedy Central" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10149_dark_360w_270h.png" group-title="TV",Comedy Central
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/7466
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/7466
|
||||
|
||||
#EXTINF:-1 tvg-chno="28" tvg-id="Comedy.TV.HD.us2" tvg-name="Comedy TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s82470_dark_360w_270h.png" group-title="TV",Comedy TV
|
||||
https://fl1.moveonjoy.com/Comedy_TV/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="29" tvg-id="Comet.us2" tvg-name="Comet TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s97051_dark_360w_270h.png" group-title="TV",Comet TV
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/125831
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/125831
|
||||
|
||||
#EXTINF:-1 tvg-chno="30" tvg-id="Cooking.Channel.HD.us2" tvg-name="Cooking Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s30156_dark_360w_270h.png" group-title="TV",Cooking Channel
|
||||
https://fl1.moveonjoy.com/COOKING_CHANNEL/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="31" tvg-id="Court.TV.us2" tvg-name="Court TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s117160_dark_360w_270h.png" group-title="TV",Court TV
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/21092
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/21092
|
||||
|
||||
#EXTINF:-1 tvg-chno="32" 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://cord-cutter.net:8080/k4Svp2/645504/11868
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/11868
|
||||
|
||||
#EXTINF:-1 tvg-chno="33" 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
|
||||
https://fl1.moveonjoy.com/Crime_and_Investigation_Network/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="34" tvg-id="WKCF-DT.us_locals1" tvg-name="CW" tvg-logo="https://i.gyazo.com/afd5b481b327d204087dfde6a7741f9d.png" group-title="TV",CW
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/120893
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/120893
|
||||
|
||||
#EXTINF:-1 tvg-chno="35" tvg-id="Discovery.Channel.HD.us2" tvg-name="Discovery Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11150_dark_360w_270h.png" group-title="TV",Discovery Channel
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/46720
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/46720
|
||||
|
||||
#EXTINF:-1 tvg-chno="36" tvg-id="Discovery.Family.Channel.HD.us2" tvg-name="Discovery Family Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16618_dark_360w_270h.png" group-title="TV",Discovery Family Channel
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/10538
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/10538
|
||||
|
||||
#EXTINF:-1 tvg-chno="37" tvg-id="Discovery.Life.Channel.us2" tvg-name="Discovery Life" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16125_dark_360w_270h.png" group-title="TV",Discovery Life
|
||||
https://fl1.moveonjoy.com/DISCOVERY_LIFE/index.m3u8
|
||||
|
|
@ -115,106 +115,106 @@ https://fl1.moveonjoy.com/DISCOVERY_LIFE/index.m3u8
|
|||
https://fl1.moveonjoy.com/Discovery_Science/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="39" tvg-id="Disney.Channel.HD.us2" tvg-name="Disney" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10171_dark_360w_270h.png" group-title="TV",Disney
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/2206
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/2206
|
||||
|
||||
#EXTINF:-1 tvg-chno="40" tvg-id="Disney.XD.HD.us2" tvg-name="Disney XD" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s18279_dark_360w_270h.png" group-title="TV",Disney XD
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/75621
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/75621
|
||||
|
||||
#EXTINF:-1 tvg-chno="41" tvg-id="E!.Entertainment.Television.HD.us2" tvg-name="E! Entertainment" tvg-logo="https://i.gyazo.com/f73b80e3eb56cec06df6705d00e2f422.png" group-title="TV",E! Entertainment
|
||||
http://fl1.moveonjoy.com/E_ENTERTAINMENT_TELEVISION/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="42" tvg-id="ESPN.HD.us2" tvg-name="ESPN" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10179_dark_360w_270h.png" group-title="TV",ESPN
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/14197
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/14197
|
||||
|
||||
#EXTINF:-1 tvg-chno="43" tvg-id="ESPNEWS.HD.us2" tvg-name="ESPN News" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16485_dark_360w_270h.png" group-title="TV",ESPN News
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/17707
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/17707
|
||||
|
||||
#EXTINF:-1 tvg-chno="44" tvg-id="ESPNU.HD.us2" tvg-name="ESPN U" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s45654_dark_360w_270h.png" group-title="TV",ESPN U
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/10255
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/10255
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/2210
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/2210
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/20936
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/20936
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/46794
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/46794
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/66795
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/66795
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/58827
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/58827
|
||||
|
||||
#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
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/17752
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/17752
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/20934
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/20934
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/221151
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/221151
|
||||
|
||||
#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
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/81111
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/81111
|
||||
|
||||
#EXTINF:-1 tvg-chno="54" 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
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/21843
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/21843
|
||||
|
||||
#EXTINF:-1 tvg-chno="55" 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
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/104917
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/104917
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/20932
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/20932
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/78599
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/78599
|
||||
|
||||
#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
|
||||
|
||||
#EXTINF:-1 tvg-chno="59" tvg-id="Food.Network.HD.us2" tvg-name="Food Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s44718_dark_360w_270h.png" group-title="TV",Food Network
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/7323
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/7323
|
||||
|
||||
#EXTINF:-1 tvg-chno="60" tvg-id="WFLX-DT.us_locals1" tvg-name="Fox" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s28719_dark_360w_270h.png" group-title="TV",Fox
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/121595
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/121595
|
||||
|
||||
#EXTINF:-1 tvg-chno="61" 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://cord-cutter.net:8080/k4Svp2/645504/17639
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/17639
|
||||
|
||||
#EXTINF:-1 tvg-chno="62" 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://cord-cutter.net:8080/k4Svp2/645504/1818
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/1818
|
||||
|
||||
#EXTINF:-1 tvg-chno="63" tvg-id="FS1.Fox.Sports.1.HD.us2" tvg-name="Fox Sports 1" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s82541_dark_360w_270h.png" group-title="TV",Fox Sports 1
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/1846
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/1846
|
||||
|
||||
#EXTINF:-1 tvg-chno="64" tvg-id="FS2.Fox.Sports.2.HD.us2" tvg-name="Fox Sports 2" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s33178_dark_360w_270h.png" group-title="TV",Fox Sports 2
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/1847
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/1847
|
||||
|
||||
#EXTINF:-1 tvg-chno="65" 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://cord-cutter.net:8080/k4Svp2/645504/13370
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/13370
|
||||
|
||||
#EXTINF:-1 tvg-chno="66" 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://fl1.moveonjoy.com/FUSE/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="67" tvg-id="FX.HD.us2" tvg-name="FX" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14321_dark_360w_270h.png" group-title="TV",FX
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/46690
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/46690
|
||||
|
||||
#EXTINF:-1 tvg-chno="68" 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://fl1.moveonjoy.com/FX_MOVIE/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="69" 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://cord-cutter.net:8080/k4Svp2/645504/46699
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/46699
|
||||
|
||||
#EXTINF:-1 tvg-chno="70" 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://fl1.moveonjoy.com/FYI/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="71" 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://cord-cutter.net:8080/k4Svp2/645504/120633
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/120633
|
||||
|
||||
#EXTINF:-1 tvg-chno="72" 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://cord-cutter.net:8080/k4Svp2/645504/18366
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/18366
|
||||
|
||||
#EXTINF:-1 tvg-chno="73" tvg-id="Golf.Channel.HD.us2" tvg-name="Golf Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14899_dark_360w_270h.png" group-title="TV",Golf Channel
|
||||
https://fl1.moveonjoy.com/GOLF/index.m3u8
|
||||
|
|
@ -232,7 +232,7 @@ https://fl1.moveonjoy.com/HALLMARK_DRAMA/index.m3u8
|
|||
https://fl1.moveonjoy.com/HALLMARK_MOVIES_MYSTERIES/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="78" tvg-id="HBO.East.us2" tvg-name="HBO" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10240_dark_360w_270h.png" group-title="TV",HBO
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/46713
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/46713
|
||||
|
||||
#EXTINF:-1 tvg-chno="79" tvg-id="HBO2.HD.us2" tvg-name="HBO 2" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s68140_dark_360w_270h.png" group-title="TV",HBO 2
|
||||
http://fl1.moveonjoy.com/HBO_2/index.m3u8
|
||||
|
|
@ -247,7 +247,7 @@ https://fl1.moveonjoy.com/HBO_FAMILY/index.m3u8
|
|||
https://fl1.moveonjoy.com/HBO_ZONE/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="83" tvg-id="History.HD.us2" tvg-name="History Channel" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s87679_dark_360w_270h.png" group-title="TV",History Channel
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/15017
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/15017
|
||||
|
||||
#EXTINF:-1 tvg-chno="84" tvg-id="HLN.HD.us2" tvg-name="HLN TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10145_dark_360w_270h.png" group-title="TV",HLN TV
|
||||
https://turnerlive.warnermediacdn.com/hls/live/586496/cnngo/hln/VIDEO_0_3564000.m3u8
|
||||
|
|
@ -256,7 +256,7 @@ https://turnerlive.warnermediacdn.com/hls/live/586496/cnngo/hln/VIDEO_0_3564000.
|
|||
https://fl1.moveonjoy.com/INVESTIGATION_DISCOVERY/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="86" tvg-id="ION.Television.HD.us2" tvg-name="ION TV" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s18633_dark_360w_270h.png" group-title="TV",ION TV
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/9297
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/9297
|
||||
|
||||
#EXTINF:-1 tvg-chno="87" tvg-id="Lifetime.HD.us2" tvg-name="Lifetime" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10918_dark_360w_270h.png" group-title="TV",Lifetime
|
||||
http://fl1.moveonjoy.com/LIFETIME/index.m3u8
|
||||
|
|
@ -265,16 +265,16 @@ http://fl1.moveonjoy.com/LIFETIME/index.m3u8
|
|||
https://fl1.moveonjoy.com/LIFETIME_MOVIE_NETWORK/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="89" tvg-id="Marquee.Sports.Network.HD.us2" tvg-name="Marquee Sports Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s113768_dark_360w_270h.png" group-title="TV",Marquee Sports Network
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/13379
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/13379
|
||||
|
||||
#EXTINF:-1 tvg-chno="90" tvg-id="MLB.Network.HD.us2" tvg-name="MLB Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s62081_dark_360w_270h.png" group-title="TV",MLB Network
|
||||
https://fl1.moveonjoy.com/MLB_NETWORK/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="91" tvg-id="MOTORTREND.HD.us2" tvg-name="MotorTrend TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s31046_dark_360w_270h.png" group-title="TV",MotorTrend TV
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/10399
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/10399
|
||||
|
||||
#EXTINF:-1 tvg-chno="92" tvg-id="MSG.National.us2" tvg-name="MSG" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10979_dark_360w_270h.png" group-title="TV",MSG
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/21090
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/21090
|
||||
|
||||
#EXTINF:-1 tvg-chno="93" tvg-id="MSNBC.HD.us2" tvg-name="MSNBC" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16300_dark_360w_270h.png" group-title="TV",MSNBC
|
||||
https://fl1.moveonjoy.com/MSNBC/index.m3u8
|
||||
|
|
@ -292,40 +292,40 @@ http://fl1.moveonjoy.com/NBA_TV/index.m3u8
|
|||
https://fl1.moveonjoy.com/FL_Tampa_NBC/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="98" 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://cord-cutter.net:8080/k4Svp2/645504/9900
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/9900
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/20939
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/20939
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/20940
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/20940
|
||||
|
||||
#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/plu-6549306c83595c000815a696.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="102" tvg-id="NBC.Sports.Philadelphia.HD.us2" tvg-name="NBC Sports Philadelphia" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s32571_dark_360w_270h.png" group-title="TV",NBC Sports Philadelphia
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/20943
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/20943
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/31637
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/31637
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/161450
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/161450
|
||||
|
||||
#EXTINF:-1 tvg-chno="105" tvg-id="NFL.Network.HD.us2" tvg-name="NFL Network" tvg-logo="https://raw.githubusercontent.com/tv-logo/tv-logos/refs/heads/main/countries/united-states/nfl-network-hz-us.png" group-title="TV",NFL Network
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/159117
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/159117
|
||||
|
||||
#EXTINF:-1 tvg-chno="106" tvg-id="NFL.RedZone.HD.us2" tvg-name="NFL RedZone" tvg-logo="https://raw.githubusercontent.com/tv-logo/tv-logos/refs/heads/main/countries/united-states/nfl-red-zone-hz-us.png" group-title="TV",NFL RedZone
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/208830
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/208830
|
||||
|
||||
#EXTINF:-1 tvg-chno="107" tvg-id="NHL.Network.HD.us2" tvg-name="NHL Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58570_dark_360w_270h.png" group-title="TV",NHL Network
|
||||
http://23.237.104.106:8080/USA_NHL_NETWORK/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="108" 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://cord-cutter.net:8080/k4Svp2/645504/38
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/38
|
||||
|
||||
#EXTINF:-1 tvg-chno="109" tvg-id="Nicktoons.us2" tvg-name="Nicktoons" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s30420_dark_360w_270h.png" group-title="TV",Nicktoons
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/36
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/36
|
||||
|
||||
#EXTINF:-1 tvg-chno="110" tvg-id="Outdoor.Channel.HD.us2" tvg-name="Outdoor Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14776_dark_360w_270h.png" group-title="TV",Outdoor Channel
|
||||
http://fl1.moveonjoy.com/OUTDOOR_CHANNEL/index.m3u8
|
||||
|
|
@ -346,13 +346,13 @@ https://fl1.moveonjoy.com/Pop_TV/index.m3u8
|
|||
http://c3921155.edmonst.net/iptv/ZQHGFQ9PRYN859UHYGWY674B/2160/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="116" tvg-id="ReelzChannel.HD.us2" tvg-name="Reelz Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s68385_dark_360w_270h.png" group-title="TV",Reelz Channel
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/10526
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/10526
|
||||
|
||||
#EXTINF:-1 tvg-chno="117" tvg-id="ROOT.Sports.Northwest.HD.us2" tvg-name="Root Sports" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11062_dark_360w_270h.png" group-title="TV",Root Sports
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/85232
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/85232
|
||||
|
||||
#EXTINF:-1 tvg-chno="118" tvg-id="SEC.Network.HD.us2" tvg-name="SEC Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s89535_dark_360w_270h.png" group-title="TV",SEC Network
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/17608
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/17608
|
||||
|
||||
#EXTINF:-1 tvg-chno="119" tvg-id="Paramount+.with.Showtime.HD.us2" tvg-name="Showtime" tvg-logo="https://raw.githubusercontent.com/tv-logo/tv-logos/refs/heads/main/countries/united-states/showtime-us.png" group-title="TV",Showtime
|
||||
http://fl1.moveonjoy.com/SHOWTIME/index.m3u8
|
||||
|
|
@ -364,37 +364,37 @@ http://fl1.moveonjoy.com/SMITHSONIAN_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
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/213668
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/213668
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/31636
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/31636
|
||||
|
||||
#EXTINF:-1 tvg-chno="124" 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://cord-cutter.net:8080/k4Svp2/645504/20946
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/20946
|
||||
|
||||
#EXTINF:-1 tvg-chno="125" 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://cord-cutter.net:8080/k4Svp2/645504/57299
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/57299
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/57298
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/57298
|
||||
|
||||
#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
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/20938
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/20938
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/10247
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/10247
|
||||
|
||||
#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
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/11649
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/11649
|
||||
|
||||
#EXTINF:-1 tvg-chno="130" 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://cord-cutter.net:8080/k4Svp2/645504/108178
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/108178
|
||||
|
||||
#EXTINF:-1 tvg-chno="131" 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://cord-cutter.net:8080/k4Svp2/645504/9299
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/9299
|
||||
|
||||
#EXTINF:-1 tvg-chno="132" 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://cord-cutter.net:8080/k4Svp2/645504/46685
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/46685
|
||||
|
||||
#EXTINF:-1 tvg-chno="133" 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
|
||||
|
|
@ -403,10 +403,10 @@ https://turnerlive.warnermediacdn.com/hls/live/2023172/tbseast/slate/VIDEO_0_356
|
|||
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
|
||||
http://cord-cutter.net:8080/k4Svp2/645504/18926
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/18926
|
||||
|
||||
#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://cord-cutter.net:8080/k4Svp2/645504/12734
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/12734
|
||||
|
||||
#EXTINF:-1 tvg-chno="137" 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
|
||||
|
|
@ -415,10 +415,10 @@ https://turnerlive.warnermediacdn.com/hls/live/2023168/tnteast/slate/VIDEO_0_356
|
|||
https://turnerlive.warnermediacdn.com/hls/live/2023176/trueast/slate/VIDEO_0_3564000.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="139" 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://cord-cutter.net:8080/k4Svp2/645504/57292
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/57292
|
||||
|
||||
#EXTINF:-1 tvg-chno="140" 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://cord-cutter.net:8080/k4Svp2/645504/47442
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/47442
|
||||
|
||||
#EXTINF:-1 tvg-chno="141" 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
|
||||
|
|
@ -430,13 +430,13 @@ https://fl1.moveonjoy.com/TV_LAND/index.m3u8
|
|||
https://fl1.moveonjoy.com/TV_ONE/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="144" 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://cord-cutter.net:8080/k4Svp2/645504/10252
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/10252
|
||||
|
||||
#EXTINF:-1 tvg-chno="145" 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://cord-cutter.net:8080/k4Svp2/645504/46697
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/46697
|
||||
|
||||
#EXTINF:-1 tvg-chno="146" 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://cord-cutter.net:8080/k4Svp2/645504/41979
|
||||
http://tv14s.xyz:8080/A1Jay5/362586/41979
|
||||
|
||||
#EXTINF:-1 tvg-chno="147" 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
|
||||
https://fl1.moveonjoy.com/YES_NETWORK/index.m3u8
|
||||
1332
M3U8/events.m3u8
1332
M3U8/events.m3u8
File diff suppressed because it is too large
Load diff
|
|
@ -11,13 +11,11 @@ from scrapers import (
|
|||
roxie,
|
||||
shark,
|
||||
sport9,
|
||||
streambtw,
|
||||
streamcenter,
|
||||
streamfree,
|
||||
streamhub,
|
||||
streamsgate,
|
||||
strmd,
|
||||
timstreams,
|
||||
tvpass,
|
||||
watchfooty,
|
||||
webcast,
|
||||
|
|
@ -56,13 +54,11 @@ async def main() -> None:
|
|||
asyncio.create_task(roxie.scrape(network.client)),
|
||||
asyncio.create_task(shark.scrape(network.client)),
|
||||
asyncio.create_task(sport9.scrape(network.client)),
|
||||
asyncio.create_task(streambtw.scrape(network.client)),
|
||||
asyncio.create_task(streamcenter.scrape(network.client)),
|
||||
asyncio.create_task(streamfree.scrape(network.client)),
|
||||
asyncio.create_task(streamhub.scrape(network.client)),
|
||||
asyncio.create_task(streamsgate.scrape(network.client)),
|
||||
asyncio.create_task(strmd.scrape(network.client)),
|
||||
asyncio.create_task(timstreams.scrape(network.client)),
|
||||
asyncio.create_task(tvpass.scrape(network.client)),
|
||||
asyncio.create_task(watchfooty.scrape(network.client)),
|
||||
asyncio.create_task(webcast.scrape(network.client)),
|
||||
|
|
@ -78,13 +74,11 @@ async def main() -> None:
|
|||
| roxie.urls
|
||||
| shark.urls
|
||||
| sport9.urls
|
||||
| streambtw.urls
|
||||
| streamcenter.urls
|
||||
| strmd.urls
|
||||
| streamfree.urls
|
||||
| streamhub.urls
|
||||
| streamsgate.urls
|
||||
| timstreams.urls
|
||||
| tvpass.urls
|
||||
| watchfooty.urls
|
||||
| webcast.urls
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ log = get_logger(__name__)
|
|||
|
||||
urls: dict[str, dict[str, str | float]] = {}
|
||||
|
||||
TAG = "SPRT9"
|
||||
TAG = "SPORT9"
|
||||
|
||||
CACHE_FILE = Cache(f"{TAG.lower()}.json", exp=3_600)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,145 +0,0 @@
|
|||
import base64
|
||||
import re
|
||||
from functools import partial
|
||||
from urllib.parse import urljoin
|
||||
|
||||
import httpx
|
||||
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 = "STRMBTW"
|
||||
|
||||
CACHE_FILE = Cache(f"{TAG.lower()}.json", exp=3_600)
|
||||
|
||||
BASE_URL = "https://streambtw.com"
|
||||
|
||||
|
||||
def fix_league(s: str) -> str:
|
||||
pattern = re.compile(r"^\w*-\w*", re.IGNORECASE)
|
||||
|
||||
return " ".join(s.split("-")) if pattern.search(s) else s
|
||||
|
||||
|
||||
async def process_event(
|
||||
client: httpx.AsyncClient,
|
||||
url: str,
|
||||
url_num: int,
|
||||
) -> str | None:
|
||||
|
||||
try:
|
||||
r = await client.get(url)
|
||||
r.raise_for_status()
|
||||
except Exception as e:
|
||||
log.error(f'URL {url_num}) Failed to fetch "{url}": {e}')
|
||||
return
|
||||
|
||||
valid_m3u8 = re.compile(r'var\s+(\w+)\s*=\s*"([^"]*)"', re.IGNORECASE)
|
||||
|
||||
if not (match := valid_m3u8.search(r.text)):
|
||||
log.info(f"URL {url_num}) No M3U8 found")
|
||||
return
|
||||
|
||||
stream_link: str = match[2]
|
||||
|
||||
if not stream_link.startswith("http"):
|
||||
stream_link = base64.b64decode(stream_link).decode("utf-8")
|
||||
|
||||
log.info(f"URL {url_num}) Captured M3U8")
|
||||
|
||||
return stream_link
|
||||
|
||||
|
||||
async def get_events(client: httpx.AsyncClient) -> list[dict[str, str]]:
|
||||
try:
|
||||
r = await client.get(BASE_URL)
|
||||
r.raise_for_status()
|
||||
except Exception as e:
|
||||
log.error(f'Failed to fetch "{BASE_URL}": {e}')
|
||||
|
||||
return []
|
||||
|
||||
soup = HTMLParser(r.content)
|
||||
|
||||
events = []
|
||||
|
||||
for card in soup.css("div.container div.card"):
|
||||
link = card.css_first("a.btn.btn-primary")
|
||||
|
||||
if not (href := link.attrs.get("href")):
|
||||
continue
|
||||
|
||||
league = card.css_first("h5.card-title").text(strip=True)
|
||||
|
||||
name = card.css_first("p.card-text").text(strip=True)
|
||||
|
||||
events.append(
|
||||
{
|
||||
"sport": fix_league(league),
|
||||
"event": name,
|
||||
"link": urljoin(BASE_URL, href),
|
||||
}
|
||||
)
|
||||
|
||||
return events
|
||||
|
||||
|
||||
async def scrape(client: httpx.AsyncClient) -> None:
|
||||
if cached := CACHE_FILE.load():
|
||||
urls.update(cached)
|
||||
log.info(f"Loaded {len(urls)} event(s) from cache")
|
||||
return
|
||||
|
||||
log.info(f'Scraping from "{BASE_URL}"')
|
||||
|
||||
events = await get_events(client)
|
||||
|
||||
log.info(f"Processing {len(events)} new URL(s)")
|
||||
|
||||
if events:
|
||||
now = Time.now().timestamp()
|
||||
|
||||
for i, ev in enumerate(events, start=1):
|
||||
handler = partial(
|
||||
process_event,
|
||||
client=client,
|
||||
url=ev["link"],
|
||||
url_num=i,
|
||||
)
|
||||
|
||||
url = await network.safe_process(
|
||||
handler,
|
||||
url_num=i,
|
||||
log=log,
|
||||
timeout=10,
|
||||
)
|
||||
|
||||
if url:
|
||||
sport, event, link = (
|
||||
ev["sport"],
|
||||
ev["event"],
|
||||
ev["link"],
|
||||
)
|
||||
|
||||
key = f"[{sport}] {event} ({TAG})"
|
||||
|
||||
tvg_id, logo = leagues.get_tvg_info(sport, event)
|
||||
|
||||
entry = {
|
||||
"url": url,
|
||||
"logo": logo,
|
||||
"base": link,
|
||||
"timestamp": now,
|
||||
"id": tvg_id or "Live.Event.us",
|
||||
"link": link,
|
||||
}
|
||||
|
||||
urls[key] = entry
|
||||
|
||||
log.info(f"Collected {len(urls)} event(s)")
|
||||
|
||||
CACHE_FILE.write(urls)
|
||||
|
|
@ -68,7 +68,7 @@ async def get_events(
|
|||
events = []
|
||||
|
||||
start_dt = now.delta(minutes=-30)
|
||||
end_dt = now.delta(minutes=30)
|
||||
end_dt = now.delta(minutes=10)
|
||||
|
||||
for stream_group in api_data:
|
||||
category_id: int = stream_group.get("categoryId")
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ async def get_events(
|
|||
|
||||
live = []
|
||||
|
||||
start_ts = now.delta(hours=-1).timestamp()
|
||||
start_ts = now.delta(minutes=-30).timestamp()
|
||||
end_ts = now.delta(minutes=5).timestamp()
|
||||
|
||||
for k, v in events.items():
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ log = get_logger(__name__)
|
|||
|
||||
urls: dict[str, dict[str, str | float]] = {}
|
||||
|
||||
TAG = "STRMSG8"
|
||||
TAG = "STRMSGATE"
|
||||
|
||||
CACHE_FILE = Cache(f"{TAG.lower()}.json", exp=10_800)
|
||||
|
||||
|
|
@ -94,8 +94,8 @@ async def get_events(
|
|||
|
||||
events = []
|
||||
|
||||
start_dt = now.delta(hours=-1)
|
||||
end_dt = now.delta(minutes=10)
|
||||
start_dt = now.delta(minutes=-30)
|
||||
end_dt = now.delta(minutes=5)
|
||||
|
||||
for stream_group in api_data:
|
||||
event_ts = stream_group.get("ts")
|
||||
|
|
|
|||
|
|
@ -1,175 +0,0 @@
|
|||
from functools import partial
|
||||
from typing import Any
|
||||
|
||||
import httpx
|
||||
from playwright.async_api import async_playwright
|
||||
|
||||
from .utils import Cache, Time, get_logger, leagues, network
|
||||
|
||||
log = get_logger(__name__)
|
||||
|
||||
urls: dict[str, dict[str, str | float]] = {}
|
||||
|
||||
TAG = "TIM"
|
||||
|
||||
CACHE_FILE = Cache(f"{TAG.lower()}.json", exp=10_800)
|
||||
|
||||
API_URL = "https://api.timstreams.site/main"
|
||||
|
||||
BASE_MIRRORS = [
|
||||
"https://timstreams.site",
|
||||
"https://timstreams.space",
|
||||
"https://timstreams.top",
|
||||
]
|
||||
|
||||
SPORT_GENRES = {
|
||||
1: "Soccer",
|
||||
2: "Motorsport",
|
||||
3: "MMA",
|
||||
4: "Fight",
|
||||
5: "Boxing",
|
||||
6: "Wrestling",
|
||||
7: "Basketball",
|
||||
8: "American Football",
|
||||
9: "Baseball",
|
||||
10: "Tennis",
|
||||
11: "Hockey",
|
||||
12: "Darts",
|
||||
13: "Cricket",
|
||||
14: "Cycling",
|
||||
15: "Rugby",
|
||||
16: "Live Shows",
|
||||
17: "Other",
|
||||
}
|
||||
|
||||
|
||||
async def refresh_api_cache(client: httpx.AsyncClient) -> list[dict[str, Any]]:
|
||||
try:
|
||||
r = await client.get(API_URL)
|
||||
r.raise_for_status()
|
||||
except Exception as e:
|
||||
log.error(f'Failed to fetch "{API_URL}": {e}')
|
||||
|
||||
return []
|
||||
|
||||
return r.json()
|
||||
|
||||
|
||||
async def get_events(
|
||||
client: httpx.AsyncClient, cached_keys: set[str]
|
||||
) -> list[dict[str, str]]:
|
||||
api_data = await refresh_api_cache(client)
|
||||
|
||||
now = Time.now().timestamp()
|
||||
|
||||
events = []
|
||||
|
||||
for info in api_data:
|
||||
if not (category := info.get("category")) or category != "Events":
|
||||
continue
|
||||
|
||||
stream_events: list[dict[str, Any]] = info["events"]
|
||||
|
||||
for ev in stream_events:
|
||||
name: str = ev["name"]
|
||||
|
||||
logo = ev.get("logo")
|
||||
|
||||
if (genre := ev["genre"]) in {16, 17}:
|
||||
continue
|
||||
|
||||
sport = SPORT_GENRES.get(genre, "Live Event")
|
||||
|
||||
streams: list[dict[str, str]] = ev["streams"]
|
||||
|
||||
for z, stream in enumerate(streams, start=1):
|
||||
key = f"[{sport}] {name} {z} ({TAG})"
|
||||
|
||||
if cached_keys & {key}:
|
||||
continue
|
||||
|
||||
if not (url := stream.get("url")):
|
||||
continue
|
||||
|
||||
events.append(
|
||||
{
|
||||
"key": key,
|
||||
"sport": sport,
|
||||
"event": name,
|
||||
"link": url,
|
||||
"logo": logo,
|
||||
"timestamp": now,
|
||||
}
|
||||
)
|
||||
|
||||
return events
|
||||
|
||||
|
||||
async def scrape(client: httpx.AsyncClient) -> None:
|
||||
cached_urls = CACHE_FILE.load()
|
||||
cached_count = len(cached_urls)
|
||||
urls.update(cached_urls)
|
||||
|
||||
log.info(f"Loaded {cached_count} event(s) from cache")
|
||||
|
||||
if not (base_url := await network.get_base(BASE_MIRRORS)):
|
||||
log.warning("No working Timstreams mirrors")
|
||||
CACHE_FILE.write(cached_urls)
|
||||
return
|
||||
|
||||
log.info(f'Scraping from "{base_url}"')
|
||||
|
||||
events = await get_events(client, set(cached_urls.keys()))
|
||||
|
||||
log.info(f"Processing {len(events)} new URL(s)")
|
||||
|
||||
if events:
|
||||
async with async_playwright() as p:
|
||||
browser, context = await network.browser(p)
|
||||
|
||||
for i, ev in enumerate(events, start=1):
|
||||
handler = partial(
|
||||
network.process_event,
|
||||
url=ev["link"],
|
||||
url_num=i,
|
||||
context=context,
|
||||
log=log,
|
||||
)
|
||||
|
||||
url = await network.safe_process(
|
||||
handler,
|
||||
url_num=i,
|
||||
log=log,
|
||||
)
|
||||
|
||||
if url:
|
||||
sport, event, logo, ts, link, key = (
|
||||
ev["sport"],
|
||||
ev["event"],
|
||||
ev["logo"],
|
||||
ev["timestamp"],
|
||||
ev["link"],
|
||||
ev["key"],
|
||||
)
|
||||
|
||||
tvg_id, pic = leagues.get_tvg_info(sport, event)
|
||||
|
||||
entry = {
|
||||
"url": url,
|
||||
"logo": logo or pic,
|
||||
"base": base_url,
|
||||
"timestamp": ts,
|
||||
"id": tvg_id or "Live.Event.us",
|
||||
"link": link,
|
||||
}
|
||||
|
||||
urls[key] = cached_urls[key] = entry
|
||||
|
||||
await browser.close()
|
||||
|
||||
if new_count := len(cached_urls) - cached_count:
|
||||
log.info(f"Collected and cached {new_count} new event(s)")
|
||||
else:
|
||||
log.info("No new events found")
|
||||
|
||||
CACHE_FILE.write(cached_urls)
|
||||
|
|
@ -6,6 +6,12 @@
|
|||
"logo": "https://1000logos.net/wp-content/uploads/2024/04/Basketball-Emoji-1536x864.png",
|
||||
"names": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"EUROLEAGUE": {
|
||||
"logo": "https://www.euroleaguebasketball.net/images/logo-default.png",
|
||||
"names": ["EUROLEAGUE BASKETBALL"]
|
||||
}
|
||||
}
|
||||
],
|
||||
"Golf.Dummy.us": [
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ log = get_logger(__name__)
|
|||
|
||||
urls: dict[str, dict[str, str | float]] = {}
|
||||
|
||||
TAG = "WFTY"
|
||||
TAG = "WATCHFTY"
|
||||
|
||||
CACHE_FILE = Cache(f"{TAG.lower()}.json", exp=10_800)
|
||||
|
||||
|
|
@ -104,7 +104,7 @@ async def process_event(
|
|||
timeout=15_000,
|
||||
)
|
||||
|
||||
await page.wait_for_timeout(1_500)
|
||||
await page.wait_for_timeout(2_000)
|
||||
|
||||
try:
|
||||
header = await page.wait_for_selector(
|
||||
|
|
@ -177,8 +177,9 @@ async def get_events(
|
|||
events = []
|
||||
|
||||
now = Time.clean(Time.now())
|
||||
start_dt = now.delta(hours=-1)
|
||||
end_dt = now.delta(minutes=10)
|
||||
start_dt = now.delta(minutes=-30)
|
||||
end_dt = now.delta(minutes=5)
|
||||
|
||||
pattern = re.compile(r"\-+|\(")
|
||||
|
||||
for event in api_data:
|
||||
|
|
@ -251,7 +252,7 @@ async def scrape(client: httpx.AsyncClient) -> None:
|
|||
|
||||
if events:
|
||||
async with async_playwright() as p:
|
||||
browser, context = await network.browser(p)
|
||||
browser, context = await network.browser(p, browser="brave")
|
||||
|
||||
for i, ev in enumerate(events, start=1):
|
||||
handler = partial(
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ log = get_logger(__name__)
|
|||
|
||||
urls: dict[str, dict[str, str | float]] = {}
|
||||
|
||||
TAG = "WEBCST"
|
||||
TAG = "WEBCAST"
|
||||
|
||||
CACHE_FILE = Cache(f"{TAG.lower()}.json", exp=10_800)
|
||||
|
||||
|
|
|
|||
99
readme.md
99
readme.md
|
|
@ -1,10 +1,103 @@
|
|||
## Base Log @ 2025-12-15 20:44 UTC
|
||||
## Base Log @ 2025-12-16 20:43 UTC
|
||||
|
||||
### ✅ Working Streams: 145<br>❌ Dead Streams: 1
|
||||
### ✅ Working Streams: 52<br>❌ Dead Streams: 94
|
||||
|
||||
| Channel | Error (Code) | Link |
|
||||
| ------- | ------------ | ---- |
|
||||
| FDSN Florida | HTTP Error (403) | `http://cord-cutter.net:8080/k4Svp2/645504/46794` |
|
||||
| A&E TV | HTTP Error (404) | `http://fl1.moveonjoy.com/ANE/index.m3u8` |
|
||||
| ACC Network | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/9273` |
|
||||
| AMC | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/18925` |
|
||||
| Altitude Sports | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/79545` |
|
||||
| Animal Planet | HTTP Error (404) | `http://fl1.moveonjoy.com/Animal_Planet/index.m3u8` |
|
||||
| BBC America | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/20194` |
|
||||
| BBC World News | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/139752` |
|
||||
| BET | HTTP Error (404) | `http://fl1.moveonjoy.com/BET_EAST/index.m3u8` |
|
||||
| Big Ten Network | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/9828` |
|
||||
| Bloomberg TV | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/15158` |
|
||||
| Boomerang | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/14741` |
|
||||
| Bounce TV | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/48323` |
|
||||
| CBS Sports Network | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/10454` |
|
||||
| CBS | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/120749` |
|
||||
| CW | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/120893` |
|
||||
| Cartoon Network | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/46708` |
|
||||
| Comedy Central | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/7466` |
|
||||
| Comedy TV | HTTP Error (404) | `https://fl1.moveonjoy.com/Comedy_TV/index.m3u8` |
|
||||
| Comet TV | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/125831` |
|
||||
| Cooking Channel | HTTP Error (404) | `https://fl1.moveonjoy.com/COOKING_CHANNEL/index.m3u8` |
|
||||
| Court TV | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/21092` |
|
||||
| Cozi TV | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/11868` |
|
||||
| Crime & Investigation Network | HTTP Error (404) | `https://fl1.moveonjoy.com/Crime_and_Investigation_Network/index.m3u8` |
|
||||
| Discovery Channel | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/46720` |
|
||||
| Discovery Family Channel | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/10538` |
|
||||
| Discovery Life | HTTP Error (404) | `https://fl1.moveonjoy.com/DISCOVERY_LIFE/index.m3u8` |
|
||||
| Disney XD | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/75621` |
|
||||
| Disney | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/2206` |
|
||||
| ESPN News | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/17707` |
|
||||
| ESPN U | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/10255` |
|
||||
| ESPN | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/14197` |
|
||||
| ESPN2 | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/2210` |
|
||||
| FDSN Detroit | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/20936` |
|
||||
| FDSN Florida | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/46794` |
|
||||
| FDSN Midwest | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/66795` |
|
||||
| FDSN North | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/58827` |
|
||||
| FDSN Ohio | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/17752` |
|
||||
| FDSN Oklahoma | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/20934` |
|
||||
| FDSN SoCal | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/221151` |
|
||||
| FDSN Southeast | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/81111` |
|
||||
| FDSN Southwest | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/21843` |
|
||||
| FDSN Sun | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/104917` |
|
||||
| FDSN West | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/20932` |
|
||||
| FDSN Wisconsin | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/78599` |
|
||||
| FX | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/46690` |
|
||||
| FXX | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/46699` |
|
||||
| Food Network | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/7323` |
|
||||
| Fox Business | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/17639` |
|
||||
| Fox News | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/1818` |
|
||||
| Fox Sports 1 | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/1846` |
|
||||
| Fox Sports 2 | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/1847` |
|
||||
| Fox | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/121595` |
|
||||
| Freeform TV | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/13370` |
|
||||
| Game Show Network | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/120633` |
|
||||
| HBO | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/46713` |
|
||||
| History Channel | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/15017` |
|
||||
| ION TV | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/9297` |
|
||||
| Investigation Discovery | HTTP Error (404) | `https://fl1.moveonjoy.com/INVESTIGATION_DISCOVERY/index.m3u8` |
|
||||
| MSG | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/21090` |
|
||||
| Marquee Sports Network | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/13379` |
|
||||
| MotorTrend TV | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/10399` |
|
||||
| NBC Sports Bay Area | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/9900` |
|
||||
| NBC Sports Boston | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/20939` |
|
||||
| NBC Sports California | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/20940` |
|
||||
| NBC Sports Philadelphia | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/20943` |
|
||||
| NESN | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/31637` |
|
||||
| NFL Network | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/159117` |
|
||||
| NFL RedZone | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/208830` |
|
||||
| NewsNation | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/161450` |
|
||||
| Nickelodeon | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/38` |
|
||||
| Nicktoons | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/36` |
|
||||
| Oxygen | HTTP Error (404) | `https://fl1.moveonjoy.com/OXYGEN/index.m3u8` |
|
||||
| Reelz Channel | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/10526` |
|
||||
| Root Sports | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/85232` |
|
||||
| SEC Network | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/17608` |
|
||||
| Space City Home Network | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/213668` |
|
||||
| Spectrum SportsNet LA Dodgers | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/31636` |
|
||||
| Spectrum SportsNet Lakers | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/20946` |
|
||||
| SportsNet New York | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/20938` |
|
||||
| SportsNet Pittsburgh | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/108178` |
|
||||
| Sportsnet 360 | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/57299` |
|
||||
| Sportsnet East | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/57298` |
|
||||
| Sportsnet One | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/10247` |
|
||||
| Sportsnet Ontario | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/11649` |
|
||||
| Starz | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/9299` |
|
||||
| Syfy | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/46685` |
|
||||
| TLC | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/12734` |
|
||||
| TSN1 | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/57292` |
|
||||
| TSN2 | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/47442` |
|
||||
| The Weather Channel | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/18926` |
|
||||
| USA East | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/10252` |
|
||||
| Vice TV | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/46697` |
|
||||
| Willow Cricket | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/41979` |
|
||||
| getTV | HTTP Error (404) | `http://cord-cutter.net:8080/k4Svp2/645504/18366` |
|
||||
---
|
||||
#### Base Channels URL
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue