From d07d31d94ad66a0530683620a2dce2321b4c833b Mon Sep 17 00:00:00 2001 From: WebStreamr <210764791+webstreamr@users.noreply.github.com> Date: Fri, 28 Nov 2025 15:40:35 +0000 Subject: [PATCH] fix(source): update frembed domain and add referer for API requests --- src/source/Frembed.ts | 4 +-- ...tps:frembed.momapifilmsid3176andidTypetmdb | 1 - ...ttps:frembed.myapifilmsid3176andidTypetmdb | 1 + ...piseriesid42009andsa4andepi2andidTypetmdb} | 2 +- src/source/__snapshots__/Frembed.test.ts.snap | 32 +++++++++---------- 5 files changed, 20 insertions(+), 20 deletions(-) delete mode 100644 src/source/__fixtures__/Frembed/https:frembed.momapifilmsid3176andidTypetmdb create mode 100644 src/source/__fixtures__/Frembed/https:frembed.myapifilmsid3176andidTypetmdb rename src/source/__fixtures__/Frembed/{https:frembed.momapiseriesid42009andsa4andepi2andidTypetmdb => https:frembed.myapiseriesid42009andsa4andepi2andidTypetmdb} (53%) diff --git a/src/source/Frembed.ts b/src/source/Frembed.ts index 020ff4d..3dc2fc2 100644 --- a/src/source/Frembed.ts +++ b/src/source/Frembed.ts @@ -12,7 +12,7 @@ export class Frembed extends Source { public readonly countryCodes: CountryCode[] = [CountryCode.fr]; - public readonly baseUrl = 'https://frembed.mom'; + public readonly baseUrl = 'https://frembed.my'; // TODO: determine this more dynamically, e.g. via https://audin213.com/ private readonly fetcher: Fetcher; @@ -29,7 +29,7 @@ export class Frembed extends Source { ? new URL(`/api/series?id=${tmdbId.id}&sa=${tmdbId.season}&epi=${tmdbId.episode}&idType=tmdb`, this.baseUrl) : new URL(`/api/films?id=${tmdbId.id}&idType=tmdb`, this.baseUrl); - const json = await this.fetcher.json(ctx, apiUrl); + const json = await this.fetcher.json(ctx, apiUrl, { headers: { Referer: this.baseUrl } }); const urls: URL[] = []; for (const key in json) { diff --git a/src/source/__fixtures__/Frembed/https:frembed.momapifilmsid3176andidTypetmdb b/src/source/__fixtures__/Frembed/https:frembed.momapifilmsid3176andidTypetmdb deleted file mode 100644 index 5381c71..0000000 --- a/src/source/__fixtures__/Frembed/https:frembed.momapifilmsid3176andidTypetmdb +++ /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://jilliandescribecompany.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":"1","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.myapifilmsid3176andidTypetmdb b/src/source/__fixtures__/Frembed/https:frembed.myapifilmsid3176andidTypetmdb new file mode 100644 index 0000000..3764500 --- /dev/null +++ b/src/source/__fixtures__/Frembed/https:frembed.myapifilmsid3176andidTypetmdb @@ -0,0 +1 @@ +{"tmdb":"3176","title":"Battle Royale","link1":"https://dsvplay.com/e/gtenfs0rffzq","link2":"https://netu.fremtv.lol/e/p0QUHavRbQD0","link3":"https://christopheruntilpoint.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":"23","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.momapiseriesid42009andsa4andepi2andidTypetmdb b/src/source/__fixtures__/Frembed/https:frembed.myapiseriesid42009andsa4andepi2andidTypetmdb similarity index 53% rename from src/source/__fixtures__/Frembed/https:frembed.momapiseriesid42009andsa4andepi2andidTypetmdb rename to src/source/__fixtures__/Frembed/https:frembed.myapiseriesid42009andsa4andepi2andidTypetmdb index e984461..c6e897c 100644 --- a/src/source/__fixtures__/Frembed/https:frembed.momapiseriesid42009andsa4andepi2andidTypetmdb +++ b/src/source/__fixtures__/Frembed/https:frembed.myapiseriesid42009andsa4andepi2andidTypetmdb @@ -1 +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://dsvplay.com/e/dfx8me4un4ul\t","link2":"https://netu.fremtv.lol/e/0DFgfkcXOsDP","link3":"https://jilliandescribecompany.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":1,"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 +{"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://christopheruntilpoint.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":11,"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 99f3e31..586cc41 100644 --- a/src/source/__snapshots__/Frembed.test.ts.snap +++ b/src/source/__snapshots__/Frembed.test.ts.snap @@ -7,7 +7,7 @@ exports[`Frembed handle battle royal 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Battle Royale", }, "url": "https://dsvplay.com/e/gtenfs0rffzq", @@ -17,7 +17,7 @@ exports[`Frembed handle battle royal 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Battle Royale", }, "url": "https://netu.fremtv.lol/e/p0QUHavRbQD0", @@ -27,17 +27,17 @@ exports[`Frembed handle battle royal 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Battle Royale", }, - "url": "https://jilliandescribecompany.com/e/lbeqm6ofmauq", + "url": "https://christopheruntilpoint.com/e/lbeqm6ofmauq", }, { "meta": { "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Battle Royale", }, "url": "https://video.streamtales.cc/player/frvod.php?url=https://streamtales.cc:8443/videos/3176.mp4", @@ -47,7 +47,7 @@ exports[`Frembed handle battle royal 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Battle Royale", }, "url": "https://uqload.cx/embed-pnxmokgrigu9.html", @@ -62,7 +62,7 @@ exports[`Frembed handle imdb black mirror s4e2 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Black Mirror 4x2", }, "url": "https://dsvplay.com/e/dfx8me4un4ul", @@ -72,7 +72,7 @@ exports[`Frembed handle imdb black mirror s4e2 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Black Mirror 4x2", }, "url": "https://netu.fremtv.lol/e/0DFgfkcXOsDP", @@ -82,17 +82,17 @@ exports[`Frembed handle imdb black mirror s4e2 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Black Mirror 4x2", }, - "url": "https://jilliandescribecompany.com/e/cqy9oue7sv0g", + "url": "https://christopheruntilpoint.com/e/cqy9oue7sv0g", }, { "meta": { "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Black Mirror 4x2", }, "url": "https://ds2play.com/e/fzfvfq3ngig0", @@ -107,7 +107,7 @@ exports[`Frembed handle tmdb black mirror s4e2 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Black Mirror 4x2", }, "url": "https://dsvplay.com/e/dfx8me4un4ul", @@ -117,7 +117,7 @@ exports[`Frembed handle tmdb black mirror s4e2 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Black Mirror 4x2", }, "url": "https://netu.fremtv.lol/e/0DFgfkcXOsDP", @@ -127,17 +127,17 @@ exports[`Frembed handle tmdb black mirror s4e2 1`] = ` "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Black Mirror 4x2", }, - "url": "https://jilliandescribecompany.com/e/cqy9oue7sv0g", + "url": "https://christopheruntilpoint.com/e/cqy9oue7sv0g", }, { "meta": { "countryCodes": [ "fr", ], - "referer": "https://frembed.mom", + "referer": "https://frembed.my", "title": "Black Mirror 4x2", }, "url": "https://ds2play.com/e/fzfvfq3ngig0",