@mherod/get-cookie 2.0.0-rc.2 → 2.0.0-rc.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/.idea/runConfigurations/build.xml +12 -0
  2. package/.prettierignore +5 -0
  3. package/README.md +2 -2
  4. package/dist/cli.js +1110 -2
  5. package/dist/index.js +642 -231
  6. package/dist/index.js.map +1 -1
  7. package/dist/module.js +634 -224
  8. package/dist/module.js.map +1 -1
  9. package/dist/types.d.ts +246 -34
  10. package/dist/types.d.ts.map +1 -1
  11. package/package-lock.json +7539 -0
  12. package/package.json +24 -22
  13. package/src/CookieRow.ts +2 -1
  14. package/src/CookieSpec.ts +4 -2
  15. package/src/CookieStore.ts +27 -0
  16. package/src/ExportedCookie.ts +2 -1
  17. package/src/FetchResponse.ts +2 -0
  18. package/src/FileCookieStore.ts +170 -0
  19. package/src/IsCookieRow.ts +1 -1
  20. package/src/IsExportedCookie.ts +1 -1
  21. package/src/SpecialCases.ts +1 -1
  22. package/src/StringToRegex.ts +6 -0
  23. package/src/argv.ts +19 -0
  24. package/src/browsers/ChromeCookieQueryStrategy.ts +106 -24
  25. package/src/browsers/CompositeCookieQueryStrategy.ts +32 -8
  26. package/src/browsers/CookieQueryStrategy.ts +3 -1
  27. package/src/browsers/CookieStoreQueryStrategy.ts +99 -0
  28. package/src/browsers/FirefoxCookieQueryStrategy.ts +57 -9
  29. package/src/browsers/SafariCookieQueryStrategy.ts +4 -1
  30. package/src/cli.ts +101 -93
  31. package/src/comboQueryCookieSpec.ts +24 -0
  32. package/src/cookieSpecsFromUrl.ts +26 -0
  33. package/src/doSqliteQuery1Params.ts +8 -0
  34. package/src/fetchWithCookies.ts +131 -40
  35. package/src/findAllFiles.ts +5 -9
  36. package/src/getChromeCookie.ts +19 -0
  37. package/src/getCookie.ts +19 -0
  38. package/src/getFirefoxCookie.ts +19 -0
  39. package/src/getGroupedRenderedCookies.ts +12 -25
  40. package/src/getMergedRenderedCookies.ts +14 -0
  41. package/src/index.ts +13 -52
  42. package/src/isValidJwt.ts +2 -2
  43. package/src/queryCookies.ts +16 -12
  44. package/src/resultsRendered.ts +7 -4
  45. package/src/unpackHeaders.ts +7 -4
  46. package/src/utils.ts +0 -25
  47. package/tsconfig.json +11 -15
  48. package/.github/dependabot.yml +0 -6
  49. package/dist/cli.js.map +0 -1
  50. package/src/doSqliteQuery1.ts +0 -51
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["src/index.ts","src/queryCookies.ts","src/global.ts","src/browsers/CompositeCookieQueryStrategy.ts","src/browsers/ChromeCookieQueryStrategy.ts","src/utils.ts","src/findAllFiles.ts","src/doSqliteQuery1.ts","src/IsCookieRow.ts","src/IsExportedCookie.ts","src/browsers/FirefoxCookieQueryStrategy.ts","src/SpecialCases.ts","src/browsers/SafariCookieQueryStrategy.ts","src/isValidJwt.ts","src/getGroupedRenderedCookies.ts","src/resultsRendered.ts","src/fetchWithCookies.ts","src/CookieSpec.ts","src/CookieRow.ts","src/ExportedCookie.ts"],"sourcesContent":["#!/usr/bin/env node\n// noinspection JSUnusedGlobalSymbols\n\nimport { queryCookies } from \"./queryCookies\";\nimport FirefoxCookieQueryStrategy from \"./browsers/FirefoxCookieQueryStrategy\";\nimport ChromeCookieQueryStrategy from \"./browsers/ChromeCookieQueryStrategy\";\nimport CompositeCookieQueryStrategy from \"./browsers/CompositeCookieQueryStrategy\";\nimport { CookieSpec } from \"./CookieSpec\";\nimport { ExportedCookie } from \"./ExportedCookie\";\nimport { getGroupedRenderedCookies } from \"./getGroupedRenderedCookies\";\nimport { fetchWithCookies } from \"./fetchWithCookies\";\n\nexport async function getCookie(\n params: CookieSpec\n): Promise<ExportedCookie | undefined> {\n const cookies = await queryCookies(\n params,\n new CompositeCookieQueryStrategy()\n //\n );\n if (Array.isArray(cookies) && cookies.length > 0) {\n return cookies.find((cookie) => cookie != null);\n } else {\n throw new Error(\"Cookie not found\");\n }\n}\n\nexport async function getFirefoxCookie(\n params: CookieSpec\n): Promise<ExportedCookie | undefined> {\n const cookies = await queryCookies(\n params,\n new FirefoxCookieQueryStrategy()\n //\n );\n if (Array.isArray(cookies) && cookies.length > 0) {\n return cookies.find((cookie) => cookie != null);\n } else {\n throw new Error(\"Cookie not found\");\n }\n}\n\nexport async function getChromeCookie(\n params: CookieSpec\n): Promise<ExportedCookie | undefined> {\n const cookies = await queryCookies(\n params,\n new ChromeCookieQueryStrategy()\n //\n );\n if (Array.isArray(cookies) && cookies.length > 0) {\n return cookies.find((cookie) => cookie != null);\n } else {\n throw new Error(\"Cookie not found\");\n }\n}\n\nexport { getGroupedRenderedCookies, fetchWithCookies };\n\nexport * from \"./CookieSpec\";\nexport * from \"./CookieRow\";\nexport * from \"./ExportedCookie\";\n","import { env } from \"./global\";\nimport { uniqBy } from \"lodash\";\nimport CompositeCookieQueryStrategy from \"./browsers/CompositeCookieQueryStrategy\";\nimport CookieQueryStrategy from \"./browsers/CookieQueryStrategy\";\nimport isValidJwt from \"./isValidJwt\";\nimport { CookieSpec } from \"./CookieSpec\";\nimport { ExportedCookie } from \"./ExportedCookie\";\n\nexport async function queryCookies(\n { name, domain }: CookieSpec,\n strategy: CookieQueryStrategy = new CompositeCookieQueryStrategy()\n) {\n const results: ExportedCookie[] = await strategy.queryCookies(name, domain);\n const results1: ExportedCookie[] = uniqBy(results, JSON.stringify);\n const jwtCookies = [];\n for (const result of results1) {\n const value = result.value;\n if (isValidJwt(value)) {\n jwtCookies.push(result);\n }\n }\n const resultsUniq = env.REQUIRE_JWT ? jwtCookies : results1;\n return env.SINGLE ? [resultsUniq[0]] : resultsUniq;\n}\n","import { merge } from \"lodash\";\n\nexport const env: any = {};\nmerge(env, process.env);\nexport const HOME: string = env[\"HOME\"];\nif (!HOME) {\n throw new Error(\"HOME environment variable is not set\");\n}\n","import ChromeCookieQueryStrategy from \"./ChromeCookieQueryStrategy\";\nimport FirefoxCookieQueryStrategy from \"./FirefoxCookieQueryStrategy\";\nimport SafariCookieQueryStrategy from \"./SafariCookieQueryStrategy\";\nimport CookieQueryStrategy from \"./CookieQueryStrategy\";\nimport { ExportedCookie } from \"../ExportedCookie\";\nimport LRUCache from \"lru-cache\";\n\nconst cache = new LRUCache<string, ExportedCookie[]>({\n ttl: 1000 * 2,\n max: 10,\n});\n\nexport default class CompositeCookieQueryStrategy\n implements CookieQueryStrategy\n{\n #strategies;\n\n constructor() {\n this.#strategies = [\n ChromeCookieQueryStrategy,\n FirefoxCookieQueryStrategy,\n SafariCookieQueryStrategy,\n ].map((strategy) => {\n return new strategy();\n });\n }\n\n async queryCookies(name: string, domain: string): Promise<ExportedCookie[]> {\n const key = `${name}:${domain}`;\n const cached = cache.get(key);\n if (cached) {\n return cached;\n }\n const results = await Promise.all(\n this.#strategies.map(async (strategy) => {\n // @ts-ignore\n const cookies: Promise<ExportedCookie[]> = strategy.queryCookies(\n name,\n domain\n );\n return cookies.catch(() => []);\n })\n );\n const flat: ExportedCookie[] = results.flat();\n cache.set(`${name}:${domain}`, flat);\n return flat;\n }\n}\n","import CookieQueryStrategy from \"./CookieQueryStrategy\";\nimport { execSimple } from \"../utils\";\nimport { env, HOME } from \"../global\";\nimport { existsSync } from \"fs\";\nimport { findAllFiles } from \"../findAllFiles\";\nimport * as crypto from \"crypto\";\nimport * as path from \"path\";\nimport { doSqliteQuery1 } from \"../doSqliteQuery1\";\nimport { merge } from \"lodash\";\nimport { isCookieRow } from \"../IsCookieRow\";\nimport { isExportedCookie } from \"../IsExportedCookie\";\nimport { CookieRow } from \"../CookieRow\";\nimport { ExportedCookie } from \"../ExportedCookie\";\n\nexport default class ChromeCookieQueryStrategy implements CookieQueryStrategy {\n async queryCookies(name: string, domain: string): Promise<ExportedCookie[]> {\n if (process.platform !== \"darwin\") {\n throw new Error(\"This only works on macOS\");\n }\n if (env.FIREFOX_ONLY) {\n return [];\n }\n return getChromeCookies({\n requireJwt: false,\n name,\n domain,\n });\n }\n}\n\nasync function getPromise1(\n name: string,\n domain: string,\n file: string\n): Promise<CookieRow[]> {\n try {\n return await getEncryptedChromeCookie({\n name: name,\n domain: domain,\n file: file,\n });\n } catch (e) {\n if (env.VERBOSE) {\n console.log(\"Error getting encrypted cookie\", e);\n }\n return [];\n }\n}\n\nasync function getPromise(name: string, domain: string): Promise<CookieRow[]> {\n try {\n const files: string[] = await findAllFiles({\n path: chromeLocal,\n name: \"Cookies\",\n });\n const promises: Promise<CookieRow[]>[] = files.map((file) =>\n getPromise1(name, domain, file)\n );\n const results1: Awaited<CookieRow[]>[] = await Promise.all(promises);\n return results1.flat().filter(isCookieRow);\n } catch (error) {\n if (env.VERBOSE) {\n console.log(\"error\", error);\n }\n return [];\n }\n}\n\nasync function decryptValue(password: string, encryptedValue: Buffer) {\n let d: string | null;\n try {\n d = await decrypt(password, encryptedValue);\n } catch (e) {\n if (env.VERBOSE) {\n console.log(\"Error decrypting cookie\", e);\n }\n d = null;\n }\n return d ?? encryptedValue.toString(\"utf-8\");\n}\n\nasync function getChromeCookies({\n name,\n domain = \"%\",\n requireJwt = false,\n}: {\n name: string;\n domain: string;\n requireJwt: boolean | undefined;\n //\n}): //\nPromise<ExportedCookie[]> {\n const encryptedDataItems: CookieRow[] = await getPromise(name, domain);\n const password: string = await getChromePassword();\n const decrypted: Promise<ExportedCookie | null>[] = encryptedDataItems\n .filter(({ value }) => value != null && value.length > 0)\n .map(async (cookieRow: CookieRow) => {\n const encryptedValue: Buffer = cookieRow.value;\n const decryptedValue = await decryptValue(password, encryptedValue);\n const meta = {};\n merge(meta, cookieRow.meta ?? {});\n return {\n domain: cookieRow.domain,\n name: cookieRow.name,\n value: decryptedValue,\n meta: meta,\n };\n });\n const results: ExportedCookie[] = (await Promise.all(decrypted)).filter(\n isExportedCookie\n );\n if (env.VERBOSE) {\n console.log(\"results\", results);\n }\n return results;\n}\n\nconst chromeLocal = path.join(\n HOME,\n \"Library\",\n \"Application Support\",\n \"Google\",\n \"Chrome\"\n);\n\nasync function getEncryptedChromeCookie({\n name,\n domain,\n file = path.join(chromeLocal, \"Default\", \"Cookies\"),\n}: //\n{\n name: string;\n domain: string;\n file: string;\n}): Promise<CookieRow[]> {\n if (!existsSync(file)) {\n throw new Error(`File ${file} does not exist`);\n }\n if (env.VERBOSE) {\n const s = file.split(\"/\").slice(-3).join(\"/\");\n console.log(`Trying Chrome (at ${s}) cookie ${name} for domain ${domain}`);\n }\n let sql;\n //language=SQL\n sql = \"SELECT encrypted_value, name, host_key FROM cookies\";\n const wildcardRegexp = /^([*%])$/i;\n const specifiedName = name.match(wildcardRegexp) == null;\n const specifiedDomain = domain.match(wildcardRegexp) == null;\n if (specifiedName || specifiedDomain) {\n sql += ` WHERE `;\n if (specifiedName) {\n sql += `name = '${name}'`;\n if (specifiedDomain) {\n sql += ` AND `;\n }\n }\n if (specifiedDomain) {\n sql += `host_key LIKE '${domain}';`;\n }\n }\n return doSqliteQuery1({\n file: file,\n sql: sql,\n rowTransform: (row) => {\n return {\n domain: row[\"host_key\"],\n name: row[\"name\"],\n value: row[\"encrypted_value\"],\n };\n },\n });\n}\n\nasync function getChromePassword(): Promise<string> {\n return execSimple(\n 'security find-generic-password -w -s \"Chrome Safe Storage\"'\n );\n}\n\nasync function decrypt(\n password: crypto.BinaryLike,\n encryptedData: Buffer\n): Promise<string> {\n if (typeof password !== \"string\") {\n throw new Error(\"password must be a string: \" + password);\n }\n let encryptedData1: any;\n encryptedData1 = encryptedData;\n if (encryptedData1 == null || typeof encryptedData1 !== \"object\") {\n throw new Error(\"encryptedData must be a object: \" + encryptedData1);\n }\n if (!(encryptedData1 instanceof Buffer)) {\n if (Array.isArray(encryptedData1) && encryptedData1[0] instanceof Buffer) {\n [encryptedData1] = encryptedData1;\n if (env.VERBOSE) {\n console.log(\n `encryptedData is an array of buffers, selected first: ${encryptedData1}`\n );\n }\n } else {\n throw new Error(\"encryptedData must be a Buffer: \" + encryptedData1);\n }\n encryptedData1 = Buffer.from(encryptedData1);\n }\n if (env.VERBOSE) {\n console.log(`Trying to decrypt with password ${password}`);\n }\n return new Promise((resolve, reject) => {\n crypto.pbkdf2(password, \"saltysalt\", 1003, 16, \"sha1\", (error, buffer) => {\n try {\n if (error) {\n if (env.VERBOSE) {\n console.log(\"Error doing pbkdf2\", error);\n }\n reject(error);\n return;\n }\n\n if (buffer.length !== 16) {\n if (env.VERBOSE) {\n console.log(\n \"Error doing pbkdf2, buffer length is not 16\",\n buffer.length\n );\n }\n reject(new Error(\"Buffer length is not 16\"));\n return;\n }\n\n const str = new Array(17).join(\" \");\n const iv = Buffer.from(str, \"binary\");\n const decipher = crypto.createDecipheriv(\"aes-128-cbc\", buffer, iv);\n decipher.setAutoPadding(false);\n\n if (encryptedData1 && encryptedData1.slice) {\n encryptedData1 = encryptedData1.slice(3);\n }\n\n if (encryptedData1.length % 16 !== 0) {\n if (env.VERBOSE) {\n console.log(\n \"Error doing pbkdf2, encryptedData length is not a multiple of 16\",\n encryptedData1.length\n );\n }\n reject(new Error(\"encryptedData length is not a multiple of 16\"));\n return;\n }\n\n let decoded = decipher.update(encryptedData1);\n try {\n decipher.final(\"utf-8\");\n } catch (e) {\n if (env.VERBOSE) {\n console.log(\"Error doing decipher.final()\", e);\n }\n reject(e);\n return;\n }\n\n const padding = decoded[decoded.length - 1];\n if (padding) {\n decoded = decoded.slice(0, 0 - padding);\n }\n // noinspection JSCheckFunctionSignatures\n const decodedString = decoded.toString(\"utf8\");\n resolve(decodedString);\n } catch (e) {\n reject(e);\n }\n });\n });\n}\n","// noinspection JSUnusedGlobalSymbols\n\nimport { exec, ExecException } from \"child_process\";\n\nexport async function execSimple(command: string): Promise<string> {\n return new Promise((resolve, reject) => {\n exec(\n command,\n { encoding: \"binary\", maxBuffer: 5 * 1024 },\n (error: ExecException | null, stdout: string, stderr: string) => {\n if (error) {\n reject(error);\n return;\n }\n if (stderr) {\n reject(error);\n return;\n }\n if (stdout) {\n resolve(stdout.trim());\n }\n }\n );\n });\n}\n\nexport function toStringOrNull(result: any) {\n if (result == null) {\n return null;\n }\n if (process.env.VERBOSE) {\n console.log(\"result\", result);\n }\n if (typeof result === \"string\" && result.length > 0) {\n return result;\n }\n if (result.slice && result.toString) {\n // noinspection JSCheckFunctionSignatures\n return result.toString(\"utf8\");\n }\n return null;\n}\n\nexport function invalidString(input: any): boolean {\n return typeof input !== \"string\" || input.length === 0;\n}\n\nexport function validString(input: any): input is string {\n return typeof input == \"string\" && input.length > 0;\n}\n","import { env } from \"./global\";\nimport * as fs from \"fs\";\n\nexport async function findAllFiles({\n path,\n name,\n maxDepth = 2,\n}: //\n{\n path: string;\n name: string;\n maxDepth?: number;\n}): Promise<string[]> {\n const rootSegments = path.split(\"/\").length;\n\n if (env.VERBOSE) {\n console.log(`Searching for ${name} in ${path}`);\n }\n const files: string[] = [];\n let readdirSync;\n try {\n readdirSync = fs.readdirSync(path);\n } catch (e) {\n if (env.VERBOSE) {\n console.log(`Error reading ${path}`, e);\n }\n return [];\n }\n for (const file of readdirSync) {\n const filePath = path + \"/\" + file;\n let stat;\n try {\n stat = fs.statSync(filePath);\n } catch (e) {\n if (env.VERBOSE) {\n console.error(`Error getting stat for ${filePath}`, e);\n }\n continue;\n }\n if (stat.isDirectory()) {\n if (filePath.split(\"/\").length < rootSegments + maxDepth) {\n try {\n const subFiles = await findAllFiles({\n path: filePath,\n name: name,\n maxDepth: 2,\n });\n files.push(...subFiles);\n } catch (e) {\n if (env.VERBOSE) {\n console.error(e);\n }\n }\n }\n } else if (file === name) {\n files.push(filePath);\n }\n }\n if (env.VERBOSE) {\n if (files.length > 0) {\n console.log(`Found ${files.length} ${name} files`);\n console.log(files);\n }\n }\n return files;\n}\n","import * as fs from \"fs\";\nimport * as sqlite3 from \"sqlite3\";\nimport { CookieRow } from \"./CookieRow\";\nimport { merge } from \"lodash\";\n\ninterface DoSqliteQuery1Params {\n file: string;\n sql: string;\n rowTransform: (row: any) => CookieRow;\n}\n\nexport async function doSqliteQuery1({\n file,\n sql,\n rowTransform,\n}: DoSqliteQuery1Params): Promise<CookieRow[]> {\n if (!file || (file && !fs.existsSync(file))) {\n throw new Error(`doSqliteQuery1: file ${file} does not exist`);\n }\n const db = new sqlite3.Database(file);\n return new Promise((resolve, reject) => {\n db.all(sql, (err: Error, rows: any[]) => {\n if (err) {\n reject(err);\n return;\n }\n const rows1: any[] = rows;\n if (rows1 == null || rows1.length === 0) {\n resolve([]);\n return;\n }\n if (Array.isArray(rows1)) {\n const cookieRows: CookieRow[] = rows1.map((row: any) => {\n const newVar = {\n meta: {\n file: file,\n },\n };\n const cookieRow: CookieRow = rowTransform(row);\n return merge(newVar, cookieRow);\n });\n resolve(cookieRows);\n return;\n }\n if (process.env.VERBOSE) {\n console.log(`doSqliteQuery1: rows ${JSON.stringify(rows1)}`);\n }\n resolve([rows1]);\n });\n });\n}\n","import { CookieRow } from \"./CookieRow\";\n\nexport function isCookieRow(obj: any): obj is CookieRow {\n return (\n obj.domain !== undefined &&\n obj.name !== undefined &&\n obj.value !== undefined\n );\n}\n","import { ExportedCookie } from \"./ExportedCookie\";\n\nexport function isExportedCookie(obj: any): obj is ExportedCookie {\n return (\n obj.domain !== undefined &&\n obj.name !== undefined &&\n obj.value !== undefined\n );\n}\n","import * as path from \"path\";\nimport CookieQueryStrategy from \"./CookieQueryStrategy\";\nimport { env, HOME } from \"../global\";\nimport { existsSync } from \"fs\";\nimport { findAllFiles } from \"../findAllFiles\";\nimport { doSqliteQuery1 } from \"../doSqliteQuery1\";\nimport { ExportedCookie } from \"../ExportedCookie\";\nimport { CookieRow } from \"../CookieRow\";\nimport { CookieSpec } from \"../CookieSpec\";\nimport { specialCases } from \"../SpecialCases\";\n\nexport default class FirefoxCookieQueryStrategy implements CookieQueryStrategy {\n async queryCookies(name: string, domain: string): Promise<ExportedCookie[]> {\n if (process.platform !== \"darwin\") {\n throw new Error(\"This only works on macOS\");\n }\n if (env.CHROME_ONLY) {\n return [];\n }\n const cookies = await this.#getFirefoxCookie({ name, domain });\n if (Array.isArray(cookies)) {\n return cookies.map((cookie: CookieRow) => {\n return {\n domain: cookie.domain,\n name: cookie.name,\n value: cookie.value.toString(\"utf8\"),\n };\n });\n } else {\n return [];\n }\n }\n\n async #getFirefoxCookie(\n { name, domain }: CookieSpec //\n ) {\n const files: string[] = await findAllFiles({\n path: path.join(\n HOME,\n \"Library\",\n \"Application Support\",\n \"Firefox\",\n \"Profiles\"\n ),\n name: \"cookies.sqlite\",\n });\n const fn: (file: string) => Promise<CookieRow[]> = async (file: string) => {\n return await this.#queryCookiesDb(file, name, domain);\n };\n const all: Awaited<CookieRow[]>[] = await Promise.all(files.map(fn));\n return all.flat();\n }\n\n async #queryCookiesDb(\n file: string,\n name: string,\n domain: string\n ): Promise<CookieRow[]> {\n if (file && !existsSync(file)) {\n throw new Error(`File ${file} does not exist`);\n }\n let sql;\n //language=SQL\n sql = \"SELECT value, name, host FROM moz_cookies\";\n const { specifiedName, specifiedDomain } = specialCases({ name, domain });\n if (specifiedName || specifiedDomain) {\n sql += ` WHERE `;\n if (specifiedName) {\n sql += `name = '${name}'`;\n if (specifiedDomain) {\n sql += ` AND `;\n }\n }\n if (specifiedDomain) {\n sql += `host LIKE '${domain}';`;\n }\n }\n const rowTransform = (row: any) => {\n // row is object key by column name\n const value = row.value as string;\n return {\n domain: row.domain as string,\n name: row.name as string,\n value: Buffer.from(value, \"utf8\"),\n };\n };\n try {\n return await doSqliteQuery1({\n file,\n sql,\n rowTransform,\n });\n } catch (e) {\n console.error(`Error querying ${file}`, e);\n return [];\n }\n }\n}\n","import { CookieSpec } from \"./CookieSpec\";\n\nexport function specialCases({ name, domain }: CookieSpec): {\n specifiedName: boolean;\n specifiedDomain: boolean;\n //\n} {\n const wildcardRegexp = /^([*%])$/i;\n return {\n specifiedName: name.match(wildcardRegexp) == null,\n specifiedDomain: domain.match(wildcardRegexp) == null,\n //\n };\n}\n","import CookieQueryStrategy from \"./CookieQueryStrategy\";\nimport { ExportedCookie } from \"../ExportedCookie\";\n\nexport default class SafariCookieQueryStrategy implements CookieQueryStrategy {\n async queryCookies(name: string, domain: string): Promise<ExportedCookie[]> {\n return [];\n }\n}\n","import jsonwebtoken, { JwtPayload } from \"jsonwebtoken\";\nimport { env } from \"./global\";\n\nexport default function isValidJwt(token: any) {\n try {\n const result = jsonwebtoken.decode(token, { complete: true });\n if (env.VERBOSE) {\n console.log(result);\n }\n const payload: JwtPayload = result?.payload as JwtPayload;\n if (payload) {\n const exp = payload.exp;\n if (exp) {\n const now = new Date().getTime() / 1000;\n if (now > exp) {\n return false;\n }\n }\n }\n return true;\n } catch (err) {\n return false;\n }\n}\n","import { queryCookies } from \"./queryCookies\";\nimport CompositeCookieQueryStrategy from \"./browsers/CompositeCookieQueryStrategy\";\nimport { groupBy } from \"lodash\";\nimport { resultsRendered } from \"./resultsRendered\";\nimport { CookieSpec } from \"./CookieSpec\";\nimport { ExportedCookie } from \"./ExportedCookie\";\n\nexport async function getGroupedRenderedCookies(\n //\n {\n name,\n domain,\n }: //\n CookieSpec\n): //\nPromise<string[]> {\n const cookies: ExportedCookie[] = await queryCookies(\n { name, domain },\n new CompositeCookieQueryStrategy()\n //\n );\n if (Array.isArray(cookies) && cookies.length > 0) {\n const results: ExportedCookie[] = await queryCookies({ name, domain });\n const groupedByFile = groupBy(results, (r) => r.meta?.file);\n return Object.keys(groupedByFile).map((file: string) => {\n const results: ExportedCookie[] = groupedByFile[file];\n return resultsRendered(results);\n });\n } else {\n throw new Error(\"Cookie not found\");\n }\n}\n","import { uniqBy } from \"lodash\";\nimport { ExportedCookie } from \"./ExportedCookie\";\n\nexport function resultsRendered(results: ExportedCookie[]) {\n return uniqBy(results, (r) => r.name)\n .map((r) => r.name + \"=\" + r.value)\n .join(\"; \");\n}\n","// noinspection JSUnusedGlobalSymbols\n\nimport { fetch } from \"cross-fetch\";\nimport { merge } from \"lodash\";\n// noinspection SpellCheckingInspection\nimport destr from \"destr\";\nimport FetchResponse from \"./FetchResponse\";\nimport { getGroupedRenderedCookies } from \"./getGroupedRenderedCookies\";\n\nexport async function fetchWithCookies(\n url: RequestInfo | URL,\n options: RequestInit | undefined = {}\n): Promise<FetchResponse> {\n const defaultOptions: RequestInit = {\n headers: {\n \"User-Agent\":\n \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36\",\n },\n redirect: \"manual\",\n };\n const url2: string = `${url}`;\n const url1: URL = new URL(url2);\n const domain = url1.hostname.replace(/^.*(\\.\\w+\\.\\w+)$/, (match, p1) => {\n return `%${p1}`;\n });\n const cookies: string[] = await getGroupedRenderedCookies({\n name: \"%\",\n domain: domain,\n }).catch(() => []);\n const cookie = cookies.pop();\n const newOptions1: RequestInit = merge(defaultOptions, options, {\n headers: {\n Cookie: cookie,\n },\n });\n try {\n const res: Response = await fetch(url2, newOptions1);\n const newUrl = res.headers.get(\"location\") as string;\n if (res.redirected || (newUrl && newUrl !== url2)) {\n return fetchWithCookies(newUrl, newOptions1);\n }\n const arrayBuffer1 = res.arrayBuffer();\n const arrayBuffer = async () => arrayBuffer1;\n const buffer = async () => arrayBuffer().then(Buffer.from);\n const text = async () => buffer().then((buffer) => buffer.toString(\"utf8\"));\n const json = async () => text().then(destr);\n const formData = async () =>\n text().then((text) => new URLSearchParams(text));\n const source2 = {\n status: res.status,\n statusText: res.statusText,\n headers: res.headers,\n arrayBuffer,\n buffer,\n text,\n json,\n formData,\n //\n };\n return merge({}, res, source2);\n } catch (e) {\n throw e;\n }\n}\n","export interface CookieSpec {\n name: string;\n domain: string;\n}\n","export interface CookieRow {\n domain: string;\n name: string;\n value: Buffer;\n meta?: any;\n}\n","export interface ExportedCookie {\n domain: string;\n name: string;\n value: string;\n meta?: any;\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../"}
1
+ {"mappings":"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","sources":["src/index.ts","src/getCookie.ts","src/queryCookies.ts","src/argv.ts","src/browsers/CompositeCookieQueryStrategy.ts","src/browsers/ChromeCookieQueryStrategy.ts","src/utils.ts","src/global.ts","src/findAllFiles.ts","src/IsCookieRow.ts","src/IsExportedCookie.ts","src/StringToRegex.ts","src/browsers/FirefoxCookieQueryStrategy.ts","src/SpecialCases.ts","src/browsers/SafariCookieQueryStrategy.ts","src/browsers/CookieStoreQueryStrategy.ts","src/CookieStore.ts","src/FileCookieStore.ts","src/isValidJwt.ts","src/getChromeCookie.ts","src/getFirefoxCookie.ts","src/getGroupedRenderedCookies.ts","src/resultsRendered.ts","src/comboQueryCookieSpec.ts","src/getMergedRenderedCookies.ts","src/fetchWithCookies.ts","src/cookieSpecsFromUrl.ts","src/CookieSpec.ts","src/CookieRow.ts","src/ExportedCookie.ts"],"sourcesContent":["#!/usr/bin/env node\n// noinspection JSUnusedGlobalSymbols\n\nimport { getCookie } from \"./getCookie\";\nimport { getChromeCookie } from \"./getChromeCookie\";\nimport { getFirefoxCookie } from \"./getFirefoxCookie\";\nimport { getGroupedRenderedCookies } from \"./getGroupedRenderedCookies\";\nimport { getMergedRenderedCookies } from \"./getMergedRenderedCookies\";\nimport { fetchWithCookies } from \"./fetchWithCookies\";\n\nexport {\n getCookie,\n getChromeCookie,\n getFirefoxCookie,\n getMergedRenderedCookies,\n getGroupedRenderedCookies,\n fetchWithCookies,\n //\n};\n\nexport * from \"./CookieSpec\";\nexport * from \"./CookieRow\";\nexport * from \"./ExportedCookie\";\n","import CookieSpec from \"./CookieSpec\";\nimport ExportedCookie from \"./ExportedCookie\";\nimport { queryCookies } from \"./queryCookies\";\nimport CompositeCookieQueryStrategy from \"./browsers/CompositeCookieQueryStrategy\";\n\nexport async function getCookie(\n params: CookieSpec\n): Promise<ExportedCookie | undefined> {\n const cookies = await queryCookies(\n params,\n new CompositeCookieQueryStrategy()\n //\n );\n if (Array.isArray(cookies) && cookies.length > 0) {\n return cookies.find((cookie) => cookie != null);\n } else {\n throw new Error(\"Cookie not found\");\n }\n}\n","import { uniqBy } from \"lodash\";\nimport { parsedArgs } from \"./argv\";\nimport CompositeCookieQueryStrategy from \"./browsers/CompositeCookieQueryStrategy\";\nimport CookieQueryStrategy from \"./browsers/CookieQueryStrategy\";\nimport isValidJwt from \"./isValidJwt\";\nimport CookieSpec from \"./CookieSpec\";\nimport ExportedCookie from \"./ExportedCookie\";\n\nexport async function queryCookies(\n { name, domain }: CookieSpec,\n strategy: CookieQueryStrategy = new CompositeCookieQueryStrategy()\n): Promise<ExportedCookie[]> {\n const results: ExportedCookie[] = await strategy.queryCookies(name, domain);\n const allCookies: ExportedCookie[] = uniqBy(results, JSON.stringify);\n\n if (parsedArgs[\"require-jwt\"]) {\n const jwtCookies = [];\n for (const result of allCookies) {\n const value: string = result.value;\n if (isValidJwt(value)) {\n jwtCookies.push(result);\n }\n }\n return parsedArgs[\"single\"] ? [jwtCookies[0]] : jwtCookies;\n } else {\n return parsedArgs[\"single\"] ? [allCookies[0]] : allCookies;\n }\n}\n","import minimist from \"minimist\";\nimport { merge } from \"lodash\";\n\nexport interface MyParsedArgs extends minimist.ParsedArgs {\n verbose: boolean;\n render?: string;\n fetch?: string;\n cs?: string;\n dump?: string;\n \"dump-request-headers\"?: string;\n \"dump-response-headers\"?: string;\n \"dump-response-body\"?: string;\n}\n\nexport const argv: string[] = process.argv ?? [];\nconst minimistArgs: minimist.ParsedArgs = minimist(argv.slice(2));\nconst defaultOptions = {\n verbose: false,\n};\nexport const parsedArgs: MyParsedArgs = merge(defaultOptions, minimistArgs);\n","import ChromeCookieQueryStrategy from \"./ChromeCookieQueryStrategy\";\nimport FirefoxCookieQueryStrategy from \"./FirefoxCookieQueryStrategy\";\nimport SafariCookieQueryStrategy from \"./SafariCookieQueryStrategy\";\nimport CookieQueryStrategy from \"./CookieQueryStrategy\";\nimport ExportedCookie from \"../ExportedCookie\";\nimport LRUCache from \"lru-cache\";\nimport CookieStoreQueryStrategy from \"./CookieStoreQueryStrategy\";\nimport { red } from \"colorette\";\nimport { merge } from \"lodash\";\nimport { parsedArgs } from \"../argv\";\n\nconst cache = new LRUCache<string, ExportedCookie[]>({\n ttl: 1000 * 2,\n max: 10,\n});\n\nexport default class CompositeCookieQueryStrategy\n implements CookieQueryStrategy\n{\n browserName = \"all\";\n\n #strategies;\n\n constructor() {\n this.#strategies = [\n CookieStoreQueryStrategy,\n ChromeCookieQueryStrategy,\n FirefoxCookieQueryStrategy,\n SafariCookieQueryStrategy,\n ].map((strategy) => {\n return new strategy();\n });\n }\n\n async queryCookies(name: string, domain: string): Promise<ExportedCookie[]> {\n // domain = domain.match(/(\\w+.+\\w+)/gi)?.pop() ?? domain;\n const key = `${name}:${domain}`;\n const cached = cache.get(key);\n if (cached) {\n return cached;\n }\n if (parsedArgs.verbose) {\n console.log(\"Querying cookies:\", name, domain);\n }\n const results: ExportedCookie[][] = await Promise.all(\n this.#strategies.map(async (strategy: CookieQueryStrategy) => {\n // @ts-ignore\n return strategy\n .queryCookies(name, domain)\n .then((cookies: ExportedCookie[]) => {\n return cookies.map((cookie: ExportedCookie) => {\n return merge(cookie, {\n meta: {\n browser: strategy.browserName,\n },\n });\n });\n })\n .catch((e) => {\n console.log(\n red(`Error querying ${strategy.browserName} cookies`),\n e\n );\n return [];\n });\n })\n );\n const flat: ExportedCookie[] = results.flat();\n cache.set(`${name}:${domain}`, flat);\n return flat;\n }\n}\n","import CookieQueryStrategy from \"./CookieQueryStrategy\";\nimport { execSimple } from \"../utils\";\nimport { env, HOME } from \"../global\";\nimport fs, { existsSync } from \"fs\";\nimport { findAllFiles } from \"../findAllFiles\";\nimport * as crypto from \"crypto\";\nimport * as path from \"path\";\nimport { merge } from \"lodash\";\nimport { isCookieRow } from \"../IsCookieRow\";\nimport { isExportedCookie } from \"../IsExportedCookie\";\nimport CookieRow from \"../CookieRow\";\nimport ExportedCookie from \"../ExportedCookie\";\nimport { stringToRegex } from \"../StringToRegex\";\nimport { parsedArgs } from \"../argv\";\nimport * as sqlite3 from \"sqlite3\";\nimport { DoSqliteQuery1Params } from \"../doSqliteQuery1Params\";\n\nexport default class ChromeCookieQueryStrategy implements CookieQueryStrategy {\n browserName = \"Chrome\";\n\n async queryCookies(name: string, domain: string): Promise<ExportedCookie[]> {\n if (process.platform !== \"darwin\") {\n throw new Error(\"This only works on macOS\");\n }\n if (env.FIREFOX_ONLY) {\n return [];\n }\n return getChromeCookies({\n requireJwt: false,\n name,\n domain,\n });\n }\n}\n\nasync function getPromise1(\n name: string,\n domain: string,\n file: string\n): Promise<CookieRow[]> {\n try {\n return await getEncryptedChromeCookie({\n name: name,\n domain: domain,\n file: file,\n });\n } catch (e) {\n if (parsedArgs.verbose) {\n console.log(\"Error getting encrypted cookie\", e);\n }\n return [];\n }\n}\n\nasync function getPromise(name: string, domain: string): Promise<CookieRow[]> {\n try {\n const files: string[] = await findAllFiles({\n path: chromeLocal,\n name: \"Cookies\",\n });\n const promises: Promise<CookieRow[]>[] = files.map((file) =>\n getPromise1(name, domain, file)\n );\n const results1: CookieRow[][] = await Promise.all(promises);\n return results1.flat().filter(isCookieRow);\n } catch (error) {\n if (parsedArgs.verbose) {\n console.log(\"error\", error);\n }\n return [];\n }\n}\n\nasync function decryptValue(password: string, encryptedValue: Buffer) {\n let d: string | null;\n try {\n d = await decrypt(password, encryptedValue);\n } catch (e) {\n if (parsedArgs.verbose) {\n console.log(\"Error decrypting cookie\", e);\n }\n d = null;\n }\n return d ?? encryptedValue.toString(\"utf-8\");\n}\n\nasync function getChromeCookies({\n name,\n domain = \"%\",\n requireJwt = false,\n}: {\n name: string;\n domain: string;\n requireJwt: boolean | undefined;\n //\n}): //\nPromise<ExportedCookie[]> {\n const encryptedDataItems: CookieRow[] = await getPromise(name, domain);\n const password: string = await getChromePassword();\n const decrypted: Promise<ExportedCookie | null>[] = encryptedDataItems\n .filter(({ value }) => value != null && value.length > 0)\n .map(async (cookieRow: CookieRow) => {\n const encryptedValue: Buffer = cookieRow.value;\n const decryptedValue = await decryptValue(password, encryptedValue);\n const meta = {};\n merge(meta, cookieRow.meta ?? {});\n const exportedCookie: ExportedCookie = {\n domain: cookieRow.domain,\n name: cookieRow.name,\n value: decryptedValue,\n meta: meta,\n };\n const expiry = cookieRow.expiry;\n const mergeExpiry =\n expiry != null && expiry > 0\n ? {\n expiry: new Date(expiry),\n }\n : {\n expiry: \"Infinity\",\n };\n merge(exportedCookie, mergeExpiry);\n return exportedCookie;\n });\n const results: ExportedCookie[] = (await Promise.all(decrypted)).filter(\n isExportedCookie\n );\n if (parsedArgs.verbose) {\n console.log(\"results\", results);\n }\n return results;\n}\n\nconst chromeLocal = path.join(\n HOME,\n \"Library\",\n \"Application Support\",\n \"Google\",\n \"Chrome\"\n);\n\nasync function getEncryptedChromeCookie({\n name,\n domain,\n file = path.join(chromeLocal, \"Default\", \"Cookies\"),\n}: //\n{\n name: string;\n domain: string;\n file: string;\n}): Promise<CookieRow[]> {\n if (!existsSync(file)) {\n throw new Error(`File ${file} does not exist`);\n }\n if (parsedArgs.verbose) {\n const s = file.split(\"/\").slice(-3).join(\"/\");\n console.log(`Trying Chrome (at ${s}) cookie ${name} for domain ${domain}`);\n }\n let sql;\n //language=SQL\n sql = \"SELECT * FROM cookies\";\n // sql = \"SELECT encrypted_value, name, host_key FROM cookies\";\n\n const wildcardRegexp = /^([*%])$/i;\n const specifiedName = name.match(wildcardRegexp) == null;\n const specifiedDomain = domain.match(wildcardRegexp) == null;\n const wildcardDomain = domain.match(/[%*]/) != null;\n const queryDomain = specifiedDomain && !wildcardDomain;\n // if we have a wildcard domain, we need to use a regexp\n if (specifiedName || queryDomain) {\n sql += ` WHERE `;\n if (specifiedName) {\n sql += `name = '${name}'`;\n if (queryDomain) {\n sql += ` AND `;\n }\n }\n if (queryDomain) {\n // leading dot replaced with % to match subdomains\n const sqlEmbedDomain = domain.replace(/^[.%]?/, \"%\");\n sql += `host_key LIKE '${sqlEmbedDomain}';`;\n }\n }\n if (parsedArgs.verbose) {\n console.log(\"sql\", sql);\n }\n const domainRegexp: RegExp = stringToRegex(domain);\n const sqliteQuery1: CookieRow[] = await doChromeSqliteQuery1({\n file: file,\n sql: sql,\n rowFilter: (row) => {\n return row[\"host_key\"].match(domainRegexp) != null;\n },\n rowTransform: (row) => {\n const cookieRow = {\n expiry: (row[\"expires_utc\"] / 1000000 - 11644473600) * 1000,\n domain: row[\"host_key\"],\n name: row[\"name\"],\n value: row[\"encrypted_value\"],\n };\n if (parsedArgs.verbose) {\n console.log(\"CookieRow\", cookieRow);\n }\n return cookieRow;\n },\n });\n return sqliteQuery1.filter((row) => {\n return row.domain.match(domainRegexp) != null;\n });\n}\n\nasync function getChromePassword(): Promise<string> {\n return execSimple(\n 'security find-generic-password -w -s \"Chrome Safe Storage\"'\n );\n}\n\nasync function decrypt(\n password: crypto.BinaryLike,\n encryptedData: Buffer\n): Promise<string> {\n if (typeof password !== \"string\") {\n throw new Error(\"password must be a string: \" + password);\n }\n let encryptedData1: any;\n encryptedData1 = encryptedData;\n if (encryptedData1 == null || typeof encryptedData1 !== \"object\") {\n throw new Error(\"encryptedData must be a object: \" + encryptedData1);\n }\n if (!(encryptedData1 instanceof Buffer)) {\n if (Array.isArray(encryptedData1) && encryptedData1[0] instanceof Buffer) {\n [encryptedData1] = encryptedData1;\n if (parsedArgs.verbose) {\n console.log(\n `encryptedData is an array of buffers, selected first: ${encryptedData1}`\n );\n }\n } else {\n throw new Error(\"encryptedData must be a Buffer: \" + encryptedData1);\n }\n encryptedData1 = Buffer.from(encryptedData1);\n }\n if (parsedArgs.verbose) {\n console.log(`Trying to decrypt with password ${password}`);\n }\n return new Promise((resolve, reject) => {\n crypto.pbkdf2(password, \"saltysalt\", 1003, 16, \"sha1\", (error, buffer) => {\n try {\n if (error) {\n if (parsedArgs.verbose) {\n console.log(\"Error doing pbkdf2\", error);\n }\n reject(error);\n return;\n }\n\n if (buffer.length !== 16) {\n if (parsedArgs.verbose) {\n console.log(\n \"Error doing pbkdf2, buffer length is not 16\",\n buffer.length\n );\n }\n reject(new Error(\"Buffer length is not 16\"));\n return;\n }\n\n const str = new Array(17).join(\" \");\n const iv = Buffer.from(str, \"binary\");\n const decipher = crypto.createDecipheriv(\"aes-128-cbc\", buffer, iv);\n decipher.setAutoPadding(false);\n\n if (encryptedData1 && encryptedData1.slice) {\n encryptedData1 = encryptedData1.slice(3);\n }\n\n if (encryptedData1.length % 16 !== 0) {\n if (parsedArgs.verbose) {\n console.log(\n \"Error doing pbkdf2, encryptedData length is not a multiple of 16\",\n encryptedData1.length\n );\n }\n reject(new Error(\"encryptedData length is not a multiple of 16\"));\n return;\n }\n\n let decoded = decipher.update(encryptedData1);\n try {\n decipher.final(\"utf-8\");\n } catch (e) {\n if (parsedArgs.verbose) {\n console.log(\"Error doing decipher.final()\", e);\n }\n reject(e);\n return;\n }\n\n const padding = decoded[decoded.length - 1];\n if (padding) {\n decoded = decoded.slice(0, 0 - padding);\n }\n // noinspection JSCheckFunctionSignatures\n const decodedString = decoded.toString(\"utf8\");\n resolve(decodedString);\n } catch (e) {\n reject(e);\n }\n });\n });\n}\n\nexport async function doChromeSqliteQuery1({\n file,\n sql,\n rowFilter = () => true,\n rowTransform,\n}: DoSqliteQuery1Params): Promise<CookieRow[]> {\n if (!file || (file && !fs.existsSync(file))) {\n throw new Error(`doSqliteQuery1: file ${file} does not exist`);\n }\n const db = new sqlite3.Database(file);\n return new Promise((resolve, reject) => {\n db.all(sql, (err: Error, rows: any[]) => {\n if (err) {\n reject(err);\n return;\n }\n const rows1: any[] = rows;\n if (rows1 == null || rows1.length === 0) {\n resolve([]);\n return;\n }\n if (Array.isArray(rows1)) {\n const cookieRows: CookieRow[] = rows1\n .filter(rowFilter)\n .map((row: any) => {\n const newVar = {\n meta: {\n file: file,\n },\n };\n const cookieRow: CookieRow = rowTransform(row);\n return merge(newVar, cookieRow);\n });\n resolve(cookieRows);\n return;\n }\n if (parsedArgs.verbose) {\n console.log(`doSqliteQuery1: rows ${JSON.stringify(rows1)}`);\n }\n resolve([rows1]);\n });\n });\n}\n","// noinspection JSUnusedGlobalSymbols\n\nimport { exec, ExecException } from \"child_process\";\n\nexport async function execSimple(command: string): Promise<string> {\n return new Promise((resolve, reject) => {\n exec(\n command,\n { encoding: \"binary\", maxBuffer: 5 * 1024 },\n (error: ExecException | null, stdout: string, stderr: string) => {\n if (error) {\n reject(error);\n return;\n }\n if (stderr) {\n reject(error);\n return;\n }\n if (stdout) {\n resolve(stdout.trim());\n }\n }\n );\n });\n}\n","import { merge } from \"lodash\";\n\nexport const env: any = {};\nmerge(env, process.env);\nexport const HOME: string = env[\"HOME\"];\nif (!HOME) {\n throw new Error(\"HOME environment variable is not set\");\n}\n","import * as fs from \"fs\";\nimport { parsedArgs } from \"./argv\";\n\nexport async function findAllFiles({\n path,\n name,\n maxDepth = 2,\n}: //\n{\n path: string;\n name: string;\n maxDepth?: number;\n}): Promise<string[]> {\n const rootSegments = path.split(\"/\").length;\n const files: string[] = [];\n let readdirSync;\n try {\n readdirSync = fs.readdirSync(path);\n } catch (e) {\n if (parsedArgs.verbose) {\n console.log(`Error reading ${path}`, e);\n }\n return [];\n }\n for (const file of readdirSync) {\n const filePath = path + \"/\" + file;\n let stat;\n try {\n stat = fs.statSync(filePath);\n } catch (e) {\n if (parsedArgs.verbose) {\n console.error(`Error getting stat for ${filePath}`, e);\n }\n continue;\n }\n if (stat.isDirectory()) {\n if (filePath.split(\"/\").length < rootSegments + maxDepth) {\n try {\n const subFiles = await findAllFiles({\n path: filePath,\n name: name,\n maxDepth: 2,\n });\n files.push(...subFiles);\n } catch (e) {\n if (parsedArgs.verbose) {\n console.error(e);\n }\n }\n }\n } else if (file === name) {\n files.push(filePath);\n }\n }\n if (parsedArgs.verbose) {\n if (files.length > 0) {\n console.log(`Found ${files.length} ${name} files`);\n console.log(files);\n }\n }\n return files;\n}\n","import CookieRow from \"./CookieRow\";\n\nexport function isCookieRow(obj: any): obj is CookieRow {\n return (\n obj.domain !== undefined &&\n obj.name !== undefined &&\n obj.value !== undefined\n );\n}\n","import ExportedCookie from \"./ExportedCookie\";\n\nexport function isExportedCookie(obj: any): obj is ExportedCookie {\n return (\n obj.domain !== undefined &&\n obj.name !== undefined &&\n obj.value !== undefined\n );\n}\n","export function stringToRegex(s: string): RegExp {\n const s1 = s.replaceAll(/\\./gi, \".\");\n const s2 = s1.replace(/%/g, \".*\");\n const s3 = s2.replace(/\\*/g, \".*\");\n return new RegExp(s3);\n}\n","import * as path from \"path\";\nimport CookieQueryStrategy from \"./CookieQueryStrategy\";\nimport { HOME } from \"../global\";\nimport fs, { existsSync } from \"fs\";\nimport { findAllFiles } from \"../findAllFiles\";\nimport ExportedCookie from \"../ExportedCookie\";\nimport CookieRow from \"../CookieRow\";\nimport CookieSpec from \"../CookieSpec\";\nimport { specialCases } from \"../SpecialCases\";\nimport { parsedArgs } from \"../argv\";\nimport { DoSqliteQuery1Params } from \"../doSqliteQuery1Params\";\nimport * as sqlite3 from \"sqlite3\";\nimport { merge } from \"lodash\";\n\nexport async function doSqliteQuery1({\n file,\n sql,\n rowTransform,\n}: DoSqliteQuery1Params): Promise<CookieRow[]> {\n if (!file || (file && !fs.existsSync(file))) {\n throw new Error(`doSqliteQuery1: file ${file} does not exist`);\n }\n const db = new sqlite3.Database(file);\n return new Promise((resolve, reject) => {\n db.all(sql, (err: Error, rows: any[]) => {\n if (err) {\n reject(err);\n return;\n }\n const rows1: any[] = rows;\n if (rows1 == null || rows1.length === 0) {\n resolve([]);\n return;\n }\n if (Array.isArray(rows1)) {\n const cookieRows: CookieRow[] = rows1.map((row: any) => {\n const newVar = {\n meta: {\n file: file,\n },\n };\n const cookieRow: CookieRow = rowTransform(row);\n return merge(newVar, cookieRow);\n });\n resolve(cookieRows);\n return;\n }\n if (parsedArgs.verbose) {\n console.log(`doSqliteQuery1: rows ${JSON.stringify(rows1)}`);\n }\n resolve([rows1]);\n });\n });\n}\n\nexport default class FirefoxCookieQueryStrategy implements CookieQueryStrategy {\n browserName = \"Firefox\";\n\n async queryCookies(name: string, domain: string): Promise<ExportedCookie[]> {\n if (process.platform !== \"darwin\") {\n // TODO: implement\n return [];\n }\n if (parsedArgs.browser !== \"firefox\") {\n return [];\n }\n const cookies = await this.#getFirefoxCookie({ name, domain });\n if (Array.isArray(cookies)) {\n return cookies.map((cookie: CookieRow) => {\n return {\n domain: cookie.domain,\n name: cookie.name,\n value: cookie.value.toString(\"utf8\"),\n };\n });\n } else {\n return [];\n }\n }\n\n async #getFirefoxCookie(\n { name, domain }: CookieSpec //\n ) {\n const files: string[] = await findAllFiles({\n path: path.join(\n HOME,\n \"Library\",\n \"Application Support\",\n \"Firefox\",\n \"Profiles\"\n ),\n name: \"cookies.sqlite\",\n });\n const fn: (file: string) => Promise<CookieRow[]> = async (file: string) => {\n return await this.#queryCookiesDb(file, name, domain);\n };\n const all: CookieRow[][] = await Promise.all(files.map(fn));\n // flatten\n return all.flat();\n }\n\n async #queryCookiesDb(\n file: string,\n name: string,\n domain: string\n ): Promise<CookieRow[]> {\n if (file && !existsSync(file)) {\n throw new Error(`File ${file} does not exist`);\n }\n let sql;\n //language=SQL\n sql = \"SELECT value, name, host FROM moz_cookies\";\n const { specifiedName, specifiedDomain } = specialCases({ name, domain });\n if (specifiedName || specifiedDomain) {\n sql += ` WHERE `;\n if (specifiedName) {\n sql += `name = '${name}'`;\n if (specifiedDomain) {\n sql += ` AND `;\n }\n }\n if (specifiedDomain) {\n sql += `host LIKE '${domain}';`;\n }\n }\n const rowTransform = (row: any) => {\n // row is object key by column name\n const value = row.value as string;\n return {\n domain: row.domain as string,\n name: row.name as string,\n value: Buffer.from(value, \"utf8\"),\n };\n };\n try {\n return await doSqliteQuery1({\n file,\n sql,\n rowTransform,\n });\n } catch (e) {\n console.error(`Error querying ${file}`, e);\n return [];\n }\n }\n}\n","import CookieSpec from \"./CookieSpec\";\n\nexport function specialCases({ name, domain }: CookieSpec): {\n specifiedName: boolean;\n specifiedDomain: boolean;\n //\n} {\n const wildcardRegexp = /^([*%])$/i;\n return {\n specifiedName: name.match(wildcardRegexp) == null,\n specifiedDomain: domain.match(wildcardRegexp) == null,\n //\n };\n}\n","import CookieQueryStrategy from \"./CookieQueryStrategy\";\nimport ExportedCookie from \"../ExportedCookie\";\n\nexport default class SafariCookieQueryStrategy implements CookieQueryStrategy {\n browserName = \"Safari\";\n\n async queryCookies(name: string, domain: string): Promise<ExportedCookie[]> {\n // TODO: implement\n return [];\n }\n}\n","import CookieQueryStrategy from \"./CookieQueryStrategy\";\nimport CookieSpec from \"../CookieSpec\";\nimport ExportedCookie from \"../ExportedCookie\";\nimport { Cookie, Store } from \"tough-cookie\";\nimport { cookieJarPromise, cookieStorePromise } from \"../CookieStore\";\nimport { stringToRegex } from \"../StringToRegex\";\n\nexport default class CookieStoreQueryStrategy implements CookieQueryStrategy {\n browserName = \"internal\";\n\n async queryCookies(name: string, domain: string): Promise<ExportedCookie[]> {\n const exportedCookies: ExportedCookie[] = [];\n\n // if (name.match(/[%*]/) || domain.match(/[%*]/)) {\n const cookies: Cookie[] = await this.#getAllCookies();\n const allExportedCookies = cookies.map((cookie: Cookie) => {\n return this.#extracted(cookie, { name, domain });\n });\n exportedCookies.push(...allExportedCookies);\n // }\n\n const wildcardRegexp = /^([*%])$/i;\n if (name.match(wildcardRegexp) && domain.match(wildcardRegexp)) {\n return exportedCookies;\n }\n\n const path = \"/\";\n\n if (domain != \"%\") {\n const domain1 = domain.match(/(\\w+.+\\w+)/gi)?.pop() ?? domain;\n const url = new URL(\"https://\" + domain1);\n url.pathname = path;\n const cookies: Cookie[] = await this.#getCookies(url.href);\n const domainCookies = cookies.map((cookie: Cookie) => {\n return this.#extracted(cookie, {\n domain,\n name,\n });\n });\n exportedCookies.push(...domainCookies);\n }\n\n if (name == \"%\") {\n return exportedCookies.filter((cookie: ExportedCookie) => {\n return cookie.domain.match(stringToRegex(domain));\n });\n }\n\n return exportedCookies.filter((cookie: ExportedCookie) => {\n return (\n cookie.name.match(stringToRegex(name)) &&\n cookie.domain.match(stringToRegex(domain))\n );\n });\n }\n\n #extracted(cookie: Cookie, cookieSpec: CookieSpec): ExportedCookie {\n return {\n domain: cookie.domain ?? cookieSpec.domain,\n name: cookie.key ?? cookieSpec.name,\n value: cookie.value,\n expiry: cookie.expires ?? \"Infinity\",\n meta: {\n file: \"tough-cookie\",\n },\n };\n }\n\n async #getCookies(url: string): Promise<Cookie[]> {\n const cookieJar = await cookieJarPromise;\n return new Promise((resolve, reject) => {\n return cookieJar.getCookies(\n url,\n (err: Error | null, cookies: Cookie[]) => {\n if (err) {\n reject(err);\n } else {\n resolve(cookies ?? []);\n }\n }\n );\n });\n }\n\n async #getAllCookies(): Promise<Cookie[]> {\n const cookieStore: Store = await cookieStorePromise;\n return new Promise((resolve, reject) => {\n return cookieStore.getAllCookies(\n (err: Error | null, cookies: Cookie[]) => {\n if (err) {\n reject(err);\n } else {\n resolve(cookies ?? []);\n }\n }\n );\n });\n }\n}\n","import { env } from \"./global\";\nimport { parsedArgs } from \"./argv\";\nimport { CookieJar, MemoryCookieStore, Store } from \"tough-cookie\";\n\nimport { FileCookieStore } from \"./FileCookieStore\";\n\nconst memoryCookieStore = new MemoryCookieStore();\n\nasync function getCookieStore(): Promise<Store> {\n if (parsedArgs[\"cs\"] == \"memory\") {\n return memoryCookieStore;\n }\n const fileCookieStore = new FileCookieStore(\n `${env[\"HOME\"]}/cookie-star.json`,\n memoryCookieStore\n );\n await fileCookieStore.waitUntilIdle();\n return fileCookieStore;\n}\n\nexport const cookieStorePromise: Promise<Store> = new Promise((resolve) => {\n getCookieStore().then(resolve);\n});\n\nexport const cookieJarPromise: Promise<CookieJar> = new Promise((resolve) => {\n cookieStorePromise.then((store) => new CookieJar(store)).then(resolve);\n});\n","import { Cookie, MemoryCookieStore, Store } from \"tough-cookie\";\nimport { existsSync, readFileSync, writeFile } from \"fs\";\nimport destr from \"destr\";\nimport { merge } from \"lodash\";\n\nexport class FileCookieStore extends Store {\n private readonly internalStore: Store;\n\n synchronous: boolean = false;\n filePath: string;\n\n private tasks: Promise<any>[] = [];\n\n constructor(\n filePath: string,\n internalStore: Store = new MemoryCookieStore()\n ) {\n super();\n\n this.filePath = filePath;\n this.internalStore = internalStore ?? new MemoryCookieStore();\n\n console.log(\"Importing cookies from\", filePath, internalStore);\n\n this.tasks.push(\n this.importSaved(filePath, internalStore).then(console.log, console.error)\n );\n }\n\n private async importSaved(filePath: string, store: Store): Promise<Cookie[]> {\n const cookies: Cookie[] = [];\n if (existsSync(filePath)) {\n const data = readFileSync(filePath, \"utf8\");\n const cookies: any[] = Object.values(destr(data))\n .flatMap((domainCookies: any) => Object.values(domainCookies))\n .flatMap((domainCookies: any) => Object.values(domainCookies));\n console.log(\"Importing\", cookies.length, \"cookies\");\n const array = Array.isArray(cookies) ? cookies : Object.values(cookies);\n const put = await Promise.all(\n array.map((cookie) => {\n const fromJSON = Cookie.fromJSON(cookie);\n if (fromJSON) {\n return this.putCookieInternal(fromJSON, store);\n }\n })\n );\n cookies.push(...put);\n }\n return cookies;\n }\n\n findCookie(\n domain: string,\n path: string,\n key: string,\n cb: (err: Error | null, cookie: Cookie | null) => void\n ) {\n this.waitUntilIdle().finally(() => {\n this.internalStore.findCookie(domain, path, key, cb);\n });\n }\n\n findCookies(\n domain: string,\n path: string,\n allowSpecialUseDomain: boolean,\n cb: (err: Error | null, cookie: Cookie[]) => void\n ) {\n this.waitUntilIdle().finally(() => {\n this.internalStore.findCookies(domain, path, allowSpecialUseDomain, cb);\n });\n }\n\n putCookie(cookie: Cookie, cb: (err: Error | null) => void) {\n this.internalStore.putCookie(cookie, cb);\n this.internalStore.getAllCookies((err, cookies) => {\n this.serializeCallback(err, cookies);\n });\n }\n\n updateCookie(\n oldCookie: Cookie,\n newCookie: Cookie,\n cb: (err: Error | null) => void\n ) {\n this.internalStore.updateCookie(oldCookie, newCookie, cb);\n this.internalStore.getAllCookies((err, cookies) => {\n this.serializeCallback(err, cookies);\n });\n }\n\n removeCookie(\n domain: string,\n path: string,\n key: string,\n cb: (err: Error | null) => void\n ) {\n this.internalStore.removeCookie(domain, path, key, cb);\n this.internalStore.getAllCookies((err, cookies) => {\n this.serializeCallback(err, cookies);\n });\n }\n\n removeCookies(domain: string, path: string, cb: (err: Error | null) => void) {\n this.internalStore.removeCookies(domain, path, cb);\n this.internalStore.getAllCookies((err, cookies) => {\n this.serializeCallback(err, cookies);\n });\n }\n\n getAllCookies(cb: (err: Error | null, cookie: Cookie[]) => void) {\n this.waitUntilIdle().finally(() => {\n this.internalStore.getAllCookies(cb);\n });\n }\n\n waitUntilIdle() {\n return Promise.allSettled(this.tasks).catch(console.error);\n }\n\n private async putCookieInternal(\n cookie: Cookie,\n store: Store\n ): Promise<Cookie> {\n await this.waitUntilIdle();\n return await new Promise<Cookie>(\n (\n resolve: (value: PromiseLike<Cookie> | Cookie) => void,\n reject: (reason?: any) => void\n ) => {\n store.putCookie(cookie, (err: Error | null) => {\n if (err) {\n reject(err);\n } else {\n resolve(cookie);\n }\n });\n }\n );\n }\n\n private serializeCallback(err: Error | null, cookies: Cookie[]) {\n if (err) {\n console.error(err);\n return;\n }\n const cookieObjs = cookies.map((cookie: Cookie) => cookie);\n const idx: any = {};\n for (const cookie of cookieObjs) {\n const domain = cookie.domain;\n if (typeof domain === \"string\") {\n const path: string = cookie.path ?? \"/\";\n const key: string = cookie.key;\n merge(idx, {\n [domain]: {\n [path]: {\n [key]: cookie.toJSON(),\n },\n },\n });\n }\n }\n const stringify = JSON.stringify(idx, null, 2);\n writeFile(this.filePath, stringify, (err) => {\n if (err) {\n console.error(err);\n }\n });\n }\n}\n","import jsonwebtoken, { JwtPayload } from \"jsonwebtoken\";\nimport { parsedArgs } from \"./argv\";\n\nexport default function isValidJwt(token: any) {\n try {\n const result = jsonwebtoken.decode(token, { complete: true });\n if (parsedArgs.verbose && result) {\n console.log(result);\n }\n const payload: JwtPayload = result?.payload as JwtPayload;\n if (payload) {\n const exp = payload.exp;\n if (exp) {\n const now = new Date().getTime() / 1000;\n if (now > exp) {\n return false;\n }\n }\n }\n return true;\n } catch (err) {\n return false;\n }\n}\n","import CookieSpec from \"./CookieSpec\";\nimport ExportedCookie from \"./ExportedCookie\";\nimport { queryCookies } from \"./queryCookies\";\nimport ChromeCookieQueryStrategy from \"./browsers/ChromeCookieQueryStrategy\";\nimport { isExportedCookie } from \"./IsExportedCookie\";\n\nexport async function getChromeCookie(\n params: CookieSpec\n): Promise<ExportedCookie | undefined> {\n const cookies = await queryCookies(\n params,\n new ChromeCookieQueryStrategy()\n //\n );\n if (cookies.length == 0) {\n throw new Error(\"Cookie not found\");\n }\n return cookies.find(isExportedCookie);\n}\n","import CookieSpec from \"./CookieSpec\";\nimport ExportedCookie from \"./ExportedCookie\";\nimport { queryCookies } from \"./queryCookies\";\nimport FirefoxCookieQueryStrategy from \"./browsers/FirefoxCookieQueryStrategy\";\n\nexport async function getFirefoxCookie(\n params: CookieSpec\n): Promise<ExportedCookie | undefined> {\n const cookies = await queryCookies(\n params,\n new FirefoxCookieQueryStrategy()\n //\n );\n if (Array.isArray(cookies) && cookies.length > 0) {\n return cookies.find((cookie) => cookie != null);\n } else {\n throw new Error(\"Cookie not found\");\n }\n}\n","import { groupBy } from \"lodash\";\nimport { resultsRendered } from \"./resultsRendered\";\nimport { MultiCookieSpec } from \"./CookieSpec\";\nimport ExportedCookie from \"./ExportedCookie\";\nimport { comboQueryCookieSpec } from \"./comboQueryCookieSpec\";\n\nexport async function getGroupedRenderedCookies(\n cookieSpec: MultiCookieSpec\n): Promise<string[]> {\n const cookies: ExportedCookie[] = await comboQueryCookieSpec(cookieSpec);\n if (cookies.length == 0) {\n throw new Error(\"Cookie not found\");\n }\n const groupedByFile = groupBy(cookies, (r: ExportedCookie) => r.meta?.file);\n return Object.keys(groupedByFile).map((file: string) => {\n const results: ExportedCookie[] = groupedByFile[file];\n return resultsRendered(results);\n });\n}\n","import { orderBy, uniqBy } from \"lodash\";\nimport ExportedCookie from \"./ExportedCookie\";\n\nexport function resultsRendered(results: ExportedCookie[]) {\n // sort by name and expiry descending\n // takes the latest expiry for each name\n const orderedResults = orderBy(results, [\"name\", \"expiry\"], [\"asc\", \"desc\"]);\n return uniqBy(orderedResults, (r: ExportedCookie) => r.name)\n .map((r: ExportedCookie) => r.name + \"=\" + r.value)\n .join(\"; \");\n}\n","import CookieSpec, { MultiCookieSpec } from \"./CookieSpec\";\nimport ExportedCookie from \"./ExportedCookie\";\nimport { queryCookies } from \"./queryCookies\";\nimport { uniqBy } from \"lodash\";\n\nexport async function comboQueryCookieSpec(\n cookieSpec: MultiCookieSpec\n): Promise<ExportedCookie[]> {\n const cookies: ExportedCookie[] = [];\n if (Array.isArray(cookieSpec)) {\n const results: Awaited<ExportedCookie[]>[] = await Promise.all(\n cookieSpec.map((cs) => {\n return queryCookies(cs);\n })\n );\n for (const exportedCookie of results.flat()) {\n cookies.push(exportedCookie);\n }\n } else {\n const singleQuery: ExportedCookie[] = await queryCookies(cookieSpec);\n cookies.push(...singleQuery);\n }\n return uniqBy(cookies, JSON.stringify);\n}\n","import { resultsRendered } from \"./resultsRendered\";\nimport { comboQueryCookieSpec } from \"./comboQueryCookieSpec\";\nimport { MultiCookieSpec } from \"./CookieSpec\";\nimport ExportedCookie from \"./ExportedCookie\";\n\nexport async function getMergedRenderedCookies(\n cookieSpec: MultiCookieSpec\n): Promise<string> {\n const cookies: ExportedCookie[] = await comboQueryCookieSpec(cookieSpec);\n if (cookies.length > 0) {\n return resultsRendered(cookies);\n }\n return \"\";\n}\n","// noinspection JSUnusedGlobalSymbols,ExceptionCaughtLocallyJS\n\nimport { fetch as fetchImpl } from \"cross-fetch\";\nimport { merge } from \"lodash\";\n// noinspection SpellCheckingInspection\nimport destr from \"destr\";\nimport { cookieJarPromise } from \"./CookieStore\";\nimport UserAgent from \"user-agents\";\nimport { parsedArgs } from \"./argv\";\nimport { blue, redBright, yellow } from \"colorette\";\nimport { getMergedRenderedCookies } from \"./getMergedRenderedCookies\";\nimport { cookieSpecsFromUrl } from \"./cookieSpecsFromUrl\";\nimport CookieSpec from \"./CookieSpec\";\n\nconst userAgent = new UserAgent().toString();\n\ninterface FetchRequestInit {\n url: RequestInfo | URL | string;\n options?: RequestInit;\n}\n\nexport async function fetchWithCookies(\n url: RequestInfo | URL | string,\n options: RequestInit | undefined = {},\n fetch: Function = fetchImpl,\n originalRequest: FetchRequestInit | undefined = undefined\n): Promise<Response> {\n const originalRequest1 = originalRequest || { url, options };\n const headers: HeadersInit = {\n \"User-Agent\": userAgent,\n };\n const defaultOptions: RequestInit = {\n headers,\n redirect: \"manual\",\n };\n const url2: string = `${url}`;\n const url1: URL = new URL(url2);\n const cookieSpecs: CookieSpec[] = cookieSpecsFromUrl(url1);\n headers[\"Cookie\"] = await getMergedRenderedCookies(cookieSpecs).catch(\n () => \"\"\n );\n if (parsedArgs[\"dump-request-headers\"]) {\n console.log(redBright(\"Request URL:\"), url1.href);\n console.log(blue(\"Request headers:\"), headers);\n }\n const newOptions1: RequestInit = merge(defaultOptions, { headers }, options);\n try {\n const res: Response = await fetch(url1, newOptions1);\n const headers: [string, string][] = [];\n res.headers.forEach((value, key) => {\n headers.push([key, value]);\n });\n for (const [key, value] of headers) {\n if (key === \"set-cookie\") {\n const cookieJar1 = await cookieJarPromise;\n await cookieJar1.setCookie(value, url2);\n if (parsedArgs.verbose) {\n console.log(blue(`Set-Cookie:`), yellow(value), yellow(url2));\n }\n }\n }\n\n const newUrl: string = res.headers.get(\"location\") ?? res.url;\n // const sameHost = new URL(newUrl).host === url1.host;\n if (res.status == 301 || res.status == 302) {\n // follow the redirect\n if (newUrl && newUrl !== url2) {\n if (parsedArgs.verbose || parsedArgs[\"dump-response-headers\"]) {\n console.log(blue(`Redirected to `), yellow(newUrl));\n }\n return fetchWithCookies(\n //\n newUrl,\n newOptions1,\n fetch,\n originalRequest1\n //\n );\n }\n }\n if (res.status == 303 && newUrl && newUrl !== url2) {\n // follow the redirect with GET\n let newOptions2: RequestInit = {};\n switch (newOptions1.method) {\n case \"POST\":\n case \"PUT\":\n case \"DELETE\":\n merge(newOptions2, newOptions1, { method: \"GET\" });\n newOptions2.body = undefined; // TODO: is this needed?\n break;\n case \"HEAD\":\n case \"GET\":\n merge(newOptions2, newOptions1);\n newOptions2.body = undefined; // TODO: is this needed?\n break;\n default:\n merge(newOptions2, newOptions1);\n break;\n }\n if (parsedArgs.verbose) {\n console.log(blue(`Redirected to `), yellow(newUrl));\n }\n return fetchWithCookies(\n //\n newUrl,\n newOptions2,\n fetch,\n originalRequest1\n //\n );\n }\n\n const arrayBuffer1: Promise<ArrayBuffer> = res.arrayBuffer();\n\n async function arrayBuffer(): Promise<ArrayBuffer> {\n return arrayBuffer1;\n }\n\n async function buffer(): Promise<Buffer> {\n return arrayBuffer().then(Buffer.from);\n }\n\n async function text(): Promise<string> {\n return buffer().then((buffer: Buffer) => buffer.toString(\"utf8\"));\n }\n\n async function json(): Promise<any> {\n return text().then((text: string) => destr(text));\n }\n\n async function formData(): Promise<FormData> {\n const urlSearchParams: URLSearchParams = await text().then(\n (text) => new URLSearchParams(text)\n );\n const formData = new FormData();\n for (const [key, value] of urlSearchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n }\n\n const res1: Response = res;\n const source2 = {\n arrayBuffer,\n text,\n json,\n buffer,\n formData,\n //\n };\n return merge(res1, source2);\n } catch (e) {\n throw e;\n }\n}\n","import CookieSpec from \"./CookieSpec\";\nimport { uniqBy } from \"lodash\";\n\nexport function cookieSpecsFromUrl(url: URL | string): CookieSpec[] {\n const url1 = typeof url == \"string\" ? new URL(url) : url;\n const cookieSpecs = [];\n const splits = url1.hostname.split(\".\");\n const tld = splits.slice(-2).join(\".\");\n const cookieSpec: CookieSpec = {\n name: \"%\",\n domain: \"%.\" + tld,\n };\n cookieSpecs.push(cookieSpec);\n const cookieSpec1: CookieSpec = {\n name: \"%\",\n domain: url1.hostname,\n };\n cookieSpecs.push(cookieSpec1);\n // const isWww = splits.slice(-3)[0] === \"www\";\n const cookieSpec2: CookieSpec = {\n name: \"%\",\n domain: tld,\n };\n cookieSpecs.push(cookieSpec2);\n return uniqBy(cookieSpecs, JSON.stringify);\n}\n","export default interface CookieSpec {\n domain: string;\n name: string;\n}\n\nexport type MultiCookieSpec = CookieSpec | CookieSpec[];\n","export default interface CookieRow {\n expiry?: number;\n domain: string;\n name: string;\n value: Buffer;\n meta?: any;\n}\n","export default interface ExportedCookie {\n domain: string;\n name: string;\n value: string;\n expiry?: Date | \"Infinity\";\n meta?: any;\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../"}