From 559ee6ed4e1d705dce358b54f98478317375562a Mon Sep 17 00:00:00 2001 From: WebStreamr <210764791+webstreamr@users.noreply.github.com> Date: Sat, 10 Jan 2026 20:40:13 +0000 Subject: [PATCH] chore(source): simplifly Frembed domain detection again no clue why, but audin213.com is timing out on the official instance --- src/source/Frembed.ts | 6 +-- .../Frembed/head-https:frembed.buzz | 1 + .../Frembed/head-https:frembed.life | 1 + .../Frembed/head-https:frembed.my | 1 + .../__fixtures__/Frembed/https:audin213.com | 1 - ...ps:frembed.buzzapifilmsid3176andidTypetmdb | 1 + ...apiseriesid42009andsa4andepi2andidTypetmdb | 1 + ...ps:frembed.lifeapifilmsid3176andidTypetmdb | 1 - ...apiseriesid42009andsa4andepi2andidTypetmdb | 1 - src/source/__snapshots__/Frembed.test.ts.snap | 40 +++++++++---------- 10 files changed, 26 insertions(+), 28 deletions(-) create mode 100644 src/source/__fixtures__/Frembed/head-https:frembed.buzz create mode 100644 src/source/__fixtures__/Frembed/head-https:frembed.life create mode 100644 src/source/__fixtures__/Frembed/head-https:frembed.my delete mode 100644 src/source/__fixtures__/Frembed/https:audin213.com create mode 100644 src/source/__fixtures__/Frembed/https:frembed.buzzapifilmsid3176andidTypetmdb create mode 100644 src/source/__fixtures__/Frembed/https:frembed.buzzapiseriesid42009andsa4andepi2andidTypetmdb delete mode 100644 src/source/__fixtures__/Frembed/https:frembed.lifeapifilmsid3176andidTypetmdb delete mode 100644 src/source/__fixtures__/Frembed/https:frembed.lifeapiseriesid42009andsa4andepi2andidTypetmdb diff --git a/src/source/Frembed.ts b/src/source/Frembed.ts index 04fabee..504922b 100644 --- a/src/source/Frembed.ts +++ b/src/source/Frembed.ts @@ -59,10 +59,6 @@ export class Frembed extends Source { }; private readonly getBaseUrl = async (ctx: Context): Promise => { - const html = await this.fetcher.text(ctx, new URL('https://audin213.com/')); - - const frembedMatcher = html.match(/"(https:\/\/frembed.*?)"/) as string[]; - - return new URL(frembedMatcher[1] as string); + return await this.fetcher.getFinalRedirectUrl(ctx, new URL(this.baseUrl)); }; } diff --git a/src/source/__fixtures__/Frembed/head-https:frembed.buzz b/src/source/__fixtures__/Frembed/head-https:frembed.buzz new file mode 100644 index 0000000..7d63325 --- /dev/null +++ b/src/source/__fixtures__/Frembed/head-https:frembed.buzz @@ -0,0 +1 @@ +{"date":"Sat, 10 Jan 2026 20:38:47 GMT","content-type":"text/html; charset=utf-8","connection":"close","vary":"RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch, Accept-Encoding","x-nextjs-cache":"HIT","x-nextjs-prerender":"1","x-nextjs-stale-time":"300","x-powered-by":"Next.js","cache-control":"s-maxage=31536000","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=KijXXV9%2BW036Qlsq0Rxt5j%2BtiZzpIZPtHXWjW3cj2PZTN17aZof15kQfCBTTXT7kPJTIcQCUlXlM%2F1x%2BzFqh4GJb9RxFPARVooZXkQ%3D%3D\"}]}","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","server":"cloudflare","x-turbo-charged-by":"LiteSpeed","cf-cache-status":"DYNAMIC","speculation-rules":"\"/cdn-cgi/speculation\"","cf-ray":"9bbefae15fc2367d-FRA","alt-svc":"h3=\":443\"; ma=86400"} \ No newline at end of file diff --git a/src/source/__fixtures__/Frembed/head-https:frembed.life b/src/source/__fixtures__/Frembed/head-https:frembed.life new file mode 100644 index 0000000..727442e --- /dev/null +++ b/src/source/__fixtures__/Frembed/head-https:frembed.life @@ -0,0 +1 @@ +{"date":"Sat, 10 Jan 2026 20:38:47 GMT","connection":"close","server":"cloudflare","x-turbo-charged-by":"LiteSpeed","location":"https://frembed.buzz/","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=iPDkMIh72n9NylJs%2FwFGx5CUvwMJRaX3qg1DoC7x2KL8sF41o8HJ5s4pIa7vzf%2B6sXB7XerV2evgU4XsCZp7u7pVcxMjpM3Dxw1GXA%3D%3D\"}]}","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-ray":"9bbefae0ff69367d-FRA","alt-svc":"h3=\":443\"; ma=86400"} \ No newline at end of file diff --git a/src/source/__fixtures__/Frembed/head-https:frembed.my b/src/source/__fixtures__/Frembed/head-https:frembed.my new file mode 100644 index 0000000..0316bb6 --- /dev/null +++ b/src/source/__fixtures__/Frembed/head-https:frembed.my @@ -0,0 +1 @@ +{"date":"Sat, 10 Jan 2026 20:38:47 GMT","connection":"close","server":"cloudflare","x-turbo-charged-by":"LiteSpeed","location":"https://frembed.life/","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=o6I8IO4H4QAfSW8K85zOBleAMtoZWkyraWxT5UUxslkSedI7bF2p8WyYvpZofvB%2F1zMAuYD6k%2B94vcUQKwsoSbtk7q0lRuOZwLQ%3D\"}]}","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-ray":"9bbefae09eed367d-FRA","alt-svc":"h3=\":443\"; ma=86400"} \ No newline at end of file diff --git a/src/source/__fixtures__/Frembed/https:audin213.com b/src/source/__fixtures__/Frembed/https:audin213.com deleted file mode 100644 index dd6f4f8..0000000 --- a/src/source/__fixtures__/Frembed/https:audin213.com +++ /dev/null @@ -1 +0,0 @@ -Nouvelles Adresses - Audin213
A2

