From 841a534d666d1bf9c43d7726ac47276f3c6febcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=AB=E9=81=97=E5=BF=98=E7=9A=84=E8=AE=B0=E5=BF=86?= <32097237+YIWANG-sketch@users.noreply.github.com> Date: Mon, 21 Oct 2024 00:35:02 +0800 Subject: [PATCH] add perplexity processing --- utils.mjs | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/utils.mjs b/utils.mjs index 718709c..511dc28 100644 --- a/utils.mjs +++ b/utils.mjs @@ -155,4 +155,55 @@ function createEvent(event, data) { return `event: ${event}\ndata: ${data}\n\n`; } -export { createEvent, createDirectoryIfNotExists, sleep, extractCookie, getSessionCookie, createDocx, getGitRevision }; +function extractPerplexityCookie(cookieString) { + const cookies = cookie.parse(cookieString); + return { + sessionToken: cookies['__Secure-next-auth.session-token'], + isIncognito: cookies['pplx.is-incognito'] === 'true' + }; +} + +function getPerplexitySessionCookie(extractedCookie) { + let sessionCookie = []; + + if (extractedCookie.sessionToken) { + sessionCookie.push({ + name: "__Secure-next-auth.session-token", + value: extractedCookie.sessionToken, + domain: "www.perplexity.ai", + path: "/", + expires: 1800000000, + httpOnly: true, + secure: true, + sameSite: "Lax", + }); + } + + // 添加无痕模式 cookie (如果启用) + if (process.env.INCOGNITO_MODE === "true") { + sessionCookie.push({ + name: "pplx.is-incognito", + value: "true", + domain: "www.perplexity.ai", + path: "/", + expires: 1800000000, + httpOnly: false, + secure: true, + sameSite: "Lax", + }); + } + + return sessionCookie; +} + +export { + createEvent, + createDirectoryIfNotExists, + sleep, + extractCookie, + getSessionCookie, + createDocx, + getGitRevision, + extractPerplexityCookie, + getPerplexitySessionCookie +};