mel-cli 1.0.3
Delete sensitive files in panic situations
License: MIT
Requires Python: >=3

# Mel
Mel is a Linux utility to delete sensitive files in panic situations.

It is open-source and written in Python.

**Mel is currently experimental**

## Summary
- [Installation](#installation)
- [Disclaimer](#disclaimer)
- [Usage](#usage)
    - [Create a profile](#create-a-profile)
    - [Delete a profile](#delete-a-profile)
    - [Add files to a profile](#add-files-to-a-profile)
    - [Remove files from a profile](#remove-files-from-a-profile)
    - [Trigger a profile](#trigger-a-profile)
    - [Check files from a profile](#check-files-from-a-profile)
- [License](#license)
- [Changelog](#changelog)
- [Contact](#contact)

## Installation
To install Mel on your Linux computer, simply run:
```shell
$ pip install git+https://gitlab.com/twann4/mel.git
```
If you are on Arch Linux, you can find Mel on the [AUR](https://aur.archlinux.org/packages/mel)

## Disclaimer
You are the only one responsible for what you do, using Mel.
Mel aims to be a program to use in **panic situations**, when there is no other choice except deleting the sensitive files.

Remember the following advices before using Mel:
1. Backup your files regularly.
1. **Never** run Mel as root.
1. Always [verify the files that are added to a profile](#check-files-from-a-profile).

## Usage
To use Mel, you need to create a profile. After creating it, you can add any file you want to it. 
If you trigger the profile, all files added to it will be destroyed.

### Create a profile
To create a profile, simply run (here we will call our profile "example"):
```shell
$ mel profile create example
```
You can also choose that the profile will overwrite files before deleting them when triggered, by running:
```shell
$ mel profile create example -s
```

### Delete a profile
If you have a profile, but that you don't need it anymore, you can delete it by running:
```shell
$ mel profile del example
```
**This will only remove the profile, not the files add to it.**

### Add files to a profile
Now, we need to add files to our profile, by running:
```shell
$ mel add /path/to/my_file.txt example
```
You can also add all files from a directory and its subdirectories by running:
```shell
$ mel add /path/to/my_directory example -r
```

### Remove files from a profile
If you added a file to a profile, but that you don't need it to be added to the profile anymore, just run:
```shell
$ mel rm /path/to/my_file.txt example
```
You can also remove all files added inside a directory and its subdirectories, by running:
```shell
$ mel rm /path/to/my_file.txt example -r
```

### Trigger a profile
It is highly recommended to [check which files are added to a profile](#check-files-from-a-profile) before triggering it. However, as Mel is a tool to use in panic situations, you usually don't have the time to do it. That's why you should always check that every time you add or remove a file from a profile.

When triggering a profile, all files added to it will be deleted or overwritten. To trigger a profile, just run:
```shell
$ mel trigger example
```
Then, the program will give you 10 seconds to cancel before destroying all files added to the triggered profile.
If you don't want to wait, run:
```shell
$ mel trigger example --now
```
After triggering a profile, the profile automatically deletes itself.

**Be careful before triggering a profile. It cannot be undone.**

### Check files from a profile
To check which files are added to a profile, just run:
```shell
$ mel profile files example
```
The program will give you a list of all files added to this profile.
If a path is green, it means that the file exists. If it is red, the file does no longer exist.

You can also check if a file is added by running:
```shell
$ mel status /path/to/my_file.txt
```
The program will tell you if the file is added to a profile, and if it is, to which profile(s) it is added.

## License
Mel is released under [MIT License](https://gitlab.com/twann4/mel/-/tree/main/LICENSE).

[See here](https://gitlab.com/twann4/mel/-/tree/main/LIBRARIES.md) for libraries used in the project.

## Changelog
[Here](https://gitlab.com/twann4/mel/-/tree/main/CHANGELOG) you can compare difference between versions and read the release notes.

## Contact
If you wish to contact the author of this project:
- Email: twann@ctemplar.com
- OpenPGP public key to encrypt emails: [Download here.](https://gitlab.com/twann4/mel/-/raw/main/extra/twann_ctemplar.asc)
- Mastodon: [@twann@fosstodon.org](https://fosstodon.org/@twann)
- Matrix: [@twann:privacytools.io](https://matrix.to/#/@twann:privacytools.io)