From ac2261bbd11ee3ac92dbc25e852a3421d2434951 Mon Sep 17 00:00:00 2001 From: memecornucopia Date: Thu, 1 Feb 2024 14:34:11 -0500 Subject: [PATCH] Fix Wootly, Fix Goojara, Fix Id. --- src/providers/embeds/dood.ts | 3 +-- src/providers/embeds/wootly.ts | 27 ++++++++++++++++++---- src/providers/sources/goojara/getEmbeds.ts | 21 +++++++++++------ src/providers/sources/goojara/index.ts | 2 +- src/providers/sources/goojara/util.ts | 3 +-- 5 files changed, 39 insertions(+), 17 deletions(-) diff --git a/src/providers/embeds/dood.ts b/src/providers/embeds/dood.ts index faa79d8..7a5fba1 100644 --- a/src/providers/embeds/dood.ts +++ b/src/providers/embeds/dood.ts @@ -21,14 +21,13 @@ export const doodScraper = makeEmbed({ const dataForLater = doodData.match(/a\+"\?token=([^"]+)/)?.[1]; const path = doodData.match(/\$\.get\('\/pass_md5([^']+)/)?.[1]; - const doodPage = await ctx.proxiedFetcher(`/pass_md5/${path}`, { + const doodPage = await ctx.proxiedFetcher(`/pass_md5${path}`, { headers: { referer: `${baseUrl}/e/${id}`, }, method: 'GET', baseUrl, }); - const downloadURL = `${doodPage}${nanoid()}?token=${dataForLater}${Date.now()}`; return { diff --git a/src/providers/embeds/wootly.ts b/src/providers/embeds/wootly.ts index 0119926..3d75cbb 100644 --- a/src/providers/embeds/wootly.ts +++ b/src/providers/embeds/wootly.ts @@ -17,7 +17,13 @@ export const wootlyScraper = makeEmbed({ }); const cookies = parseSetCookie(wootlyData.headers.get('Set-Cookie') || ''); - const wootssesCookie = cookies.wootsses.value; + let wootssesCookie = ''; + let cookie = ''; + + if (cookies && cookies.wootsses) { + wootssesCookie = cookies.wootsses.value; + cookie = makeCookieHeader({ wootsses: wootssesCookie }); + } let $ = load(wootlyData.body); // load the html data const iframeSrc = $('iframe').attr('src') ?? ''; @@ -26,18 +32,24 @@ export const wootlyScraper = makeEmbed({ method: 'GET', readHeaders: ['Set-Cookie'], headers: { - cookie: makeCookieHeader({ wootsses: wootssesCookie }), + cookie, }, }); const woozCookies = parseSetCookie(woozCookieRequest.headers.get('Set-Cookie') || ''); - const woozCookie = woozCookies.wooz.value; + let woozCookie = ''; + cookie = ''; + + if (cookies && woozCookies.wooz) { + woozCookie = woozCookies.wooz.value; + cookie = makeCookieHeader({ wooz: woozCookie }); + } const iframeData = await ctx.proxiedFetcher(iframeSrc, { method: 'POST', body: new URLSearchParams({ qdf: '1' }), headers: { - cookie: makeCookieHeader({ wooz: woozCookie }), + cookie, Referer: iframeSrc, }, }); @@ -51,13 +63,18 @@ export const wootlyScraper = makeEmbed({ const vd = scriptText.match(/vd=([^,]+)/)?.[0].replace(/vd=|["\s]/g, ''); if (!tk || !vd) throw new Error('wootly source not found'); + cookie = ''; + + if (woozCookie && wootssesCookie !== '') { + cookie = makeCookieHeader({ wooz: woozCookie, wootsses: wootssesCookie }); + } const url = await ctx.proxiedFetcher(`/grabd`, { baseUrl, query: { t: tk, id: vd }, method: 'GET', headers: { - cookie: makeCookieHeader({ wooz: woozCookie, wootsses: wootssesCookie }), + cookie, }, }); diff --git a/src/providers/sources/goojara/getEmbeds.ts b/src/providers/sources/goojara/getEmbeds.ts index 50f574a..7b26d6c 100644 --- a/src/providers/sources/goojara/getEmbeds.ts +++ b/src/providers/sources/goojara/getEmbeds.ts @@ -10,18 +10,28 @@ export async function getEmbeds(ctx: ScrapeContext, id: string): Promise $(element).attr('href')) .get() @@ -33,10 +43,7 @@ export async function getEmbeds(ctx: ScrapeContext, id: string): Promise { + $2('.seho').each((index, element) => { // Extracting the episode number as a string const episodeNumber = $2(element).find('.seep .sea').text().trim(); - console.log(episodeNumber); // Comparing with the desired episode number as a string if (parseInt(episodeNumber, 10) === media.episode.number) { const href = $2(element).find('.snfo h1 a').attr('href');