WEBIO(1) webio.link WEBIO(1) NAME webio.link - unix tools as a service SYNOPSIS ... | curl -sT - webio.link/TOOL[/ARG...][/|/TOOL[/ARG...]] curl webio.link/TOOL usage for TOOL curl webio.link/tools what's installed curl webio.link/limits what you get DESCRIPTION The URL is argv. The body is stdin. The response is stdout. There is no filesystem. Nothing is stored. Path segments after the tool name are its arguments, percent- decoded; %2F is a literal slash. A segment that is exactly | (%7C) starts the next stage of a pipeline: stdout flows into the next stdin, in one request, on the server. 44 tools from uutils coreutils 0.12.0, run in a WASI sandbox with no preopened directories, no network and no environment beyond LANG=C LC_ALL=C TZ=UTC. Models without a shell: MCP endpoint at https://webio.link/mcp (streamable HTTP, no auth). Tools: run, man. EXAMPLES printf 'b\na\nb\n' | curl -sT - 'webio.link/sort/|/uniq/-c' curl -sT - webio.link/sha256sum < disk.img curl -sT - webio.link/base64/-w0 < photo.png curl -sT - webio.link/cut/-d,/-f2 < data.csv RESPONSE Body is stdout, byte for byte. Headers: X-Exit-Code, X-Stderr (percent-encoded, first KiB). 200 on exit 0, 422 otherwise, 404 unknown tool, 413 body over the cap, 503 with X-Sandbox when a limit stops the run, 503 with Retry-After when busy. ?stderr=merge appends stderr to the body. BUGS curl -d strips newlines. Use -T - or --data-binary @-. With -T FILE a URL ending in / gets the filename appended, so URLs never end in /. Abuse: abuse@webio.link