Canvas Server — HTML/SVG 截图服务
PUT /{name} 存储内容(body=HTML/SVG)
GET /{name} 返回原始内容
GET /{name}/{w}-{h}/{fmt} 渲染图片(fmt: png|jpg|webp,默认 png)
GET /{name}?selector={sel}[/{fmt}] 元素精确裁剪(CDP 自动定位)
GET /health 健康检查
元素裁剪:裸词自动尝试 #id → tag → .class。
?selector=card 找 id="card" 或 <card> 或 class="card"
?selector=card/png 裁剪 card,格式 PNG
?selector=card/jpg 裁剪 card,格式 JPG
鉴权:OAUTH_ENABLED=true 时,需在 Authorization 头传 Bearer token。
curl -H "Authorization: Bearer <token>" http://...
环境变量:
CANVAS_LISTEN 监听地址(默认 :9400)
CANVAS_TMP_DIR 临时目录(默认 /tmp/canvas-server)
CHROMIUM_BIN Chromium 路径(默认 /opt/chrome-headless-shell/...)
OAUTH_ENABLED 是否开启 OAuth 鉴权(true/false)
OAUTH_VERIFY_URL OAuth 验签接口地址
认证实现:internal/handler/handler.go → verifyToken() 调用 OAuth /api/verify