Skip to main content
Glama

RenderPing

Website-Screenshots und PDFs von jeder URL — ein einziger REST-Aufruf.

RenderPing rendert jede öffentliche URL mit echtem Headless-Chromium und gibt eine signierte URL zu einer PNG-, JPEG-, WebP- oder PDF-Datei zurück. Vollseite oder benutzerdefinierter Viewport, Element-Erfassung, Hide-Selector-Bereinigung, Cookies und Header für authentifizierte Seiten, synchrones oder asynchrones Rendering mit Webhooks. Wird mit einem MCP-Server ausgeliefert, damit KI-Agenten Seiten als Tools rendern können.

Quickstart

# Sign up (returns your JWT + full API key, shown once)
curl -X POST https://renderping.theking.qzz.io/api/auth/signup \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"a-long-password"}'

# First capture
curl -X POST https://renderping.theking.qzz.io/api/v1/captures \
  -H "X-API-Key: rp_live_..." -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","format":"png","full_page":true}'

Die Antwort enthält result_url — einen HMAC-signierten, ablaufenden Link zur gerenderten Datei. Kostenloser Plan: 50 erfolgreiche Renderings pro Monat.

Related MCP server: @rendershot/mcp-server

Monorepo-Aufbau

Pfad

Beschreibung

apps/server

Fastify-API: Authentifizierung, API-Schlüssel, Capture-Warteschlange, Kontingentmessung, signierte Dateiauslieferung, Paddle- und Gumroad-Abrechnungssysteme

apps/worker

Playwright/Chromium-Render-Worker mit PG-gestützter Job-Warteschlange (FOR UPDATE SKIP LOCKED, mit begrenzter Parallelität) und SSRF-Schutz

apps/mcp

MCP-Server (stdio), der render_screenshot, render_pdf, check_changes, get_usage für KI-Agenten bereitstellt

apps/dashboard

Vanilla-JS-SPA: Schlüssel, Playground, Nutzungszähler, Lizenz-Einlösung

apps/marketing

Landingpage + deterministischer pSEO-Generator (~250 Seiten + Sitemap + robots)

apps/docs

Entwicklerdokumentations-Website

packages/shared

Pläne, Typen, SSRF-Schutz (assertPublicUrl)

packages/design

Gemeinsames Designsystem (Tokens + Komponenten, ohne Framework)

Bemerkenswerte technische Details

  • SSRF-sicheres Rendering: Jede Ziel-URL wird DNS-aufgelöst und vor der Navigation gegen private/reservierte Bereiche geprüft (Loopback, RFC1918, Link-Local-/Cloud-Metadaten, ULA, IPv4-gemapptes v6); blockierte literale Hosts werden außerdem pro Anfrage für Redirects/Subressourcen abgebrochen (packages/shared/src/net.ts).

  • Bytegetreue Webhook-Verifizierung: Paddle-Signaturen werden über die rohen Request-Bytes mit einem eingeschränkten Content-Type-Parser verifiziert — nicht durch eine erneute Serialisierung des geparsten JSON (scripts/verify-paddle-webhook.js beweist es Ende-zu-Ende).

  • Deterministisches pSEO: Zwei Generatorläufe erzeugen byteidentische Ausgaben; der Verifizierer erzwingt pro Seite Invarianten für canonical/h1/meta/interne Links sowie Sitemap-Vollständigkeit.

  • Verifizierungs-Harnesses für alles: scripts/verify-{dashboard,marketing,docs,mcp,paddle-webhook,gumroad-redeem}.js laufen gegen den Live-Server auf localhost:8080.

Self-Hosting

npm install
cp .env.example .env          # fill DATABASE_URL, JWT_SECRET, FILE_SIGN_SECRET
node scripts/migrate.js       # applies migrations/*.sql
npm run build
npm start                     # or systemd units under infra/

Voraussetzungen: Node 20+, PostgreSQL 12+, Chromium (installiert über npx playwright install chromium).

Abrechnung

Bezahlte Tarife sind monatliche Mitgliedschaften, die auf Gumroad mit sofortiger Lizenzschlüssel-Einlösung verkauft werden (POST /api/billing/gumroad/redeem). Ein Paddle-Merchant-of-Rail-Checkout-Pfad ist hinter Feature-Flags implementiert (PADDLE_MODE=sandbox|live) und wird durch ein eigenes Harness verifiziert.

Lizenz

© 2026 RenderPing. Alle Rechte vorbehalten. Öffentliches Repository, das zur Transparenz veröffentlicht wurde; die Wiederverwendung des Codes erfordert eine Genehmigung.

Related MCP Connectors

Related MCP Servers