AUDIN213

Domaines Officiels URL

Découvrez les nouvelles adresses officielles de Frembed, Fanstream et DirectFR – Streaming gratuit, IPTV et Live TV

Suivez-nous

Restez informé de nos dernières nouvelles et annonces

A2
AUDIN213

© 2025 All rights Not reserved.

\ No newline at end of file diff --git a/src/source/__fixtures__/Frembed/https:frembed.buzzapifilmsid3176andidTypetmdb b/src/source/__fixtures__/Frembed/https:frembed.buzzapifilmsid3176andidTypetmdb new file mode 100644 index 0000000..d7b392e --- /dev/null +++ b/src/source/__fixtures__/Frembed/https:frembed.buzzapifilmsid3176andidTypetmdb @@ -0,0 +1 @@ +{"tmdb":"3176","title":"Battle Royale","link1":"https://myvidplay.com/e/gtenfs0rffzq","link2":"https://netu.fremtv.lol/e/p0QUHavRbQD0","link3":"https://crystaltreatmenteast.com/e/lbeqm6ofmauq","link4":"https://video.streamtales.cc/player/frvod.php?url=https://streamtales.cc:8443/videos/3176.mp4","link5":null,"link6":"","link7":"https://uqload.bz/embed-pnxmokgrigu9.html","link1vostfr":null,"link2vostfr":null,"link3vostfr":null,"link4vostfr":null,"link5vostfr":null,"link6vostfr":null,"link7vostfr":null,"link1vo":null,"link2vo":null,"link3vo":null,"link4vo":null,"link5vo":null,"link6vo":null,"link7vo":null,"imdb":"tt0266308","year":"2000","version":"TrueFrench","quality":"HD","qualityVostfr":null,"qualityVo":null,"poster":"/8PzexNbQ9eAKxe0p2U4XP3DVJCp.jpg","backdrop":"/pmRtI4QvcBvXjw9mLOEAsV9Bq7i.jpg,/amBvmIshdsSkOtvVIgxl7YSQ9Dg.jpg,/n4rNQUV9S9DMgCkQVt7R7VLYxNr.jpg,/55qVIFhykb6M6CGWRKQd9BsLI5D.jpg,/e9vJTJHkCOyBitE67n8zlp5Qm8q.jpg,/tSbZky1KLzqOSGPzYtqnxTQzNFy.jpg,/cQR3VHRMUL8xGkWK5Up8rI7DHQD.jpg,/4oIoe9tcSRzGSImp9Jqp1SKFwes.jpg,/zajlFkhKugj9tqH57KHXpmTXIku.jpg,/hpP0ELkViFlU8PVWbEBvVx12YtJ.jpg","checked":null,"dead_link":0,"views":"2","date_creation":"2023-08-17T04:06:45.000Z","update_date":"2024-09-19T01:28:34.000Z","original_title":"バトル・ロワイアル","title_vf":"Battle Royale","tatavid":null,"dcsutom":96950} \ No newline at end of file diff --git a/src/source/__fixtures__/Frembed/https:frembed.buzzapiseriesid42009andsa4andepi2andidTypetmdb b/src/source/__fixtures__/Frembed/https:frembed.buzzapiseriesid42009andsa4andepi2andidTypetmdb new file mode 100644 index 0000000..627c33e --- /dev/null +++ b/src/source/__fixtures__/Frembed/https:frembed.buzzapiseriesid42009andsa4andepi2andidTypetmdb @@ -0,0 +1 @@ +{"id":44334,"tmdb":"42009","title":"Black Mirror","sa":4,"epi":2,"link":"https://ahvsh.com/e/83izf7qzwpae,https://netu.frembed.fun/e/0DFgfkcXOsDP,https://likessb.com/e/7yjgl1x56n08.html,https://ds2play.com/e/fzfvfq3ngig0","imdb":"tt2085059","year":null,"version":"VF","link_vostfr":"","link1":"https://myvidplay.com/e/dfx8me4un4ul\t","link2":"https://netu.fremtv.lol/e/0DFgfkcXOsDP","link3":"https://crystaltreatmenteast.com/e/cqy9oue7sv0g\t","link4":"https://ds2play.com/e/fzfvfq3ngig0","link5":null,"link6":null,"link7":null,"link1vostfr":"","link2vostfr":null,"link3vostfr":null,"link4vostfr":null,"link5vostfr":null,"link6vostfr":null,"link7vostfr":null,"link1vo":null,"link2vo":null,"link3vo":null,"link4vo":null,"link5vo":null,"link6vo":null,"link7vo":null,"date_creation":"2023-08-17T04:06:31.000Z","update_date":"2026-01-09T14:15:02.000Z","views":3,"backdropImage":"/dg3OindVAGZBjlT3xYKqIAdukPL.jpg","posterImage":"/seN6rRfN0I6n8iDXjlSMk1QjNcq.jpg","prevEpisode":{"sa":4,"epi":1,"url":"/series?id=42009&sa=4&epi=1"},"nextEpisode":{"sa":4,"epi":3,"url":"/series?id=42009&sa=4&epi=3"}} \ No newline at end of file diff --git a/src/source/__fixtures__/Frembed/https:frembed.lifeapifilmsid3176andidTypetmdb b/src/source/__fixtures__/Frembed/https:frembed.lifeapifilmsid3176andidTypetmdb deleted file mode 100644 index 3dbf184..0000000 --- a/src/source/__fixtures__/Frembed/https:frembed.lifeapifilmsid3176andidTypetmdb +++ /dev/null @@ -1 +0,0 @@ -{"tmdb":"3176","title":"Battle Royale","link1":"https://dsvplay.com/e/gtenfs0rffzq","link2":"https://netu.fremtv.lol/e/p0QUHavRbQD0","link3":"https://walterprettytheir.com/e/lbeqm6ofmauq","link4":"https://video.streamtales.cc/player/frvod.php?url=https://streamtales.cc:8443/videos/3176.mp4","link5":null,"link6":"","link7":"https://uqload.cx/embed-pnxmokgrigu9.html","link1vostfr":null,"link2vostfr":null,"link3vostfr":null,"link4vostfr":null,"link5vostfr":null,"link6vostfr":null,"link7vostfr":null,"link1vo":null,"link2vo":null,"link3vo":null,"link4vo":null,"link5vo":null,"link6vo":null,"link7vo":null,"imdb":"tt0266308","year":"2000","version":"TrueFrench","quality":"HD","qualityVostfr":null,"qualityVo":null,"poster":"/8PzexNbQ9eAKxe0p2U4XP3DVJCp.jpg","backdrop":"/pmRtI4QvcBvXjw9mLOEAsV9Bq7i.jpg,/amBvmIshdsSkOtvVIgxl7YSQ9Dg.jpg,/n4rNQUV9S9DMgCkQVt7R7VLYxNr.jpg,/55qVIFhykb6M6CGWRKQd9BsLI5D.jpg,/e9vJTJHkCOyBitE67n8zlp5Qm8q.jpg,/tSbZky1KLzqOSGPzYtqnxTQzNFy.jpg,/cQR3VHRMUL8xGkWK5Up8rI7DHQD.jpg,/4oIoe9tcSRzGSImp9Jqp1SKFwes.jpg,/zajlFkhKugj9tqH57KHXpmTXIku.jpg,/hpP0ELkViFlU8PVWbEBvVx12YtJ.jpg","checked":null,"dead_link":0,"views":"2","date_creation":"2023-08-17T04:06:45.000Z","update_date":"2024-09-19T01:28:34.000Z","original_title":"バトル・ロワイアル","title_vf":"Battle Royale","tatavid":null,"dcsutom":96950} \ No newline at end of file diff --git a/src/source/__fixtures__/Frembed/https:frembed.lifeapiseriesid42009andsa4andepi2andidTypetmdb b/src/source/__fixtures__/Frembed/https:frembed.lifeapiseriesid42009andsa4andepi2andidTypetmdb deleted file mode 100644 index 7490db0..0000000 --- a/src/source/__fixtures__/Frembed/https:frembed.lifeapiseriesid42009andsa4andepi2andidTypetmdb +++ /dev/null @@ -1 +0,0 @@ -{"id":44334,"tmdb":"42009","title":"Black Mirror","sa":4,"epi":2,"link":"https://ahvsh.com/e/83izf7qzwpae,https://netu.frembed.fun/e/0DFgfkcXOsDP,https://likessb.com/e/7yjgl1x56n08.html,https://ds2play.com/e/fzfvfq3ngig0","imdb":"tt2085059","year":null,"version":"VF","link_vostfr":"","link1":"https://dsvplay.com/e/dfx8me4un4ul\t","link2":"https://netu.fremtv.lol/e/0DFgfkcXOsDP","link3":"https://walterprettytheir.com/e/cqy9oue7sv0g\t","link4":"https://ds2play.com/e/fzfvfq3ngig0","link5":null,"link6":null,"link7":null,"link1vostfr":"","link2vostfr":null,"link3vostfr":null,"link4vostfr":null,"link5vostfr":null,"link6vostfr":null,"link7vostfr":null,"link1vo":null,"link2vo":null,"link3vo":null,"link4vo":null,"link5vo":null,"link6vo":null,"link7vo":null,"date_creation":"2023-08-17T04:06:31.000Z","update_date":"2025-06-13T23:04:32.000Z","views":2,"backdropImage":"/dg3OindVAGZBjlT3xYKqIAdukPL.jpg","posterImage":"/seN6rRfN0I6n8iDXjlSMk1QjNcq.jpg","prevEpisode":{"sa":4,"epi":1,"url":"/series?id=42009&sa=4&epi=1"},"nextEpisode":{"sa":4,"epi":3,"url":"/series?id=42009&sa=4&epi=3"}} \ No newline at end of file diff --git a/src/source/__snapshots__/Frembed.test.ts.snap b/src/source/__snapshots__/Frembed.test.ts.snap index 8df8d84..ecc2624 100644 --- a/src/source/__snapshots__/Frembed.test.ts.snap +++ b/src/source/__snapshots__/Frembed.test.ts.snap @@ -7,17 +7,17 @@ exports[`Frembed handle battle royal 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Battle Royale (2000)", }, - "url": "https://dsvplay.com/e/gtenfs0rffzq", + "url": "https://myvidplay.com/e/gtenfs0rffzq", }, { "meta": { "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Battle Royale (2000)", }, "url": "https://netu.fremtv.lol/e/p0QUHavRbQD0", @@ -27,17 +27,17 @@ exports[`Frembed handle battle royal 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Battle Royale (2000)", }, - "url": "https://walterprettytheir.com/e/lbeqm6ofmauq", + "url": "https://crystaltreatmenteast.com/e/lbeqm6ofmauq", }, { "meta": { "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Battle Royale (2000)", }, "url": "https://video.streamtales.cc/player/frvod.php?url=https://streamtales.cc:8443/videos/3176.mp4", @@ -47,10 +47,10 @@ exports[`Frembed handle battle royal 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Battle Royale (2000)", }, - "url": "https://uqload.cx/embed-pnxmokgrigu9.html", + "url": "https://uqload.bz/embed-pnxmokgrigu9.html", }, ] `; @@ -62,17 +62,17 @@ exports[`Frembed handle imdb black mirror s4e2 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Black Mirror S04E02", }, - "url": "https://dsvplay.com/e/dfx8me4un4ul", + "url": "https://myvidplay.com/e/dfx8me4un4ul", }, { "meta": { "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Black Mirror S04E02", }, "url": "https://netu.fremtv.lol/e/0DFgfkcXOsDP", @@ -82,17 +82,17 @@ exports[`Frembed handle imdb black mirror s4e2 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Black Mirror S04E02", }, - "url": "https://walterprettytheir.com/e/cqy9oue7sv0g", + "url": "https://crystaltreatmenteast.com/e/cqy9oue7sv0g", }, { "meta": { "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Black Mirror S04E02", }, "url": "https://ds2play.com/e/fzfvfq3ngig0", @@ -107,17 +107,17 @@ exports[`Frembed handle tmdb black mirror s4e2 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Black Mirror S04E02", }, - "url": "https://dsvplay.com/e/dfx8me4un4ul", + "url": "https://myvidplay.com/e/dfx8me4un4ul", }, { "meta": { "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Black Mirror S04E02", }, "url": "https://netu.fremtv.lol/e/0DFgfkcXOsDP", @@ -127,17 +127,17 @@ exports[`Frembed handle tmdb black mirror s4e2 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Black Mirror S04E02", }, - "url": "https://walterprettytheir.com/e/cqy9oue7sv0g", + "url": "https://crystaltreatmenteast.com/e/cqy9oue7sv0g", }, { "meta": { "countryCodes": [ "fr", ], - "referer": "https://frembed.life", + "referer": "https://frembed.buzz", "title": "Black Mirror S04E02", }, "url": "https://ds2play.com/e/fzfvfq3ngig0",