An open API service indexing awesome lists of open source software.

https://github.com/wyhaya/aef

An encrypted file archiver
https://github.com/wyhaya/aef

aes-gcm archiver command-line compress file-encryption rust

Last synced: 5 months ago
JSON representation

An encrypted file archiver

Awesome Lists containing this project

README

        

# aef [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/wyhaya/aef/ci.yml?style=flat-square&branch=main)](https://github.com/wyhaya/aef/actions) [![Crates.io](https://img.shields.io/crates/v/aef.svg?style=flat-square)](https://crates.io/crates/aef)

`aef` is an encrypted file archiver, it uses `AES-256-GCM` to fully encrypt data and ` scrypt ` to prevent brute force data cracking. It also allows the use of `Brotli` to reduce the size of archived files.

> [!WARNING]
> * aef has not undergone any security check
> * Disruptive changes may occur prior to `1.0`

## Features

* Use `AES-256-GCM` for complete data encryption
* Use `scrypt` to prevent brute force cracking
* Use `brotli` compression file Optional
* Support cross-platform `Linux` `macOS` `Windows`
* Support the encryption `directory` and `file`
* Support file permissions Unix

## Install

[Download](https://github.com/wyhaya/aef/releases) the binary from the release page

Or use `cargo` to install

```bash
cargo install aef
```

## Usage

#### Encryption

```bash
aef -i ./files/ -o ./dist.aef
```

#### Decryption

```bash
aef -i ./dist.aef -o ./files/ -d
```

#### Password
By default you will enter your password in the terminal, if you don't want to enter it manually you can use the `-p` option

```bash
aef -i ./files/ -o ./dist.aef -p 123456
```

#### Compress

`aef` support the use of `brotli` to compress files, you can use the `-c` option to specify the compression level

```bash
# Compress at the fastest speed
aef -i ./files -o ./dist.aef -c

# Adjust the compress quality
aef -i ./files -o ./dist.aef -c 8
```

* Fastest: `-c 0`
* Best: `-c 11`

#### Help

```bash
aef --help
```

```bash
Usage: aef [OPTIONS]

Options:
-i, --input File | Stdin
-o, --output File | Stdout
-p, --password Set password
-d, --decrypt Decrypt file
-c, --compress [] Set compression level [0 - 11]
--scrypt-log-n Set scrypt params [default: 20]
--scrypt-r Set scrypt params [default: 8]
--scrypt-p Set scrypt params [default: 1]
-h, --help Print help
-V, --version Print version
```