parse_android_export.mjs

1011 B · raw

1import { createServer } from "/Users/june/projects/peach-browser/node_modules/vite/dist/node/index.js";2import { readFileSync } from "node:fs";34const server = await createServer({5  root: "/Users/june/projects/peach-browser",6  configFile: false, logLevel: "silent",7  server: { middlewareMode: true, hmr: false },8});9try {10  const { parsePayload } = await server.ssrLoadModule("/src/crypto/peachPayload.ts");11  const b64 = readFileSync("/tmp/android_export.b64", "utf8").trim();12  const bytes = new Uint8Array(Buffer.from(b64, "base64"));13  const parsed = await parsePayload(bytes, "android-pw");14  console.log("BROWSER PARSED ANDROID EXPORT:", parsed.entries.length, "entries");15  console.log(JSON.stringify(parsed.entries.map((e) => ({16    type: e.type, title: e.title, username: e.username, password: e.password,17    email: e.email, tags: e.tags, breach: e.breach, network: e.network,18    cardNumber: e.cardNumber, notes: e.notes, canary: e.canary,19  })), null, 2));20} finally {21  await server.close();22}