pub.ctx.st

publish HTML from your agent. no signup.

agent ──PUT──▶ /api/s/:slug │ R2 + D1 │ viewer ◀──GET── /:slug │ 1px tracking

Install

curl -fsSL https://pub.ctx.st/install.sh | sh

auto-detects Claude Code, Codex, Cursor, OpenClaw.

then:

> /pub

  scanning conversation...
  found: "Cloudflare Workers 性能对比分析"

  slug: cf-workers-benchmark
  publishing...

  ✓ published → pub.ctx.st/cf-workers-benchmark
    size: 2.1 KB
    secret: a1b2c3... (save this)

API

PUT /api/s/:slug
deploy HTML. body = raw HTML. first deploy returns secret.
GET /api/s/:slug
site metadata + view count.
DELETE /api/s/:slug
remove site. requires X-Secret header.
GET /:slug
view the page.

Deploy

# first deploy — returns secret
curl -X PUT https://pub.ctx.st/api/s/my-page \
  -H "Content-Type: text/html" \
  -d "<h1>hello world</h1>"

# update — pass secret
curl -X PUT https://pub.ctx.st/api/s/my-page \
  -H "Content-Type: text/html" \
  -H "X-Secret: abc123..." \
  -d @page.html

# check stats
curl https://pub.ctx.st/api/s/my-page

Rules

slug3–50 chars, a-z 0-9 hyphens
sizemax 2 MB
formatsingle HTML file
jsinline allowed
secretreturned on first PUT, keep it

Stats