Skip to main content
Glama

RenderPing

从任意 URL 获取网站截图和 PDF —— 一次 REST 调用。

RenderPing 使用真实的 headless Chromium 渲染任何公开 URL,并返回指向 PNG、JPEG、WebP 或 PDF 的签名 URL。支持整页或自定义视口、元素捕获、隐藏选择器清理、用于认证页面的 cookie 和 header,以及带 webhook 的同步或异步渲染。附带 MCP 服务器,让 AI 代理可以将页面渲染作为工具使用。

快速开始

# 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}'

响应包含 result_url —— 一个 HMAC 签名、带过期时间的渲染文件链接。免费计划:每月 50 次成功渲染。

Related MCP server: @rendershot/mcp-server

Monorepo 目录结构

路径

说明

apps/server

Fastify API:认证、API 密钥、捕获队列、配额计量、签名文件交付、Paddle + Gumroad 计费通道

apps/worker

Playwright/Chromium 渲染 worker,带 PG 支持的任务队列(FOR UPDATE SKIP LOCKED、并发限制)和 SSRF 保护

apps/mcp

MCP 服务器(stdio),向 AI 代理暴露 render_screenshot、render_pdf、check_changes、get_usage

apps/dashboard

原生 JavaScript SPA:密钥、游乐场、用量计量、许可证兑换

apps/marketing

落地页 + 确定性 pSEO 生成器(约 250 个页面 + sitemap + robots)

apps/docs

开发者文档站点

packages/shared

计划、类型、SSRF 防护(assertPublicUrl)

packages/design

共享设计系统(tokens + 组件,无框架)

值得注意的工程细节

  • SSRF 安全渲染:每个目标 URL 在导航前都会进行 DNS 解析,并对照私有/保留地址范围(loopback、RFC1918、link-local/云元数据、ULA、IPv4 映射的 v6)进行检查;对于重定向/子资源,被阻止的字面主机也会按请求中止(packages/shared/src/net.ts)。

  • 字节级精确的 webhook 验证:Paddle 签名通过作用域限定的 content-type 解析器对原始请求字节进行验证 —— 而不是对解析后的 JSON 重新序列化(scripts/verify-paddle-webhook.js 端到端证明了这一点)。

  • 确定性 pSEO:两次生成器运行产生字节完全相同的输出;验证器强制每个页面的 canonical/h1/meta/内部链接不变量以及 sitemap 完整性。

  • 全量验证工具:scripts/verify-{dashboard,marketing,docs,mcp,paddle-webhook,gumroad-redeem}.js 针对 localhost:8080 上的实时服务器运行。

自托管

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/

要求:Node 20+、PostgreSQL 12+、Chromium(通过 npx playwright install chromium 安装)。

计费

付费计划是在 Gumroad 上销售的月度会员,支持即时许可证密钥兑换(POST /api/billing/gumroad/redeem)。Paddle Merchant-of-Rail 结账路径已在功能开关(PADDLE_MODE=sandbox|live)后面实现,并由其自己的验证工具验证。

许可证

© 2026 RenderPing。保留所有权利。公开仓库仅为透明而发布;复用代码需获得许可。

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers