Command line
PSippr is serverless — every phone, desktop and browser tab is a full node on the same peer-to-peer network. The CLI app is the same node with no screen: a small Java program you run on a server, a Raspberry Pi, or in a CI pipeline. It joins the network like any other device, with its own identity, and talks to it from the terminal instead of a UI.
It ships in the downloads above as PSippr-cli.zip (Linux, macOS, Windows — needs Java 17). This page is about what it does, not how to get it.
What it can do today
psippr serve— starts the node and keeps it running; every other command below talks to this running node over a local API.psippr login [--name LABEL]— pairs this CLI to your phone (see below): prints a QR code in the terminal, you scan it in the app, and the CLI receives a copy of your profile. Without pairing the other commands refuse to run.psippr status— node id, pairing state, whether it is online, post mode.psippr mode [company|personal]— how posts are signed. If your profile has a company, posts go out as the company (its name and photo) by default; switch topersonalto post as yourself. Without a company the CLI always acts as you.psippr wall list/wall post <text>/wall delete <id>— read the public wall, post to it, or remove your own post.psippr users [--online] [--filter TEXT]— list known users and their ids.psippr msg send <id> <text>/msg list [--unread] [--from <id>]/msg read <id>— send and read direct messages by user id.
Without internet the CLI sends nothing — it only reads what it already has stored. If the paired profile is deleted in the app, the pairing is revoked and the CLI stops working until you pair it again.
What it is for
A headless node is useful anywhere a screen doesn't make sense: a small server that stays online to help the network, a bot that watches for messages, or — what we're building it for first — reporting the status of our own build pipeline (started, failed, which platform is done) straight to the public wall, the same way any person would post it. No cloud dashboard, no email: the same network everyone already uses.
How it is authorized
A CLI node is not a trusted admin account — PSippr has no admin. Getting it running is two separate steps:
- Pairing to your phone —
psippr login. The CLI asks our server for a short code and prints a QR code straight in the terminal. Scan it with the PSippr app (Settings → Partners → CLI pairing → Scan code): the app approves the CLI and sends it a copy of your profile — your profile key, name, photos and company — encrypted with a key that only the QR carried (our server stores the copy but cannot open it). If the phone has no internet at that moment, the copy is queued and uploaded as soon as it is online; the CLI keeps waiting for it. From then on the CLI is your profile's second device, posting as you or as your company. The pairing, its post mode and whether it is online show up in the CLI tab of the Partners section here and in the app, refreshed by the CLI itself every minute. Approving on the web instead of scanning pairs the CLI without the profile copy. Runningloginagain just reports back. - Per-action approval. Run
psippr serve --approver <nodeId>and every wall post first asks that account to approve it — a translated prompt pops up in their app immediately, with a warning that it is safe to ignore if they do not recognize it, and a confirmation code exchanged separately, so an accidental tap cannot approve anything on its own. Skip--approverand the node posts without asking, same as before — useful for local, manual use where you are already the one running it.
Every wall post or change a registered installation makes is logged; see your CLI's activity with the two codes from your local cli-auth.json.
Registered installations
Every CLI installation that completed step 1 above is listed here — just a label and a date, nothing that identifies who is behind it.
| Installation | Confirmed |
|---|---|
| Loading… | |