5个版本
0.1.4 | 2023年10月1日 |
---|---|
0.1.3 | 2023年10月1日 |
0.1.2 | 2023年9月30日 |
0.1.1 | 2023年9月28日 |
0.1.0 | 2023年9月23日 |
在加密学类别中排名第712
每月下载量约26次
35KB
802行代码(不包括注释)
🦀🔒 crabguard: 为远程和本地存储提供端到端加密的命令行工具
功能
- 对Amazon S3存储进行加密的上传、下载和删除操作
- 使用随机96位nonce的AES-GCM对称加密
- 使用sha256哈希文件名
- 文件分块(目前块大小硬编码为1MB)
- 中断后恢复上传/下载
未来工作
- 处理不完整/损坏的文件
- 基于密码的密钥派生
- 动态文件分块
- 提高延迟和性能(例如,在单独的连接中上传/下载多个块)
入门
创建一个类似这样的.env
文件
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION_NAME=us-west-004
AWS_ENDPOINT=s3.us-west-004.backblazeb2.com
AWS_BUCKET_NAME=testbucket
当运行上传命令时,将在您的.env
文件中生成并存储新密钥。不用说,您应该备份此密钥。如果您丢失它,您将无法解密文件,甚至无法知道文件名。
常用命令
cargo r --release -- upload ~/Downloads/23-08-11\ 11-35-15\ 3555.jpg
cargo r --release -- download 23-08-11\ 11-35-15\ 3555.jpg
cargo r --release -- delete 23-08-11\ 11-35-15\ 3555.jpg
cargo r --release -- list
依赖关系
~19–32MB
~556K SLoC