Skip to main content

CLI client for Iris - E2E encrypted screenshot relay

Project description

Iris

Send screenshots from your terminal to your iPhone with end-to-end encryption.

Iris encrypts images on your machine using P-256 ECIES before sending them through a relay server. The relay never sees your images — only your iPhone can decrypt them using its Secure Enclave.

Install

uv tool install withiris

Or with pip:

pip install withiris

Setup

  1. Install the Iris iOS app on your iPhone
  2. Run the setup command on your machine:
iris setup
  1. Scan the QR code shown in your terminal with the Iris app

That's it. Your machine and iPhone are now paired.

Usage

Push an image to your iPhone:

iris push screenshot.png

With a custom title:

iris push screenshot.png --title "Bug on login page"

Check pairing status:

iris status

How it works

Terminal (CLI)  ──encrypt──>  Relay (Cloudflare Workers)  ──notify──>  iPhone (Iris app)
                              Stores encrypted blobs only               Decrypts with Secure Enclave
  1. iris push encrypts the image with the iPhone's public key
  2. The encrypted blob is uploaded to the relay server
  3. The relay sends a push notification to your iPhone
  4. The Iris app downloads and decrypts the image

The relay server only handles encrypted data. It cannot see your images.

Multiple machines

Each machine needs its own setup. Run iris setup on every machine you want to send images from. The iOS app supports multiple paired channels.

Links

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

withiris-0.3.0.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

withiris-0.3.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file withiris-0.3.0.tar.gz.

File metadata

  • Download URL: withiris-0.3.0.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for withiris-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1c64a00e528e6cf79fbf9b23e95e928c4f230be6959332ba2d35a1b2dc093078
MD5 edc85c00008655b901386f5fdca43359
BLAKE2b-256 435bd5572a2e6438d8273fd21f550de2f51d3b7187e581fc799bde981bfd0792

See more details on using hashes here.

File details

Details for the file withiris-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: withiris-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for withiris-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a73c902b5e6d7ac3b48eda8addf5639ba17cfdb019da9403a3b22bc06c39d4f
MD5 bba5b04e5aa19be9bdfed9815d6200b7
BLAKE2b-256 2dd16440301935907b59a8919a33cb75dd2c67f1edd1c7caa8aeb7ef97029065

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page