diff --git a/M3U8/fetch.py b/M3U8/fetch.py index e93109d..a84ec16 100644 --- a/M3U8/fetch.py +++ b/M3U8/fetch.py @@ -3,7 +3,7 @@ import asyncio from pathlib import Path import httpx -from scrapers import fstv, ppv, streambtw, streameast, tvpass +from scrapers import fstv, livetvsx, ppv, streambtw, tvpass from scrapers.utils import UA, get_logger log = get_logger(__name__) @@ -37,9 +37,9 @@ async def vanilla_fetch() -> tuple[list[str], int]: async def main() -> None: tasks = [ asyncio.create_task(fstv.main(CLIENT)), + asyncio.create_task(livetvsx.main(CLIENT)), asyncio.create_task(ppv.main(CLIENT)), asyncio.create_task(streambtw.main(CLIENT)), - asyncio.create_task(streameast.main(CLIENT)), asyncio.create_task(tvpass.main(CLIENT)), vanilla_fetch(), ] @@ -48,7 +48,7 @@ async def main() -> None: base_m3u8, tvg_chno = results[-1] - additions = fstv.urls | ppv.urls | streambtw.urls | streameast.urls | tvpass.urls + additions = fstv.urls | livetvsx.urls | ppv.urls | streambtw.urls | tvpass.urls live_events = [] diff --git a/M3U8/scrapers/utils/config.py b/M3U8/scrapers/utils/config.py index 0814752..76d7e92 100644 --- a/M3U8/scrapers/utils/config.py +++ b/M3U8/scrapers/utils/config.py @@ -250,6 +250,18 @@ async def firefox( if (param === 37446) return "Intel Iris OpenGL Engine"; // UNMASKED_RENDERER_WEBGL return getParameter.apply(this, [param]); }; + + const observer = new MutationObserver(mutations => { + mutations.forEach(mutation => { + mutation.addedNodes.forEach(node => { + if (node.tagName === 'IFRAME' && node.hasAttribute('sandbox')) { + node.removeAttribute('sandbox'); + } + }); + }); + }); + + observer.observe(document.documentElement, { childList: true, subtree: true }); """ )