Skip to main content

PushArmor command-line client

Send links and text to your own devices from a terminal. Everything is end-to-end encrypted: the relay server only passes on data it cannot read.

See https://pusharmor.com for the apps and the full guide.

Install

We recommend pipx. It installs the cryptography package for you:

pipx install pusharmor

Or download pusharmor.py from the GitHub release, check its SHA-256 against pusharmor.py.sha256 from the same release, and run it with Python:

sha256sum -c pusharmor.py.sha256
python3 pusharmor.py --help

Also compare the hash with the one on https://pusharmor.com/download.

The single file needs the cryptography package. Install it from your distribution:

sudo apt install python3-cryptography    # Debian and Ubuntu
sudo dnf install python3-cryptography    # RHEL, Fedora, and related

Commands

  • pusharmor login - log in this device (open the link it shows, then paste the code).
  • pusharmor pair - list your devices; pusharmor pair ID pairs with one: compare the fingerprint on both devices, then confirm or reject.
  • pusharmor send TEXT - send a link or text to all paired devices; --to ID for one, --text to send a link as plain text. With - or piped input it reads stdin.
  • pusharmor listen - print messages as they arrive; --json, --tsv, or --exec PROG (runs PROG ID NAME PLATFORM TYPE BODY per message). --json escapes every non-ASCII character as \uXXXX. --tsv writes \\, \t, \n, and \r for backslash, tab, newline, and carriage return, and \uXXXX for other control characters, line and paragraph separators, and bidi controls.
  • pusharmor rename NAME - change the name your other devices show.
  • pusharmor logout - log out; keys and paired devices stay on this device.
  • pusharmor delete ID - remove a device from your account (this device too). It asks first; without a terminal it needs --yes.

Run pusharmor COMMAND --help for details. Files live in ~/.config/pusharmor (or $XDG_CONFIG_HOME/pusharmor, $PUSHARMOR_CONFIG, or --config DIR). On Windows they live in %APPDATA%\PushArmor (or %PUSHARMOR_CONFIG%, or --config DIR).

Exit codes

Code Meaning
0 success
1 error: a failed request, a damaged or unreadable file, or a failed write on this device
2 wrong command line, or the command needs a terminal
3 not logged in, logged out, or this device was removed
4 send failed for at least one device, or there is no device to send to
70 an unexpected error in PushArmor; please report it
75 the relay server is busy or unreachable; try again later
130 stopped with Ctrl-C

Needs

  • Linux, macOS, or Windows.
  • Python 3.9 or newer.
  • The cryptography package (version 3.3.2 or newer). pipx installs it for you.

Metadata

Release files for pusharmor 0.0.26

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pusharmor 0.0.26
File Size Uploaded Provenance Actions
pusharmor-0.0.26.tar.gz 62.2 kB With provenance Details for pusharmor-0.0.26.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pusharmor 0.0.26
File Interpreter ABI Platform Actions
pusharmor-0.0.26-py3-none-any.whl Python 3 none any Details for pusharmor-0.0.26-py3-none-any.whl

Total release size: 101.0 kB

Release files / pusharmor-0.0.26.tar.gz

Download URL pusharmor-0.0.26.tar.gz
Size 62.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0ca06fa7eab344a23caca284d60dd8765701569241951b322864ebdcb6f48c73
BLAKE2b-256 checksum
How to use checksums
9ad786c5dc52c8f2522f693c72531062bddd3da506cde5b38f2ba9df436a46f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / pusharmor-0.0.26-py3-none-any.whl

Download URL pusharmor-0.0.26-py3-none-any.whl
Size 38.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
111eb4ec1c895e1f5b6cf4ee93ce5493a4b3a61f2cce0b54f513149c699e2e79
BLAKE2b-256 checksum
How to use checksums
c64663178400e70ca9ebd4c6ac718768886f8783d73072e3d241710c2976e806
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Security for pusharmor 0.0.26

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pusharmor-0.0.26.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page