Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/actuday6418/Diary

Encrypted memories
https://github.com/actuday6418/Diary

Last synced: 5 days ago
JSON representation

Encrypted memories

Awesome Lists containing this project

README

        

# Diary - Encrypted memories [![Latest version]][crates.io]
Diary is a TUI program written in Rust for GNU/Linux / \*BSD / Android (It probably works on other platforms too, but who cares) that helps you write a digital journal from the comfort of a TUI. It ecrypts both text and file data, and can decrypt and build a rich HTML representation of your diary when required.

[Latest Version]: https://img.shields.io/crates/v/diary.svg
[crates.io]: https://crates.io/crates/diary

# Request features
Would you like Diary to have a new feature? Simply create a new issue describing it, and I'll try and address it over the next day.

# Install
```cargo install diary```

# Usage
```
USAGE:
diary [FLAGS] [OPTIONS]

FLAGS:
-g, --generate-page Assert this flag if you want the diary to built into an html file stored at $TEMPDIR.
-h, --help Prints help information
-V, --version Prints version information

OPTIONS:
-d, --database This is the location of the database file. [default: .database]
```

## To make an entry
1. Run the program and enter your password.
2. On the first screen, enter the day's diary entry. The date and day will be added by Diary.
3. Esc saves the entry and exits. ```Ctrl+c``` exits the application without saving. ```Alt+n``` takes you to the next screen for adding files.
4. To add files, simply type in the file's location. After each file, hit ```Alt+n```. If the file doesn't exist, you get an alert.
5. Esc to save and exit, and ```Ctrl+c``` to exit without saving.

## To view the diary in HTML
1. Run the program with the ```-g``` (```--generate-page```) flag.
2. Enter your password.
3. "index.html" and other required files are now saved to ```/tmp```. Open this file with a browser.
```firefox /tmp/index.html```

# Important notes
1. Every entry (text and file data) is encrypted with AES-128 encrytpion. It is therefore practically impossible to access your diary without the password. So do NOT forget it.
2. Remember to clean up the decrypted files in /tmp if necessary.
```rm -rf /tmp/*```
3. Make sure you're writing to the right database. By default, diary writes to ```./.database```, but a custom database may be specified with the ```-d``` flag.

# Features
1. AES-128 encryption for text and file data.
2. TUI interface without sacrificing functionality or usability
3. Decrypts the whole database only when required (```-g``` flag), and into rich HTML5.

# Running

https://user-images.githubusercontent.com/56124831/119493025-5d5efd00-bd7d-11eb-93bf-3178bf35d821.mp4