Skip to content

xport (stdin)

Terminal window
echo "hello world" | xport
cat build.log | xport
./some-tool --output json | xport --name result

When xport is called without arguments and stdin is a pipe or redirect, the content is shared through a temporary public URL. Interactive use (a terminal on stdin) shows help instead.

  • Text (valid UTF-8) opens as a browser page on the inside-xPort design: filename heading, line-numbered code view, diff highlighting for unified diffs (auto-detected), line-number/wrap toggles, plus Copy all and Download buttons. The raw text is available at /raw — curl https://<name>.xport.sh/raw for machines.
  • Binary data is served as a download (paste.bin).
  • Content lives in memory only — nothing is written to disk, and it is gone when you stop the command.
  • 10 MiB size cap; larger input is rejected with a clear error.
  • Range requests are supported on the raw/download endpoints.
  • All persistent options (--name, --expires, --password, --qr, --copy, --detach, --json) work as in every other mode.

Share the last 50 lines of a log with a colleague:

Terminal window
tail -50 /var/log/app.log | xport --expires 15m --password ops

Hand a build artifact to another machine:

Terminal window
cat dist.tar.gz | xport --name build

Pipe a diff for review — the page highlights additions and deletions:

Terminal window
git diff | xport --name review

Add --secret to share the piped content as a secret page with a reveal flow instead of a plain paste; --once deletes it from memory after the first view. See xport secrets.

All persistent options apply: --name, --expires, --password, --qr, --copy, --detach, --json — plus the stdin-specific --secret, --once, and --burn (see secrets).