5.9 KiB
🦅 USER MANUAL (DOXA-SECRET)
DOXA-SECRET is a minimalist, local-first command-line text encryption and decryption tool. Designed with security and privacy in mind, it allows you to convert plain text messages into secret, encrypted strings using unique 5-character cipher codes stored locally as JSON files. Written in Go, it offers a modern Terminal User Interface (TUI) built with Charm's Bubble Tea and Lip Gloss.
TABLE OF CONTENTS
- Installation & Execution
- Cipher Architecture & Schema
- Interactive Interface & States
- Keyboard Shortcuts Reference
- Cipher Distribution & Import/Export
- Uninstallation
1. INSTALLATION & EXECUTION
Prerequisites
Before installing, make sure you have Go installed on your system (version 1.20 or higher is recommended).
Installation Steps (Linux / macOS / FreeBSD)
-
Clone the repository:
git clone https://codeberg.org/Kankys/doxa-secret.git cd doxa-secret -
Run the installation script:
chmod +x install.sh ./install.shThe script checks your Go installation, downloads all dependencies, compiles the binary, installs the executable
doxa-secretto~/.local/bin/, and prepares the config directory~/.doxa-secret/. -
Add to PATH (if necessary): If the
doxa-secretcommand is not recognized, add the following line to your shell profile (e.g.,~/.bashrcor~/.zshrc):export PATH=$PATH:$HOME/.local/binThen restart your terminal or reload your profile using
source ~/.bashrc.
Post-Installation Cleanup
Once completed, you can safely remove the cloned repository directory:
rm -rf doxa-secret
2. CIPHER ARCHITECTURE & SCHEMA
All ciphers are stored as JSON files inside the configuration directory ~/.doxa-secret/.
When the application starts for the first time, a default.json cipher is automatically generated.
Cipher JSON Structure
Each cipher maps basic Latin characters (excluding accents/diacritics, which are automatically normalized to basic Latin to avoid cross-system character encoding issues, and including spaces, commas, periods, numbers) to unique, randomly-generated 5-character alphanumeric codes:
{
"version": "1.0",
"mappings": {
" ": "k9#pA",
",": "L5z2M",
".": "q7R1o",
"a": "H3nK9",
"b": "8vX1m"
}
}
3. INTERACTIVE INTERFACE & STATES
The application supports multiple interactive states within the Terminal User Interface:
A. Main Menu
Allows you to choose from three main options:
- Write Message: Compose a plaintext message and save its encrypted output as a
.txtfile into the~/doxa-secret/export/directory. - Decrypt Message: Load an encrypted message from a
.txtfile (placed in the~/doxa-secret/import/directory) and read its decrypted contents. - Manage Ciphers: Create, switch, import, or export cipher keys.
B. Write Screen
Includes a large message editor field and a filename input field. Switching between these fields is done with the [Tab] key. Pressing [Ctrl+S] encrypts the message and saves it to ~/doxa-secret/export/<filename>.
C. Decrypt Screen
Prompts you to enter the name of an encrypted .txt file (to be read from ~/doxa-secret/import/) or an absolute path to a file. The application loads the file, decrypts it using the currently active cipher, and opens a viewport for reading.
4. KEYBOARD SHORTCUTS REFERENCE
| Key | Context | Action |
|---|---|---|
ctrl+c |
Global | Force Quit |
l |
Main Menu | Toggle Language (Czech / English) |
1 |
Main Menu | Open Write Message screen |
2 |
Main Menu | Open Decrypt/Read Message screen |
3 |
Main Menu | Open Cipher Management screen |
q / esc |
Main Menu | Quit application |
tab |
Write Screen | Toggle between message content and filename field |
ctrl+s |
Write Screen | Save encrypted message to file |
esc |
Editor / Forms | Cancel and return to previous menu |
up / down / k / j |
Ciphers List | Navigate through ciphers list |
enter |
Ciphers List | Activate selected cipher |
c |
Ciphers List | Create a new custom cipher |
i |
Ciphers List | Import a cipher file |
e |
Ciphers List | Export the active cipher file |
d |
Ciphers List | Delete the selected cipher |
5. CIPHER DISTRIBUTION & IMPORT/EXPORT
To share encrypted messages with another person, they must have the exact same cipher JSON file loaded in their doxa-secret configuration directory.
Exporting a Cipher
- In the Cipher Management screen, select the cipher you want to export and make sure it is active.
- Press
eto export. - Enter the destination path (e.g.
/path/to/my_cipher.json). - Share this file with the recipient.
Importing a Cipher
- In the Cipher Management screen, press
ito import. - Enter the path to the JSON file you received.
- The cipher will be automatically validated, copied to your configuration folder, and made active.
6. UNINSTALLATION
To fully remove the tool and its configuration files from your system, execute:
rm ~/.local/bin/doxa-secret
rm -rf ~/.doxa-secret
Caution: Deleting ~/.doxa-secret will permanently erase all your cipher keys.