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.5.0.tar.gz (22.9 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.5.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for withiris-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f055e37b3a084f6f1d82002efd49e114765ec69722ed907f2011b4488911c57a
MD5 44cfd0f4b546ac58b6f9ebddc1d4f306
BLAKE2b-256 05c123393873371965ef12583d5024016a22964fadd1168872961c97655de73c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: withiris-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 7.1 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2ef3b56ed0fb5b5fbb3bf155fc73c7d0ea77f0ef8bb6dc8448d37c542f006304
MD5 e6868627e4778d9e9bcc2ecf8fc54e6d
BLAKE2b-256 52fa7ec5fba932bb2eabc3a58d5c3ff2e23813685aa762936e346cd68a93385a

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