Using the Web app
Pinchana overview
Pinchana retrieves public media from supported social and music URLs. The browser app at pinchana.cc is the easiest entry point; the API and self-hosting guides build on the same concepts.
Architecture at a glance
Section titled “Architecture at a glance”Browser → Next.js same-origin routes → Pinchana gateway → platform scraper │ │ │ HttpOnly session shared cache Gluetun VPN └──────── media stream ────────────────┘The Web app is a backend-for-frontend (BFF). It performs the page-load Turnstile flow, stores the signed browser session in an HttpOnly cookie, submits URLs to /web/scrape, rewrites returned media paths, and streams files back through same-origin routes. Machine clients instead call /scrape and /media/... with an X-API-Key.
The gateway selects one scraper module from the URL. Production Compose places the gateway and all scraper services in Gluetun’s network namespace and persists their shared downloaded-media cache in a Docker volume.
Using the API
Operating Pinchana