linksnap
v1.0.0
Published
Convert any shared link (Gemini, SSR, JS-SPA) into clean Markdown via 3-layer extraction with stealth browser RPC capture
Maintainers
Readme
linksnap
Convert any shared link into clean Markdown. Works for Gemini share conversations, SSR-embedded pages, and JavaScript-heavy SPAs.
Installation
npm i -g linksnap
# or npx linksnap <url>Usage
linksnap <url> [outfile.md]
linksnap "https://share.gemini.google/PJgxYtV0aZrQ"
linksnap "https://example.com" --stdoutOptions
--stdout– print Markdown to stdout--list– print segment titles only--raw– dump decoded RPC/JSON alongside.raw.json--no-browser– never launch a browser (Gemini shares require browser)--headless– run browser in headless mode--browser <chrome|msedge|chromium>– force browser channel--wait <selector>– wait for CSS selector before capture--settle <ms>– extra settle time after load (default 500)--timeout <ms>– per-step timeout (default 45000)--screenshot <path>– save full-page screenshot
How it works (3-layer cascade)
- Gemini Share RPC (browser) – For
share.gemini.google/*andgemini.google.com/share/*, captures thebatchexecuteRPC conversation (ujx1Bf) with a real browser, decodes it, and renders a clean conversation (prompt, images, responses, model, timestamps). Waits until the conversation is actually decodable (predicate-based + quiet window) to avoid partial captures. - Layer 1 – Gemini decoder – Extracts JSPB-encoded content from
window.WIZ_global_datawhen present. - Layer 2 – SSR scan – Scans inline
<script>state (__NEXT_DATA__,__NUXT__,__INITIAL_STATE__,AF_initDataCallback, JSON script blocks) and pulls readable prose/JSON. - Layer 3 – Stealth browser render – Falls back to rendering the final DOM with a stealth Playwright browser (auto-detects Edge/Chrome/Chromium).
Gemini shares never fall back to SSR scan (avoids site-shell boilerplate). RPC decode requires a visible/interactive desktop session (headless works but some environments vary).
Notes
- Ephemeral – Fresh browser context, no profile reuse. Login-gated pages aren't supported.
- Stealth – Uses
playwright-extra+puppeteer-extra-plugin-stealthto reduce detection. - Windows-first – Auto-detects Edge (
msedge) when Chrome isn't installed; falls back to bundled Chromium.
License
MIT
