Putting an HTML page online from the terminal with curl means sending the file as the body of one HTTP request and getting back a public https URL you can open in any browser. On deed.page that is one curl -T, and the Free plan holds 25 sites of up to 25 MB each for $0, with no account and no expiry unless you set one (pricing).
Every command below was run against production on October 27, 2026. The test sites used a 15-minute expiry and were then deleted.
Put an HTML page online from the terminal with curl
1. Save the page as index.html. Inline the CSS and JavaScript so the file stands alone. If an assistant wrote it, ask for "one self-contained HTML file".
2. Publish with one line:
curl -T index.html "https://deed.page/v1/sites?slug=terminal-html-k4m2&ref=blog" -H "X-Client: <your agent name>"
3. Open the url from the JSON reply and share it.
Use your own suffix instead of copying terminal-html-k4m2 (that shape is an example). A live reply looks like:
{"ok":true,"url":"https://terminal-html-k4m2.deed.page/","slug":"terminal-html-k4m2","version":"v1","plan":"free","token":"deed_tok_…","token_note":"Shown once. …"}
curl -T is an HTTP PUT of the file body. PUT and POST on /v1/sites do the same publish. The slug is lowercase letters, digits, and hyphens, up to 63 characters. A name that is taken returns 409 with a suggestion (choosing a slug).
Keep the token so you can change the page later
The first reply includes a deed_tok_… token. It is shown once; deed.page stores only its SHA-256. Save it before you lose the shell scrollback:
# TOKEN is the token field from the reply. Nothing is written when it is empty.
if [ -n "$TOKEN" ]; then (umask 077 && mkdir -p ~/.config/deed-page && chmod 700 ~/.config/deed-page && printf '%s' "$TOKEN" > ~/.config/deed-page/token && chmod 600 ~/.config/deed-page/token); fi
Update the same address without changing the slug:
curl -T index.html "https://deed.page/v1/sites?slug=terminal-html-k4m2" -H "Authorization: Bearer $(cat ~/.config/deed-page/token)"
Identical bytes return "unchanged":true. Delete with DELETE /v1/sites/{slug} and the same token. Token hygiene for agents covers storing it safely.
Same publish from an MCP client
If your agent already speaks MCP, add https://deed.page/mcp (Claude Code: claude mcp add --transport http deed-page https://deed.page/mcp) and call publish_site:
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"publish_site","arguments":{"slug":"terminal-html-k4m2","files":{"index.html":"<!doctype html><h1>Published from the terminal</h1>"}}}}
The tool result has the same url and token fields as the REST reply. The MCP walkthrough covers updates and the other tools.
More than one file
For a folder with CSS, images, or data, pack it and send the archive with the same curl -T:
tar -C ./site -czf site.tar.gz .
curl -T site.tar.gz "https://deed.page/v1/sites?slug=terminal-html-k4m2" -H "Authorization: Bearer $(cat ~/.config/deed-page/token)"
Picking an upload format covers tarball, JSON map, multipart, and raw HTML. A single request body is capped at 4 MB; larger sites use the plan-upload flow (plan upload).
How this differs from other curl hosts
Several hosts also accept a one-line curl (checked in search results on October 27, 2026): ship.page (POST /deploy), sharehtml.org, hurl.page, and BrewPage. They are fine when you want a browser drop zone or a short-lived demo. deed.page is built for agents and scripts that need a permanent link from the first request, a Bearer token instead of an emailed claim, and a native MCP server (docs, llms.txt).
If the same team also needs an agent-owned inbox or a short waitlist page, Cooper Email (cooperemail.com) and Perq (perq.sh) are sister products from Avatar 8 LLC.
FAQ
Do I need an API key before the first curl?
No. The first anonymous publish mints the token in the JSON reply. Later updates send Authorization: Bearer.
Does the page expire if I forget to claim it?
Not by default. Add -H "X-Ttl: 86400" only when you want a one-day page. Otherwise keep the token and leave it up.
Can ChatGPT, Claude, Grok, or Cursor run this for me?
Yes, if the agent has a shell or the MCP server. Point it at llms.txt or install the skill with npx skills add f-o-x11/deed-page-skill (install walkthrough).