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

https://github.com/valflrt/fencryption

Fencryption is program to encrypt and decrypt files and full directories. Development stopped.
https://github.com/valflrt/fencryption

cli encryption-decryption rust

Last synced: 6 months ago
JSON representation

Fencryption is program to encrypt and decrypt files and full directories. Development stopped.

Awesome Lists containing this project

README

          





test status
license
license
license


Report Bug


Changelog

- [Fencryption (binary)](#fencryption-binary)
- [Preview](#preview)
- [Limitations/Issues](#limitationsissues)
- [Roadmap](#roadmap)
- [fencryption-lib](#fencryption-lib)

# Fencryption (binary)

> I first built this program with typescript (see [fencryption-typescript](https://github.com/valflrt/fencryption-typescript)) but I switched to Rust because typescript was not the most suitable language for this kind of project and also because I wanted to try Rust and low-level programming.

Fencryption is program to encrypt and decrypt files and full directories. Note that this project is at an early stage of development.

**THERE IS ABSOLUTELY NO WARRANTY THAT THIS PROGRAM DOES NOT CONTAIN VULNERABILITIES. USE IT AT YOUR OWN RISK.**

This program is not supposed to be used in "real conditions" as it is a mere personal project. Although I think above v1.0 (not released yet) the commands encrypt and decrypt should be pretty safe.

> jan 2024 edit: I am currently in intensive studies, so I won't be able to continue working on this project for the next two years.

## Preview

```
fencryption --help
```

```
A program to encrypt/decrypt text and files

Usage: fencryption [OPTIONS]

Commands:
encrypt Encrypt text or files
decrypt Decrypt text or files
help Print this message or the help of the given subcommand(s)

Options:
-D, --debug Enable debug log
-h, --help Print help
-V, --version Print version
```

encrypt file

```
fencryption encrypt file --help
```

```
Encrypt files and directories

Usage: fencryption encrypt file [OPTIONS] ...

Arguments:
... Paths of the files to encrypt

Options:
-o, --output-path Set output path (only supported when one input path is provided)
-O, --overwrite Overwrite output
-d, --delete-original Delete original files after encrypting
-D, --debug Enable debug log
-h, --help Print help
```

decrypt file

```
fencryption decrypt file --help
```

```
Decrypt files and directories

Usage: fencryption decrypt file [OPTIONS] ...

Arguments:
... Paths of files to encrypt

Options:
-o, --output-path Set output path (only supported when one input path is provided)
-O, --overwrite Overwrite output
-d, --delete-encrypted Delete encrypted files after decrypting
-D, --debug Enable debug log
-h, --help Print help
```

encrypt text

```
fencryption encrypt text --help
```

```
Encrypt text

Usage: fencryption encrypt text [OPTIONS]

Arguments:
Text to encrypt

Options:
-D, --debug Enable debug log
-h, --help Print help
```

decrypt text

```
fencryption decrypt text --help
```

```
Decrypt text

Usage: fencryption decrypt text [OPTIONS]

Arguments:
Text to decrypt (base64 encoded)

Options:
-D, --debug Enable debug log
-h, --help Print help
```

## Limitations/Issues

- When encrypting files, make sure to encrypt and decrypt them with the same version of fencryption (it is very likely that different versions will not work the same way)

## Roadmap

- [x] Provide better help about commands
- [x] Add default file encryption features
- [x] Add stream enc-/decryption features
- [x] Setup directory recursive mapping
- [x] Improve log, error handling and cli
- [x] Implement multithreading
- [x] Edit encryption process so the output file is smaller
- [x] Add commands to enc/decrypt text/base64
- [ ] Come up with a stable version (v1.0)

# fencryption-lib

The lib used in the fencryption binary. You can [take a look](https://docs.rs/fencryption/latest/fencryption_lib/), it has some interesting things...