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.2.0.tar.gz (22.6 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.2.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for withiris-0.2.0.tar.gz
Algorithm Hash digest
SHA256 312424b2a93dcd720a3eb47de52c1c8850155431b1bedbaba8950900ea98f782
MD5 917eceaf2cc496dd88c3d6a06336580e
BLAKE2b-256 988d802512da9a64d43fbde0e5a0f973a29aaa7dad6844caf31012629c9e1003

See more details on using hashes here.

File details

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

File metadata

  • Download URL: withiris-0.2.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e5481bcec9f951918e3a5055e75fffe978b25f8cb3d4d26638123d2ebf39df35
MD5 4efbdfa33b7fa0fc91c2a50548889333
BLAKE2b-256 2d4c33170d11740768e8001ab9e55a0f2bb051051e8d5ed84775541bb79a5f14

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