# 🦅 UŽIVATELSKÝ MANUÁL (DOXA-SECRET) **DOXA-SECRET** je minimalistický, lokální nástroj příkazové řádky pro šifrování a dešifrování textu. Je navržen s ohledem na bezpečnost a soukromí, a umožňuje převádět textové zprávy do tajných šifer definovaných v JSON souborech. Každý znak má přiřazen unikátní 5znakový kód. Aplikace je napsána v jazyce **Go** a nabízí moderní terminálové uživatelské rozhraní (**TUI**) postavené na knihovně Bubble Tea a Lip Gloss.

Go 1.22+ MIT license Tested on Linux

freeBSD

--- ## OBSAH 1. [Instalace a spuštění](#1-instalace-a-spuštění) 2. [Struktura šifer a JSON abecedy](#2-struktura-šifer-a-json-abecedy) 3. [Uživatelské rozhraní a stavy](#3-uživatelské-rozhraní-a-stavy) 4. [Přehled klávesových zkratek](#4-přehled-klávesových-zkratek) 5. [Distribuce šifer (import a export)](#5-distribuce-šifer-import-a-export) 6. [Odinstalace](#6-odinstalace) --- ## 1. INSTALACE A SPUŠTĚNÍ ### Požadavky Před instalací se ujistěte, že máte v systému nainstalované **Go** (doporučená verze **1.20** nebo vyšší). ### Postup instalace (Linux / macOS / FreeBSD) 1. **Naklonujte repozitář:** ```bash git clone https://codeberg.org/Kankys/doxa-secret.git cd doxa-secret ``` 2. **Spusťte instalační skript:** ```bash chmod +x install.sh ./install.sh ``` *Skript zkontroluje instalaci Go, stáhne závislosti, zkompiluje binárku, nainstaluje spustitelný soubor `doxa-secret` do `~/.local/bin/` a vytvoří konfigurační složku `~/.doxa-secret/`.* 3. **Přidání do PATH (pokud je to nutné):** Pokud terminál příkaz `doxa-secret` nerozpozná, přidejte následující řádek do svého profilu (např. `~/.bashrc` nebo `~/.zshrc`): ```bash export PATH=$PATH:$HOME/.local/bin ``` Poté restartujte terminál nebo načtěte profil příkazem `source ~/.bashrc`. ### Úklid po instalaci Jakmile je instalace dokončena, můžete složku projektu bezpečně smazat: ```bash rm -rf doxa-secret ``` --- ## 2. STRUKTURA ŠIFER A JSON ABECEDY Všechny šifry jsou uloženy jako `.json` soubory v konfiguračním adresáři `~/.doxa-secret/`. Při prvním spuštění aplikace se automaticky vygeneruje výchozí šifra `default.json`. ### Ukázka struktury JSON Každá šifra přiřazuje základním znakům latinky (bez diakritiky, která je při šifrování automaticky odstraněna a převedena na základní latinku z důvodu předcházení problémům s kódováním na různých platformách, včetně mezer, čárek, teček, číslic) unikátní, náhodně generovaný **5znakový kód**: ```json { "version": "1.0", "mappings": { " ": "k9#pA", ",": "L5z2M", ".": "q7R1o", "a": "H3nK9", "b": "8vX1m" } } ``` --- ## 3. UŽIVATELSKÉ ROZHRANÍ A STAVY Aplikace podporuje několik interaktivních stavů v rámci terminálového rozhraní: ### A. Hlavní menu Umožňuje vybrat ze tří hlavních možností: 1. **Napsat zprávu**: Napíšete zprávu v běžném textu a uložíte její šifrovanou verzi do souboru `.txt` do složky `~/doxa-secret/export/`. 2. **Dešifrovat zprávu**: Načtete šifrovaný text z `.txt` souboru (umístěného ve složce `~/doxa-secret/import/`) a zobrazíte jej v čitelné podobě. 3. **Správa šifer**: Vytváření, přepínání, import a export šifrovacích klíčů. ### B. Psaní zprávy Obsahuje pole pro zadání textu a pole pro název souboru. Přepínání mezi poli se provádí pomocí klávesy `[Tab]`. Stisknutím `[Ctrl+S]` zprávu zašifrujete a uložíte do `~/doxa-secret/export/`. ### C. Dešifrování zprávy Požádá vás o zadání názvu šifrovaného souboru `.txt` (který bude načten ze složky `~/doxa-secret/import/`) nebo absolutní cesty k souboru. Aplikace jej načte, dešifruje pomocí aktuálně aktivní šifry a zobrazí v posuvném prohlížeči. --- ## 4. PŘEHLED KLÁVESOVÝCH ZKRATEK | Klávesa | Kontext | Akce | |---------|---------|------| | `ctrl+c` | Globální | Vynucené ukončení programu | | `l` | Hlavní menu | Přepnout jazyk (Čeština / Angličtina) | | `1` | Hlavní menu | Otevřít obrazovku pro psaní zprávy | | `2` | Hlavní menu | Otevřít obrazovku pro dešifrování zprávy | | `3` | Hlavní menu | Otevřít správu šifer | | `q` / `esc` | Hlavní menu | Ukončit program | | `tab` | Psaní zprávy | Přepnout mezi tělem zprávy a názvem souboru | | `ctrl+s` | Psaní zprávy | Uložit a zašifrovat zprávu do souboru | | `esc` | Formuláře | Zrušit akci a vrátit se do předchozího menu | | `↑` / `↓` / `k` / `j` | Seznam šifer | Pohyb v seznamu šifer | | `enter` | Seznam šifer | Aktivovat vybranou šifru | | `c` | Seznam šifer | Vytvořit novou vlastní šifru | | `i` | Seznam šifer | Importovat soubor šifry | | `e` | Seznam šifer | Exportovat aktivní šifru | | `d` | Seznam šifer | Smazat vybranou šifru | --- ## 5. DISTRIBUCE ŠIFER (IMPORT A EXPORT) Chcete-li sdílet šifrované zprávy s jinou osobou, musí mít druhá strana v aplikaci aktivovanou přesně stejnou šifru. ### Export šifry 1. Ve **Správě šifer** vyberte šifru, kterou chcete exportovat a aktivujte ji. 2. Stiskněte klávesu `e` pro export. 3. Zadejte cílovou cestu (např. `/cesta/k/moje_sifra.json`). 4. Tento soubor pošlete druhé straně. ### Import šifry 1. Ve **Správě šifer** stiskněte klávesu `i` pro import. 2. Zadejte cestu k obdrženému souboru JSON. 3. Šifra bude zvalidována, zkopírována do konfigurační složky a automaticky nastavena jako aktivní. --- ## 6. ODINSTALACE Pro kompletní odstranění aplikace a jejích konfigurací zadejte: ```bash rm ~/.local/bin/doxa-secret rm -rf ~/.doxa-secret ``` *Upozornění: Smazání adresáře `~/.doxa-secret` trvale vymaže všechny vaše šifrovací klíče.*