Crates.io | illusion |
lib.rs | illusion |
version | 0.5.0 |
source | src |
created_at | 2023-03-31 02:04:32.842797 |
updated_at | 2023-04-01 02:41:02.913021 |
description | Transparent per-object client side encrypted S3 proxy |
homepage | https://github.com/wilsonzlin/illusion |
repository | https://github.com/wilsonzlin/illusion.git |
max_upload_size | |
id | 825872 |
size | 77,256 |
Upload and download objects to/from an S3-compatible service with transparent client-side encryption.
Run the Illusion local HTTP server and make requests to GET and PUT /key to interact with objects as usual. The local Illusion server will transparently encrypt and decrypt object keys and data, even for partial range requests.
This is useful for hiding object keys and contents from others who have access to the bucket and/or objects, including the S3 service itself.
What this doesn't protect:
It's not possible to list objects due to the way object keys are encrypted. It's unlikely to be useful anyway, as the order would be random, and a full scan would be needed most of the time. Tracking the object list via a separate encrypted database is one workaround.
Use this at your own risk.