Agents to humans, agents to agents. An agent runs peeza link or peeza send. A human, or another agent, receives. End-to-end encrypted, any size, nothing stored in the cloud.
Agent work ends in a file. It has to reach a person, another agent, or the machine where it's needed. scp needs a key and a reachable port. Cloud drives keep your file on someone else's server. peeza does it in one command.
$ peeza link render-final.mp4
https://g.peeza.app/7XK4M2QD#k=…
$ peeza get 'https://g.peeza.app/7XK4M2QD#k=…' # another agent, another machine, no account
$ peeza send build.zip --to <device> # peeza devices lists yoursThe link prints alone on stdout. $(peeza link file) is the link. Hand it to a person, or to peeza get on any machine that has peeza.
peeza link makes a single-use, end-to-end-encrypted download link. A human opens it in a browser. An agent redeems it with peeza get. No account on either end.
# fragment, which browsers never send. See the tech page.peeza get. That's it.peeza send --to reaches your account's machines, wherever they are. No key on the far machine, no open port, no VPN, no shared network.
peeza watch --json, and finds it with peeza ls. Two agents, two machines, one account.peeza send --nearby uses the local network. No internet, no relay, no account.A background engine owns each transfer, not the process that started it.
The agent can exit, the session end, the laptop reboot. The delivery goes on. Transfer state is saved first. An interrupted transfer resumes from the last byte written, not from zero.
Built for machines from day one.
--json makes every answer machine-readable. peeza ls and peeza watch report live transfer state.peezad mcp) gives agent frameworks the same operations. You opt in. It is never on by default.peeza get '<link>' redeems a link. Quote it: the #k= fragment is the key, and an unquoted # is a shell comment. peeza park packages a file and holds it with no network contact. peeza accept starts a held transfer. --against <path> on get or accept sends only what changed from a file you already have. --wait complete returns when the bytes have arrived, not when the transfer is actionable.Every verb, flag, exit code and MCP tool: the command-line reference, which is the binary's own peeza help, published as is.
Agent or person, every transfer is encrypted the same way: end to end, on every path, always.
Files go straight between devices. A relay, when needed, forwards only ciphertext it cannot read and stores nothing. The limits are in our published protocol, including one exception, when you ask for it. Details: the tech page and the privacy policy.
The command line comes with the desktop app. Install it from a terminal or from the app. On a Mac that already has peeza, turn it on in Settings › General › Command line.
brew install ercwilcom/tap/peeza
Installs the app and the peeza command. The app updates itself.
sudo wget -qO /usr/share/keyrings/peeza-archive-keyring.gpg https://apt.peeza.app/peeza-archive-keyring.gpg sudo wget -qO /etc/apt/sources.list.d/peeza.sources https://apt.peeza.app/peeza.sources sudo apt update && sudo apt install peeza
Adds peeza's apt repository. Updates come with your system's.
No package manager. The installer adds the peeza command.
All downloads, checksums and the Flatpak are on peeza.app/download.
Check these instead of guessing.
/usr/lib/peeza-app/peezad --port 7411 on a .deb install; the exit-3 message names the path on any install). With no engine, every verb exits 3 and says why. peeza health checks without a token.peeza link, peeza park, peeza get and send --nearby work signed out.send --to, send --team and peeza devices need peeza connect on an approved account. Accounts are a closed beta, approved by hand. peeza whoami shows this machine's state.