#file #s3 #encryption #aws #sender #key #sender-receiver

app postio

postio - 使用 AWS S3 后端加密的文件发送/队列/接收器

4 个版本 (破坏性更新)

0.7.0 2020年2月12日
0.6.0 2019年8月21日
0.4.1 2019年3月18日
0.3.0 2018年2月13日

#1226 in 密码学

自定义许可证

50KB
1K SLoC

Postio

概述

Postio 是一个加密文件发送和接收器。使用 Rust 编写,Postio 将使用 AES-256 或 ChaCha(postio 使用 XChaCha20Poly1305,具有 24 字节的非确定数)在 CBC 模式下加密文件,并使用来自 Dalek 的 Curve 25519 公钥/私钥(Dalek)和发送此文件到 AWS S3。您的公钥被发送到 AWS S3 存储(不同的 S3 实例),以便发送者获取您的公钥以正确加密文件。

该项目不再依赖于 openssl 绑定来进行其加密操作。相反,它使用 RustCrypto 库(aes、chacha20 和 SHA-3)。

如何安装

如果您想从源代码编译,则绝对需要 rust,同时还需要 git。

安装 postio

cargoinstall postio

cargo安装 --githttps://github.com/deg4uss3r/postio

接下来,您需要在您的环境中添加您的 AWS 密钥 ID 和秘密访问密钥(即使这不是一个好的做法,也要小心处理这些密钥,矿工会在几秒钟内花费您数千美元!)您可以通过将此添加到您的 .bashrc 或 .bash_profile 并运行 source ~/.bashrc 或 source ~/.bash_profile 来实现这一点,或者将这些添加到您当前打开的终端(限制对这些文件的访问,并确保您不会意外地将它们检查到 git 仓库中!)

export AWS_ACCESS_KEY_ID="your_key_id_here"
export AWS_SECRET_ACCESS_KEY="your_secret_access_here"

完成这些并拥有一个可工作的二进制文件后,您就可以开始了!

选项

Postio 0.7.0
Ricky (Degausser) <Ricky@Hosfelt.io>
Send and receive encrypted files

USAGE:
    Postio [FLAGS] [OPTIONS]

FLAGS:
    -x, --setup        Create config file and populate settings
    -l, --list         List files in your queue
    -d, --no-delete    Do not delete files after getting them
    -a, --all          Get all files at once
    -Q, --clear        Deletes all files in your queue

OPTIONS:
    -g <number in queue>                  Gets file from queue
    -s </file/to/send>                    Send file to user
    -c, --config </path/to/config>        Sets a custom config file (defaults to $HOME/.postio/config)
        --encrypt <AES or ChaCha>         Set the encryption algorithm [default: AES]
    -o </path/to/output/directory>        Change output directory to something other than the current directory
    -u <User@email.com>                   User to receive file

配置文件结构

使用 serde postio 将解析 toml 格式的配置文件。

配置文件应如下所示

email = "[email protected]"
private_key = "/Users/rthosfelt/.postio/private_key.pem"
public_key = "/Users/rthosfelt/.postio/public_key.pem"
file_store = "postio"
file_store_region = "eu-west-2"
public_key_store = "postio-keys"
public_key_store_region = "eu-central-1"

在第一次运行程序时,程序将为您设置配置文件(或者您也可以运行 postio -x 以设置另一个配置文件),包括生成 25519 私有/公钥。

联系方式

欢迎提交任何代码问题或给我起名。

邮箱: ricky@hosfelt.io

IRC: degausser (freenode)

软件将继续免费,但请买我一杯啤酒/咖啡 BTC: 1HJL1PMXi7rgALSo5cPLnRxhdPLBQDjQhd

许可和警告

我对您的文件被盗/删除/被黑/破解等不承担责任。另外,确保您正确设置了您的 AWS 实例,否则有人可能会在您的实例上产生费用!要聪明,要安全!

在 MIT 许可证下受保护(C) Hosfelt.io

依赖项

~29MB
~594K SLoC