Delete utils.mjs

This commit is contained in:
被遗忘的记忆
2025-03-14 05:54:02 +08:00
committed by GitHub
parent e00cdc814c
commit e1b38e1f11
-242
View File
@@ -1,242 +0,0 @@
import * as docx from "docx";
import cookie from "cookie";
import fs from "fs";
import {execSync} from "child_process";
function getGitRevision() {
// get git revision and branch
try {
const revision = execSync("git rev-parse --short HEAD", {stdio: "pipe"}).toString().trim();
const branch = execSync("git rev-parse --abbrev-ref HEAD", {stdio: "pipe"}).toString().trim();
return {revision, branch};
} catch (e) {
return {revision: "unknown", branch: "unknown"};
}
}
// 创建目录
function createDirectoryIfNotExists(dirPath) {
if (!fs.existsSync(dirPath)) {
fs.mkdirSync(dirPath, {recursive: true});
}
}
function extractCookie(cookies) {
let jwtSession = null;
let jwtToken = null;
let ds = null;
let dsr = null;
let you_subscription = null;
let youpro_subscription = null;
cookies = cookie.parse(cookies);
if (cookies["stytch_session"]) jwtSession = cookies["stytch_session"];
if (cookies["stytch_session_jwt"]) jwtToken = cookies["stytch_session_jwt"];
if (cookies["DS"]) ds = cookies["DS"];
if (cookies["DSR"]) dsr = cookies["DSR"];
if (cookies["you_subscription"]) you_subscription = cookies["you_subscription"];
if (cookies["youpro_subscription"]) youpro_subscription = cookies["youpro_subscription"];
return {jwtSession, jwtToken, ds, dsr, you_subscription, youpro_subscription};
}
function getSessionCookie(jwtSession, jwtToken, ds, dsr, you_subscription, youpro_subscription) {
let sessionCookie = [];
// 处理旧版 cookie
if (jwtSession && jwtToken) {
sessionCookie = [
{
name: "stytch_session",
value: jwtSession,
domain: "you.com",
path: "/",
expires: 1800000000,
httpOnly: false,
secure: true,
sameSite: "Lax",
},
{
name: "ydc_stytch_session",
value: jwtSession,
domain: "you.com",
path: "/",
expires: 1800000000,
httpOnly: true,
secure: true,
sameSite: "Lax",
},
{
name: "stytch_session_jwt",
value: jwtToken,
domain: "you.com",
path: "/",
expires: 1800000000,
httpOnly: false,
secure: true,
sameSite: "Lax",
},
{
name: "ydc_stytch_session_jwt",
value: jwtToken,
domain: "you.com",
path: "/",
expires: 1800000000,
httpOnly: true,
secure: true,
sameSite: "Lax",
}
];
}
// 处理新版 cookie
if (ds) {
sessionCookie.push({
name: "DS",
value: ds,
domain: "you.com",
path: "/",
expires: 1800000000,
httpOnly: false,
secure: true,
sameSite: "Lax",
});
}
if (dsr) {
sessionCookie.push({
name: "DSR",
value: dsr,
domain: "you.com",
path: "/",
expires: 1800000000,
httpOnly: false,
secure: true,
sameSite: "Lax",
});
}
if (you_subscription) {
sessionCookie.push({
name: "you_subscription",
value: you_subscription,
domain: "you.com",
path: "/",
expires: 1800000000,
httpOnly: false,
secure: true,
sameSite: "Lax",
});
}
if (youpro_subscription) {
sessionCookie.push({
name: "youpro_subscription",
value: youpro_subscription,
domain: "you.com",
path: "/",
expires: 1800000000,
httpOnly: false,
secure: true,
sameSite: "Lax",
});
}
// 添加隐身模式 cookie(如果启用)
if (process.env.INCOGNITO_MODE === "true") {
sessionCookie.push({
name: "incognito",
value: "true",
domain: "you.com",
path: "/",
expires: 1800000000,
secure: true,
});
}
return sessionCookie;
}
function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
function createDocx(content) {
let paragraphs = [];
content.split("\n").forEach((line) => {
paragraphs.push(
new docx.Paragraph({
children: [new docx.TextRun(line)],
})
);
});
let doc = new docx.Document({
sections: [
{
properties: {},
children: paragraphs,
},
],
});
return docx.Packer.toBuffer(doc).then((buffer) => buffer);
}
// eventStream util
function createEvent(event, data) {
// if data is object, stringify it
if (typeof data === "object") {
data = JSON.stringify(data);
}
return `event: ${event}\ndata: ${data}\n\n`;
}
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
};