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.4.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.4.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: withiris-0.4.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.4.0.tar.gz
Algorithm Hash digest
SHA256 59a9c646e45a5512cdd68e0bd0c07bdf8f46fa7d9275c280445690e9cb40d503
MD5 302247e816b20bfd6db0c69e652a311a
BLAKE2b-256 c4a92b45de4fa5505965a99f101af85706903d5bf7721ec20116982ca699e12f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: withiris-0.4.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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30c2eeb99426b4c8f5ec760dc4c9a12c19a097c8acca808232c1ee996282b55a
MD5 0e1c109ff22333e3df816bcf37442d9c
BLAKE2b-256 e99d38dc99a94498e8373f2c32c8dee1ddd46777b5dce211163dcfec0c424259

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