From 7f92392db2d3845284df17abf122eb3dc4ce76c0 Mon Sep 17 00:00:00 2001 From: zenobit Date: Sun, 26 Feb 2023 10:40:07 +0100 Subject: [PATCH] Added translated docs to czech --- README.md | 2 +- docs/ANDROID.md | 2 + docs/CLI.md | 2 +- docs/CONTRIBUTING.md | 2 +- docs/SERVER.md | 2 +- docs/SIMPLEX.md | 3 +- docs/SQL.md | 2 +- docs/TRANSLATIONS.md | 2 + docs/lang/cs/ANDROID.md | 41 +++++ docs/lang/cs/CLI.md | 252 ++++++++++++++++++++++++++ docs/lang/cs/CONTRIBUTING.md | 21 +++ docs/lang/cs/README.md | 327 ++++++++++++++++++++++++++++++++++ docs/lang/cs/SERVER.md | 330 +++++++++++++++++++++++++++++++++++ docs/lang/cs/SIMPLEX.md | 98 +++++++++++ docs/lang/cs/SQL.md | 55 ++++++ docs/lang/cs/TRANSLATIONS.md | 58 ++++++ docs/lang/cs/WEBRTC.md | 142 +++++++++++++++ 17 files changed, 1334 insertions(+), 7 deletions(-) create mode 100644 docs/lang/cs/ANDROID.md create mode 100644 docs/lang/cs/CLI.md create mode 100644 docs/lang/cs/CONTRIBUTING.md create mode 100644 docs/lang/cs/README.md create mode 100644 docs/lang/cs/SERVER.md create mode 100644 docs/lang/cs/SIMPLEX.md create mode 100644 docs/lang/cs/SQL.md create mode 100644 docs/lang/cs/TRANSLATIONS.md create mode 100644 docs/lang/cs/WEBRTC.md diff --git a/README.md b/README.md index 13a43eaa8c..e397354730 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -| Updated 07.02.2023 | Languages: EN, [FR](/docs/lang/fr/README.md) | +| Updated 07.02.2023 | Languages: EN, [FR](/docs/lang/fr/README.md), [CZ](/docs/lang/cs/README.md) | SimpleX logo diff --git a/docs/ANDROID.md b/docs/ANDROID.md index 58461fa9a9..bdf97ffa74 100644 --- a/docs/ANDROID.md +++ b/docs/ANDROID.md @@ -1,3 +1,5 @@ +| Updated 26.02.2023 | Languages: EN, [CZ](/docs/lang/cs/ANDROID.md) | + # Accessing files in Android app SimpleX uses databases and stores its preferences inside private data directory in Android. The directory contains: diff --git a/docs/CLI.md b/docs/CLI.md index b28ce3a530..a48dda0dce 100644 --- a/docs/CLI.md +++ b/docs/CLI.md @@ -1,4 +1,4 @@ -| Updated 31.01.2023 | Languages: EN, [FR](/docs/lang/fr/CLI.md) | +| Updated 26.02.2023 | Languages: EN, [FR](/docs/lang/fr/CLI.md), [CZ](/docs/lang/cs/CLI.md) | # SimpleX Chat terminal (console) app for Linux/MacOS/Windows diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 82c8b1dd1f..3d664c2463 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -1,4 +1,4 @@ -| Updated 31.01.2023 | Languages: EN, [FR](/docs/lang/fr/CONTRIBUTING.md) | +| Updated 26.02.2023 | Languages: EN, [FR](/docs/lang/fr/CONTRIBUTING.md), [CZ](/docs/lang/cs/CONTRIBUTING.md) | # Contributing guide diff --git a/docs/SERVER.md b/docs/SERVER.md index dc18a76f4c..b195152430 100644 --- a/docs/SERVER.md +++ b/docs/SERVER.md @@ -1,4 +1,4 @@ -| Updated 31.01.2023 | Languages: EN, [FR](/docs/lang/fr/SERVER.md) | +| Updated 26.02.2023 | Languages: EN, [FR](/docs/lang/fr/SERVER.md), [CZ](/docs/lang/cs/SERVER.md) | # Hosting your own SMP Server diff --git a/docs/SIMPLEX.md b/docs/SIMPLEX.md index 3bab582d02..32385b1d8c 100644 --- a/docs/SIMPLEX.md +++ b/docs/SIMPLEX.md @@ -1,5 +1,4 @@ -| Updated 07.02.2023 | Languages: EN, [FR](/docs/lang/fr/SIMPLEX.md) | - +| Updated 26.02.2023 | Languages: EN, [FR](/docs/lang/fr/SIMPLEX.md), [CZ](/docs/lang/cs/SIMPLEX.md) | # SimpleX platform - motivation and comparison ## Problems diff --git a/docs/SQL.md b/docs/SQL.md index 4958c20f2d..dbc742e5e8 100644 --- a/docs/SQL.md +++ b/docs/SQL.md @@ -1,4 +1,4 @@ -| Updated 31.01.2023 | Languages: EN, [FR](/docs/lang/fr/SQL.md) | +| Updated 26.02.2023 | Languages: EN, [FR](/docs/lang/fr/SQL.md), [CZ](/docs/lang/cs/SQL.md) | # Accessing messages in the database diff --git a/docs/TRANSLATIONS.md b/docs/TRANSLATIONS.md index f6b125696f..8e3f7def13 100644 --- a/docs/TRANSLATIONS.md +++ b/docs/TRANSLATIONS.md @@ -1,3 +1,5 @@ +| Updated 26.02.2023 | Languages: EN, [CZ](/docs/lang/cs/TRANSLATIONS.md) | + # Contributing translations to SimpleX Chat Huge thanks for your interest in translating SimpleX Chat - it helps a lot to make it accessible to a wider range of users, and we really appreciate your help. diff --git a/docs/lang/cs/ANDROID.md b/docs/lang/cs/ANDROID.md new file mode 100644 index 0000000000..4986c6b2e7 --- /dev/null +++ b/docs/lang/cs/ANDROID.md @@ -0,0 +1,41 @@ +| Aktualizováno 26.02.2023 | Jazyky: CZ, [EN](/docs/ANDROID.md) | + +# Přístup k souborům v aplikaci Android + +SimpleX používá databáze a ukládá své předvolby do soukromého datového adresáře v systému Android. Adresář obsahuje: +- Databáze +- odeslané a přijaté soubory +- dočasné soubory, které budou smazány, když nebudou potřeba +- uživatelské předvolby. + + +Pokud chcete zobrazit, co je uloženo v datovém adresáři SimpleX, musíte mít: +- Unixový operační systém (nebo [MinGW](https://www.mingw-w64.org/downloads/) na Windows). +- Nástroj ADB (Android Debug Bridge) nainstalovaný v počítači ([stáhněte si jej zde](https://developer.android.com/studio/releases/platform-tools) a nainstalujte). +- zařízení připojené přes USB nebo Wi-Fi k počítači. + +## Postup: +- Otevřete SimpleX, přejděte na `Databáze passphrase & export`, povolte `Zálohování dat aplikace`. Tím se zprovozní další kroky +- _Volitelné_: pokud chcete zobrazit obsah databáze, změňte přístupovou frázi databáze z náhodné na svou. Chcete-li to provést, zastavte chat na obrazovce `Database passphrase & export`, otevřete `Database passphrase`, zadejte novou passphrase a potvrďte ji, poté ji aktualizujte. Nezapomeňte ji, jinak přijdete o všechna svá data v případě, že bude passphrase později znovu požadována. +- otevřete emulátor terminálu (Windows CMD/Powershell nebude fungovat) a změňte adresář na ten, který chcete použít pro uložení zálohy: + +```bash +cd /tmp # jen příklad +``` +Poté spusťte následující příkaz: +```bash +adb -d backup -f chat.ab -noapk chat.simplex.app && +tail -n +5 chat.ab > chat.dat && +printf "\x1f\x8b\x08\x00\x00\x00\x00\x00" | cat - chat.dat > chat.gz && +tar -xvzf chat.gz +``` + +Nyní odemkněte zařízení a potvrďte operaci zálohování bez použití hesla pro šifrování, jinak příkazy nebudou fungovat. + +Poté by mělo být zálohování ukončeno. Pokud se zobrazí chybové hlášení `tar: Error is not recoverable: exiting now`, ale předtím jste vypsali názvy některých souborů, nebojte se, je to v pořádku. + +Nyní budou zálohované soubory uvnitř `./apps/chat.simplex.app/`. + +Upozorňujeme, že pokud používáte moderní verzi SimpleX, budou databáze zašifrované a jejich obsah nebudete moci zobrazit bez použití aplikace `sqlcipher` a bez znalosti dešifrovací fráze (musíte ji nejprve změnit na svou z náhodně vygenerovaných v aplikaci). + +Další informace o tom, jak dešifrovat databáze a provádět dotazy do nich, najdete v příručce [SQL.md](./SQL.md). diff --git a/docs/lang/cs/CLI.md b/docs/lang/cs/CLI.md new file mode 100644 index 0000000000..987f4078c9 --- /dev/null +++ b/docs/lang/cs/CLI.md @@ -0,0 +1,252 @@ +| Aktualizováno 26.02.2023 | Jazyky: CZ, [EN](/docs/CLI.md), [FR](/docs/lang/fr/CLI.md) | + +# SimpleX Chat terminálová (konzolová) aplikace pro Linux/MacOS/Windows + +## Obsah + +- Funkce chatu v terminálu](#terminal-chat-features) +- Instalace](#🚀-installation) + - [Stáhnout klienta chatu](#download-chat-client) + - [Linux a MacOS](#linux-and-macos) + - [Windows](#windows) + - [Sestavit ze zdrojového kódu](#build-from-source) + - [Použití Dockeru](#using-docker) + - [Použití zásobníku Haskell](#using-haskell-stack) +- [Použití](#usage) + - [Spuštění klienta chatu](#running-the-chat-client) + - [Přístup k serverům pro zasílání zpráv přes Tor](#access-messaging-servers-via-tor-beta) + - [Jak používat chat SimpleX](#how-to-use-simplex-chat) + - [Skupiny](#groups) + - [Posílání souborů](#sending-files) + - [Kontaktní adresy uživatelů](#user-contact-addresses) + - [Přístup k historii chatu](#access-chat-history) + +## Funkce chatu v terminálu + +- Chat 1:1 s více lidmi v jednom okně terminálu. +- Skupinové zasílání zpráv. +- Posílání souborů kontaktům a skupinám. +- Kontaktní adresy uživatelů - navázání spojení prostřednictvím odkazů na více kontaktů. +- Zprávy uchovávané v místní databázi SQLite. +- Automaticky vyplňované jméno příjemce - po navázání spojení stačí napsat zprávu a odpovědět odesílateli. +- K dispozici ukázkové servery SMP, které jsou v aplikaci předkonfigurovány - nebo si můžete [nasadit vlastní server](https://github.com/simplex-chat/simplexmq#using-smp-server-and-smp-agent). +- Žádná globální identita ani žádná jména nejsou pro server(y) viditelná, což zajišťuje plné soukromí vašich kontaktů a konverzací. +- Dvě vrstvy šifrování E2E (double-ratchet pro duplexní spojení s použitím dohody klíčů X3DH s efemérními klíči Curve448 a NaCl crypto_box pro fronty SMP s použitím klíčů Curve25519) a předávání klíčů příjemců mimo pásmo (viz [Jak používat chat SimpleX](#how-to-use-simplex-chat)). +- Ověřování integrity zpráv (pomocí zahrnutí digestů předchozích zpráv). +- Ověřování každého příkazu/zprávy servery SMP pomocí automaticky generovaných klíčů Ed448. +- Transportní šifrování TLS 1.3. +- Dodatečné šifrování zpráv od serveru SMP k příjemci za účelem snížení korelace provozu. + +Veřejné klíče zapojené do výměny klíčů se nepoužívají jako identita, jsou náhodně generovány pro každý kontakt. + +Technické podrobnosti viz [Použité šifrovací primitivy](https://github.com/simplex-chat/simplexmq/blob/master/protocol/overview-tjr.md#encryption-primitives-used). + + + +## 🚀 Instalace + +### Stáhněte si klienta chatu + +#### Linux a MacOS + +Chcete-li **nainstalovat** nebo **aktualizovat** `simplex-chat`, měli byste spustit instalační skript. K tomu použijte následující příkaz cURL nebo Wget: + +```sh +curl -o- https://raw.githubusercontent.com/simplex-chat/simplex-chat/stable/install.sh | bash +``` + +```sh +wget -qO- https://raw.githubusercontent.com/simplex-chat/simplex-chat/stable/install.sh | bash +``` + +Jakmile se chatovací klient stáhne, můžete jej spustit pomocí příkazu `simplex-chat` v terminálu. + +Případně můžete binární soubor chatu pro váš systém stáhnout ručně z [latest stable release](https://github.com/simplex-chat/simplex-chat/releases) a spustit jej podle následujícího návodu. + +```sh +chmod +x +mv ~/.local/bin/simplex-chat +``` + +(nebo v jakémkoli jiném preferovaném umístění v `PATH`). + +V systému MacOS musíte také [povolit spuštění nástroje Gatekeeper](https://support.apple.com/en-us/HT202491). + +#### Windows + +```sh +move %APPDATA%/local/bin/simplex-chat.exe +``` + +### Sestavení ze zdrojových kódů + +> **Upozornění:** pro sestavení aplikace použijte zdrojový kód ze [stabilní větve](https://github.com/simplex-chat/simplex-chat/tree/stable). + +#### Použití nástroje Docker + +V systému Linux můžete spustitelný soubor chatu sestavit pomocí [docker build with custom output](https://docs.docker.com/engine/reference/commandline/build/#custom-build-outputs): + +```shell +git clone git@github.com:simplex-chat/simplex-chat.git +cd simplex-chat +git checkout stable +DOCKER_BUILDKIT=1 docker build --output ~/.local/bin . +``` + +> **Upozornění:** Pokud narazíte na chybu `` verze `GLIBC_2.28' nenalezena ``, obnovte jej pomocí základního obrazu `haskell:8.10.7-stretch` (změňte jej ve svém lokálním [Dockerfile](Dockerfile)). + +#### V libovolném operačním systému + +1. Nainstalujte [Haskell GHCup](https://www.haskell.org/ghcup/), GHC 8.10.7 a cabal: + +```shell +curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh +``` + +2. Sestavte projekt: + +```shell +git clone git@github.com:simplex-chat/simplex-chat.git +cd simplex-chat +git checkout stable +# v Linuxu +apt-get update && apt-get install -y build-essential libgmp3-dev zlib1g-dev +cp scripts/cabal.project.local.linux cabal.project.local +# nebo na MacOS: +# brew install openssl@1.1 +# cp scripts/cabal.project.local.mac cabal.project.local +# možná budete muset změnit cabal.project.local tak, aby ukazoval na skutečné umístění openssl +cabal update +cabal install +``` + +## Použití + +### Spuštění klienta chatu + +Chcete-li spustit klienta chatu, spusťte z terminálu příkaz `simplex-chat`. + +Ve výchozím nastavení je datový adresář aplikace vytvořen v domovském adresáři (`~/.simplex` nebo `%APPDATA%/simplex` ve Windows) a jsou v něm inicializovány dva databázové soubory SQLite `simplex_v1_chat.db` a `simplex_v1_agent.db`. + +Chcete-li zadat jiný prefix cesty k souborům databáze, použijte volbu příkazového řádku `-d`: + +```shell +$ simplex-chat -d alice +``` + +Spuštění výše uvedeného příkladu vytvoří databázové soubory `alice_v1_chat.db` a `alice_v1_agent.db` v aktuálním adresáři. + +Na serveru Linode jsou umístěny tři výchozí servery SMP - jsou [předkonfigurovány v aplikaci](https://github.com/simplex-chat/simplex-chat/blob/stable/src/Simplex/Chat/Options.hs#L42). + +Pokud jste nasadili vlastní SMP server(y), můžete klienta nakonfigurovat pomocí volby `-s`: + +```shell +$ simplex-chat -s smp://LcJUMfVhwD8yxjAiSaDzzGF3-kLG4Uh0Fl_ZIjrRwjI=@smp.example.com +``` + +Řetězec zakódovaný v Base64url před adresou serveru je offline otisk certifikátu serveru, který je ověřován klientem během TLS handshake. + +S lidmi můžete stále hovořit pomocí výchozího nebo jakéhokoli jiného serveru - ovlivňuje to pouze umístění fronty zpráv při navazování spojení (a fronta odpovědí může být na jiném serveru, jak nastaví klient druhé strany). + +Spusťte `simplex-chat -h` a zobrazte všechny dostupné možnosti. + +### Přístup k serverům pro zasílání zpráv přes Tor + +Nainstalujte Tor a spusťte jej jako proxy server SOCKS5 na portu 9050, např. na Macu můžete: + +``` +brew install tor +brew services start tor +``` + +Pro přístup k serverům přes Tor použijte volbu `-x`: + +``` +simplex-chat -x +``` + +Můžete také použít volbu `--socks-proxy=ipv4:port` nebo `--socks-proxy=:port` pro konfiguraci hostitele a portu vašeho SOCKS5 proxy serveru, např. pokud jej provozujete na jiném hostiteli nebo portu. + +### Jak používat SimpleX chat + +Po spuštění chatu budete vyzváni k zadání svého "zobrazovacího jména" a volitelného "celého jména" pro vytvoření místního profilu chatu. Vaše zobrazované jméno je přezdívka, pod kterou se na vás mohou obracet vaše kontakty - není jedinečné a neslouží jako globální identita. Pokud si některé vaše kontakty zvolily stejné zobrazovací jméno, přidá chatovací klient k jejich místnímu zobrazovacímu jménu číselnou příponu. + +Následující schéma ukazuje, jak se připojit ke kontaktu a poslat mu zprávu: + +
+ +
+ +Po nastavení místního profilu zadejte `/c` (pro `/connect`) pro vytvoření nového spojení a vygenerování pozvánky. Tuto pozvánku odešlete svému kontaktu prostřednictvím jakéhokoli jiného kanálu. + +Můžete vytvořit více pozvánek zadáním `/connect` vícekrát a odesláním těchto pozvánek příslušným kontaktům, se kterými se chcete spojit. + +Pozvánku lze použít pouze jednou, a i kdyby byla zachycena, útočník by ji nemohl použít k odeslání zpráv prostřednictvím této fronty, jakmile váš kontakt potvrdí, že spojení bylo navázáno. Vysvětlení [formátu pozvánky](https://github.com/simplex-chat/simplexmq/blob/master/protocol/agent-protocol.md#connection-request) naleznete v protokolu agenta. + +Kontakt, který obdržel pozvánku, by měl zadat `/c `, aby spojení přijal. Tím se spojení naváže a obě strany jsou o tom informovány. + +Poté by měly použít příkazy `@ ` k odesílání zpráv. Můžete také prostě začít psát zprávu a odeslat ji kontaktu, který byl poslední. + +Seznam dostupných příkazů zobrazíte pomocí `/help` v chatu. + +### Skupiny + +Skupinu vytvoříte příkazem `/g ` a kontakty do ní přidáte příkazem `/a `. Do skupiny pak můžete posílat zprávy zadáním `# `. Pro další příkazy použijte `/help groups`. + +![simplex-chat](../images/groups.gif) + +> **Upozornění**: skupiny nejsou uloženy na žádném serveru, jsou vedeny jako seznam členů v databázi aplikace, kterým budou zprávy zasílány. + +### Odesílání souborů + +Soubor můžete odeslat kontaktu pomocí `/f @ ` - příjemce jej bude muset před odesláním přijmout. Pro další příkazy použijte `/help files`. + +![simplex-chat](../images/files.gif) + +Soubory můžete posílat skupině pomocí `/f # `. + +### Kontaktní adresy uživatelů + +Jako alternativu k jednorázovým pozvánkovým odkazům můžete vytvořit dlouhodobou adresu pomocí `/ad` (pro `/adresa`). Vytvořenou adresu pak můžete sdílet libovolným kanálem a používat ji ostatními uživateli jako odkaz na žádost o kontakt pomocí `/c `. + +Příchozí žádosti můžete přijmout nebo odmítnout pomocí příkazů `/ac ` a `/rc `. + +Uživatelská adresa je "dlouhodobá" v tom smyslu, že se jedná o odkaz pro vícenásobné použití - lze ji používat, dokud ji uživatel nesmaže, v takovém případě by všechna navázaná spojení zůstala stále aktivní (na rozdíl od toho, jak to funguje u e-mailu, kdy změna adresy vede k tomu, že vám lidé nemohou posílat zprávy). + +Pro ostatní příkazy použijte `/help address`. + +![simplex-chat](../images/user-addresses.gif) + +### Přístup k historii chatu + +SimpleX chat ukládá všechny vaše kontakty a konverzace do místní databáze SQLite, takže jsou soukromé a přenosné, vlastněné a kontrolované uživatelem. + +Historii chatu můžete zobrazit a prohledávat dotazem do databáze. Spusťte níže uvedený skript pro vytvoření zobrazení zpráv ve vaší databázi. + +```sh +curl -o- https://raw.githubusercontent.com/simplex-chat/simplex-chat/stable/scripts/message_views.sql | sqlite3 ~/.simplex/simplex_v1_chat.db +``` + +Otevřete SQLite Command Line Shell: + +```sh +sqlite3 ~/.simplex/simplex_v1_chat.db +``` + +Příklady viz [Message queries](./SQL.md). + +> **Upozornění:** Omezení cizích klíčů SQLite jsou ve výchozím nastavení vypnuta a musí být **[povolena pro každé připojení k databázi zvlášť](https://sqlite.org/foreignkeys.html#fk_enable)**. Toho lze dosáhnout spuštěním příkazu `PRAGMA foreign_keys = ON;` na otevřeném databázovém připojení. Spouštěním dotazů měnících data bez předchozího povolení cizích klíčů můžete riskovat, že se databáze dostane do nekonzistentního stavu. + +**Pohodlné dotazy** + +Získat všechny zprávy z dnešního dne (`chat_dt` je v UTC): + +```sql +select * from all_messages_plain where date(chat_dt) > date('now', '-1 day') order by chat_dt; +``` + +Získejte ranní noční zprávy: + +```sql +select * from all_messages_plain where chat_dt > datetime('now', '-15 hours') order by chat_dt; +``` diff --git a/docs/lang/cs/CONTRIBUTING.md b/docs/lang/cs/CONTRIBUTING.md new file mode 100644 index 0000000000..178c3b356f --- /dev/null +++ b/docs/lang/cs/CONTRIBUTING.md @@ -0,0 +1,21 @@ +| Aktualizováno 26.02.2023 | Jazyky: CZ, [EN](/docs/CONTRIBUTING.md), [FR](/docs/lang/fr/CONTRIBUTING.md) | + +# Průvodce přispíváním + +## Kompilace s povoleným šifrováním SQLCipher + +Do kořenového adresáře projektu přidejte `cabal.project.local` s umístěním hlaviček a knihoven OpenSSL a příznakem nastavujícím režim šifrování: + +``` +cp scripts/cabal.project.local.mac cabal.project.local +# nebo +# cp scripts/cabal.project.local.linux cabal.project.local +``` + +## OpenSSL na MacOS + +Systém MacOS je standardně dodáván s LibreSSL, pro kompilaci SimpleX ze zdrojových kódů je nutné nainstalovat OpenSSL. + +OpenSSL lze nainstalovat pomocí `brew install openssl@1.1`. + +Aby vše fungovalo správně, musíte do své cesty PATH přidat `/opt/homebrew/opt/openssl@1.1/bin`. diff --git a/docs/lang/cs/README.md b/docs/lang/cs/README.md new file mode 100644 index 0000000000..40226e3ab3 --- /dev/null +++ b/docs/lang/cs/README.md @@ -0,0 +1,327 @@ +| Aktualizováno 26.02.2023 | Jazyky: CZ, [EN](/docs/README.md), [FR](/docs/lang/fr/README.md) | + +SimpleX logo + +# SimpleX - první platforma pro zasílání zpráv, která neobsahuje žádné identifikační údaje uživatelů - 100% soukromá! + +[![sestavit](https://github.com/simplex-chat/simplex-chat/actions/workflows/build.yml/badge.svg?branch=stable)](https://github.com/simplex-chat/simplex-chat/actions/workflows/build.yml) +[![GitHub ke stažení](https://img.shields.io/github/downloads/simplex-chat/simplex-chat/total)](https://github.com/simplex-chat/simplex-chat/releases) +[![GitHub vydání](https://img.shields.io/github/v/release/simplex-chat/simplex-chat)](https://github.com/simplex-chat/simplex-chat/releases) +[![Přidejte se na Reddit](https://img.shields.io/reddit/subreddit-subscribers/SimpleXChat?style=social)](https://www.reddit.com/r/SimpleXChat) +[![Sledovat na Mastodonu](https://img.shields.io/mastodon/follow/108619463746856738?domain=https%3A%2F%2Fmastodon.social&style=social)](https://mastodon.social/@simplex) + +[Aplikace pro iOS](https://apps.apple.com/us/app/simplex-chat/id1605771084) +  +[![Aplikace pro Android](https://github.com/simplex-chat/.github/blob/master/profile/images/google_play.svg)](https://play.google.com/store/apps/details?id=chat.simplex.app) +  +[F-Droid](https://app.simplex.chat) +  +[iOS TestFlight](https://testflight.apple.com/join/DWuT2LQu) +  +[APK](https://github.com/simplex-chat/simplex-chat/releases/latest/download/simplex.apk) + +- 🖲 Chrání vaše zprávy a metadata - s kým a kdy mluvíte. +- 🔐 Koncové šifrování s další vrstvou šifrování. +- 📱 Mobilní aplikace pro Android ([Google Play](https://play.google.com/store/apps/details?id=chat.simplex.app), [APK](https://github.com/simplex-chat/simplex-chat/releases/latest/download/simplex.apk)) a [iOS](https://apps.apple.com/us/app/simplex-chat/id1605771084). +- 🚀 [TestFlight preview for iOS](https://testflight.apple.com/join/DWuT2LQu) s novými funkcemi o 1-2 týdny dříve - **omezeno na 10 000 uživatelů**! +- 🖥 K dispozici jako terminálová (konzolová) [aplikace / CLI](#zap-quick-installation-of-a-terminal-app) v systémech Linux, MacOS, Windows. + +**NOVINKA**: Bezpečnostní audit od [Trail of Bits](https://www.trailofbits.com/about), [nové webové stránky](https://simplex.chat) a vydána verze 4.2! [Viz oznámení](./blog/20221108-simplex-chat-v4.2-security-audit-new-website.md). + +## Obsah + +- [Proč záleží na soukromí](#why-privacy-matters) +- [SimpleX přístup k soukromí a bezpečnosti](#simplex-aproach-to-privacy-and-security) + - [Úplné soukromí](#complete-privacy-of-your-identity-profile-contacts-and-metadata) + - [Ochrana před spamem a zneužitím](#nejlepší-ochrana-před-spamem-a-zneužitím) + - [Vlastnictví a zabezpečení vašich dat](#complete-ownership-control-and-security-of-your-data) + - [Uživatelé vlastní síť SimpleX](#users-own-simplex-network) +- [Často kladené otázky](#frequently-asked-questions) +- [Novinky a aktualizace](#news-and-updates) +- [Vytvoření soukromého připojení](#make-a-private-connection) +- [Rychlá instalace terminálové aplikace](#zap-quick-installation-of-a-terminal-app) +- [Návrh platformy SimpleX](#simplex-platform-design) +- [Soukromí: technické detaily a omezení](#privacy-technical-details-and-limitations) +- [Pro vývojáře](#for-developers) +- [Plán](#roadmap) +- [Join a user group](#join-a-user-group) +- [Přeložit aplikace](#translate-the-apps) +- [Přispívat](#contribute) +- [Pomozte nám s dary](#help-us-with-donations) +- [Prohlášení o vyloučení odpovědnosti, bezpečnostní kontakt, licence](#disclaimers) + +## Proč záleží na ochraně osobních údajů + +Každý by měl dbát na soukromí a bezpečnost své komunikace - nevinné konverzace vás mohou ohrozit, i když není co skrývat. + +Jedním z nejvíce šokujících příběhů je zkušenost [Mohamedoua Oulda Salahiho](https://en.wikipedia.org/wiki/Mohamedou_Ould_Slahi), o které píše ve svých pamětech a která je uvedena ve filmu Mauretánec. Byl bez soudu umístěn do tábora na Guantánamu, kde byl 15 let mučen po telefonátu svému příbuznému do Afghánistánu, a to na základě podezření, že se podílel na útocích z 11. září, přestože deset let před útoky žil v Německu. + +Nestačí používat end-to-end šifrovaný messenger, všichni bychom měli používat messengery, které chrání soukromí našich osobních sítí - s kým jsme ve spojení. + +## Přístup SimpleX k ochraně soukromí a zabezpečení + +### Úplné soukromí vaší identity, profilu, kontaktů a metadat. + +**Na rozdíl od všech ostatních existujících platforem pro zasílání zpráv nemá SimpleX přiřazeny žádné identifikátory uživatelů** - dokonce ani náhodná čísla. To chrání soukromí toho, s kým komunikujete, a skrývá to před servery platformy SimpleX i před jakýmikoli pozorovateli. [Více informací](./docs/SIMPLEX.md#full-privacy-of-your-identity-profile-contacts-and-metadata). + +### Nejlepší ochrana proti spamu a zneužití + +Protože na platformě SimpleX nemáte žádný identifikátor, nelze vás kontaktovat, pokud nesdílíte odkaz na jednorázovou pozvánku nebo volitelnou dočasnou uživatelskou adresu. [Více informací](./docs/SIMPLEX.md#nejlepší-ochrana-před-spamem-a-zneužitím). + +### Úplné vlastnictví, kontrola a zabezpečení vašich dat + +SimpleX ukládá všechna uživatelská data na klientských zařízeních, zprávy jsou pouze dočasně uchovávány na relay serverech SimpleX, dokud nejsou přijaty. [Více informací](./docs/SIMPLEX.md#complete-ownership-control-and-security-of-your-data). + +### Uživatelé vlastní síť SimpleX + +Můžete používat SimpleX s vlastními servery a přitom komunikovat s lidmi, kteří používají servery předkonfigurované v aplikacích nebo jakékoli jiné servery SimpleX. [Více informací](./docs/SIMPLEX.md#users-own-simplex-network). + +## Často kladené otázky + +1. _Jak může SimpleX doručovat zprávy bez identifikátorů uživatelů?_ Viz [oznámení o vydání v2](./blog/20220511-simplex-chat-v2-images-files.md#prvni-platforma-zasilani-zpráv-bez-identifikátoru-uživatele), kde je vysvětleno, jak SimpleX funguje. + +2. _Proč bych neměl používat jen Signal?_ Signal je centralizovaná platforma, která k identifikaci svých uživatelů a jejich kontaktů používá telefonní čísla. To znamená, že zatímco obsah vašich zpráv na službě Signal je chráněn robustním šifrováním end-to-end, pro službu Signal je viditelné velké množství metadat - s kým a kdy hovoříte. + +3. _Jak se liší od platforem Matrix, Session, Ricochet, Cwtch atd. které také nevyžadují identitu uživatele?_ Ačkoli tyto platformy nevyžadují _skutečnou identitu_, při doručování zpráv se spoléhají na anonymní identitu uživatele - může to být například identifikační klíč nebo náhodné číslo. Používání trvalé identity uživatele, a to i anonymní, vytváří riziko, že se graf připojení uživatele stane známým pozorovatelům a/nebo poskytovatelům služeb, a může vést k deanonymizaci některých uživatelů. Pokud je stejný uživatelský profil použit pro připojení ke dvěma různým osobám prostřednictvím jakéhokoli messengeru jiného než SimpleX, mohou si tyto dvě osoby potvrdit, zda jsou připojeny ke stejné osobě - ve zprávách by použily stejný identifikátor uživatele. V systému SimpleX nejsou mezi konverzacemi s různými kontakty žádná společná metadata - to je vlastnost, kterou nemá žádná jiná platforma pro zasílání zpráv. + +## Novinky a aktualizace + +Poslední aktualizace: V současné době je k dispozici několik nových aplikací, např: + +[Vydání verze 4.5 - s více uživatelskými profily, návrhem zpráv, izolací transportu a italským rozhraním](./blog/20230204-simplex-chat-v4-5-user-chat-profiles.md). + +[03. 01. 2023. v4.4 vydána - s mizejícími zprávami, "živými" zprávami, bezpečnostním ověřováním spojení, GIFy a nálepkami a s francouzským jazykem rozhraní](./blog/20230103-simplex-chat-v4.4-disappearing-messages.md). + +[prosinec 06, 2022. Listopadové recenze a vydána verze 4.3 - s okamžitými hlasovými zprávami, nevratným mazáním odeslaných zpráv a vylepšenou konfigurací serveru](./blog/20221206-simplex-chat-v4.3-hlasove-zpravy.md). + +[Nov 08, 2022. Bezpečnostní audit Trail of Bits, vydány nové webové stránky a verze 4.2](./blog/20221108-simplex-chat-v4.2-security-audit-new-website.md). + +[28. 9. 2022. v4.0: šifrovaná lokální databáze chatu a mnoho dalších změn](./blog/20220928-simplex-chat-v4-encrypted-database.md). + +[Všechny aktualizace](./blog) + +## Vytvoření soukromého připojení + +Pro navázání spojení a zahájení zasílání zpráv je třeba sdílet odkaz nebo naskenovat QR kód (osobně nebo během videohovoru). + +Kanál, jehož prostřednictvím odkaz sdílíte, nemusí být zabezpečený - stačí, když můžete potvrdit, kdo vám zprávu poslal, a že je navázáno spojení SimpleX. + +Navázat soukromé spojení Konverzace Videohovor + +## :zap: Rychlá instalace terminálové aplikace + +```sh +curl -o- https://raw.githubusercontent.com/simplex-chat/simplex-chat/stable/install.sh | bash +``` + +Po instalaci chatovacího klienta jednoduše spusťte `simplex-chat` z terminálu. + +![simplex-chat](./images/connection.gif) + +Více informací o [instalaci a používání terminálové aplikace](./docs/CLI.md). + +## Návrh platformy SimpleX + +SimpleX je síť klient-server s unikátní topologií sítě, která využívá redundantní, jednorázové uzly pro předávání zpráv (relay nodes) k asynchronnímu předávání zpráv prostřednictvím jednosměrných (simplexních) front zpráv, což zajišťuje anonymitu příjemce i odesílatele. + +Na rozdíl od sítí P2P jsou všechny zprávy předávány přes jeden nebo několik serverových uzlů, které ani nemusí mít perzistenci. Současná implementace [SMP serveru](https://github.com/simplex-chat/simplexmq#smp-server) ve skutečnosti používá ukládání zpráv v paměti a uchovává pouze záznamy o frontách. SimpleX poskytuje lepší ochranu metadat než návrhy P2P, protože k doručování zpráv se nepoužívají globální identifikátory účastníků, a vyhýbá se [problémům sítí P2P](./docs/SIMPLEX.md#comparison-with-p2p-messaging-protocols). + +Na rozdíl od federativních sítí nemají uzly serveru **záznamy o uživatelích**, **nekomunikují mezi sebou** a **neukládají zprávy** po jejich doručení příjemcům. Neexistuje způsob, jak zjistit úplný seznam serverů účastnících se sítě SimpleX. Tato konstrukce se vyhýbá problému viditelnosti metadat, který mají všechny federované sítě, a lépe chrání před útoky na celou síť. + +Informace o uživatelích, jejich kontaktech a skupinách mají pouze klientská zařízení. + +Další informace o cílech a technickém návrhu platformy naleznete v dokumentu [SimpleX whitepaper](https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md). + +Formát zpráv zasílaných mezi klienty chatu prostřednictvím [SimpleX Messaging Protocol](https://github.com/simplex-chat/simplexmq/blob/stable/protocol/simplex-messaging.md) viz [SimpleX Chat Protocol](./docs/protocol/simplex-chat.md). + +## Soukromí: technické podrobnosti a omezení + +SimpleX Chat je ve vývoji - vylepšení vydáváme, jakmile jsou hotová. Musíte se rozhodnout, zda je současný stav dostatečně dobrý pro váš scénář použití. + +Co je již implementováno: + +1. Místo identifikátorů uživatelského profilu, které používají všechny ostatní platformy, dokonce i ty nejprivátnější, používá SimpleX párové identifikátory pro jednotlivé fronty (2 adresy pro každou jednosměrnou frontu zpráv, s volitelnou 3. adresou pro push oznámení v systému iOS, 2 fronty v každém spojení mezi uživateli). To ztěžuje pozorování síťového grafu na úrovni aplikace, protože pro `n` uživatelů může existovat až `n * (n-1)` front zpráv. +2. Koncové šifrování v každé frontě zpráv pomocí [NaCl cryptobox](https://nacl.cr.yp.to/box.html). To je přidáno proto, aby byla v budoucnu umožněna redundance (předávání každé zprávy přes několik serverů), aby se zabránilo tomu, že v různých frontách bude stejný šifrový text (který by byl pro útočníka viditelný pouze v případě kompromitace TLS). Šifrovací klíče používané pro toto šifrování se nerotují, místo toho plánujeme rotaci front. Pro vyjednávání klíčů se používají klíče Curve25519. + +3. [Dvojité šifrování](https://signal.org/docs/specifications/doubleratchet/) koncové šifrování v každé konverzaci mezi dvěma uživateli (nebo členy skupiny). Jedná se o stejný algoritmus, který se používá v aplikaci Signal a mnoha dalších aplikacích pro zasílání zpráv; zajišťuje OTR zasílání zpráv s dopředným utajením (každá zpráva je šifrována vlastním efemérním klíčem), obnovou po vloupání (klíče jsou často znovu vyjednávány v rámci výměny zpráv). Pro počáteční dohodu klíčů se používají dva páry klíčů Curve448, iniciující strana předává tyto klíče prostřednictvím spojení, přijímající strana - v záhlaví potvrzovací zprávy. +4. Další vrstva šifrování pomocí kryptoboxu NaCL pro zprávy doručované ze serveru příjemci. Tato vrstva zamezuje tomu, aby mezi odesílaným a přijímaným provozem serveru uvnitř TLS byl společný šifrový text (a společné nejsou ani identifikátory). +5. Několik úrovní výplně obsahu pro zmaření útoků na velikost zprávy. +6. Počínaje verzí v2 protokolu SMP (současná verze je v4) jsou všechna metadata zprávy včetně času, kdy byla zpráva přijata serverem (zaokrouhleno na sekundy), odesílána příjemcům uvnitř šifrované obálky, takže ani v případě kompromitace TLS je nelze pozorovat. +7. Pro spojení klient-server je povoleno pouze TLS 1.2/1.3, omezené na kryptografické algoritmy: CHACHA20POLY1305_SHA256, Ed25519/Ed448, Curve25519/Curve448. +8. Na ochranu proti útokům typu replay vyžadují servery SimpleX [tlsunique channel binding](https://www.rfc-editor.org/rfc/rfc5929.html) jako ID relace v každém klientském příkazu podepsaném efemérním klíčem per-queue. +9. Pro ochranu vaší IP adresy podporují všichni klienti SimpleX Chat přístup k serverům pro zasílání zpráv přes Tor - více informací najdete v [oznámení o vydání v3.1](./blog/20220808-simplex-chat-v3.1-chat-groups.md). +10. Šifrování místní databáze s přístupovou frází - kontakty, skupiny a všechny odeslané a přijaté zprávy jsou uloženy šifrovaně. Pokud jste používali SimpleX Chat před verzí 4.0, musíte šifrování povolit prostřednictvím nastavení aplikace. +11. Izolace transportu - pro provoz různých uživatelských profilů se používají různá spojení TCP a okruhy Tor, volitelně - pro různá spojení kontaktů a členů skupin. + +Plánujeme brzy přidat: + +1. Automatická rotace fronty zpráv. V současné době se používají fronty vytvořené mezi dvěma uživateli, dokud uživatel frontu ručně nezmění nebo kontakt nesmaže. Plánujeme přidat automatickou rotaci front, aby tyto identifikátory byly dočasné a rotovaly na základě nějakého plánu TBC (např. každých X zpráv nebo každých X hodin/dnů). +2. Šifrování místních souborů. V současné době jsou obrázky a soubory, které odesíláte a přijímáte, uloženy v aplikaci nezašifrované, můžete je odstranit prostřednictvím `Nastavení / Databáze hesla a export`. +3. "Míchání" zpráv - přidání zpoždění k doručování zpráv, ochrana proti korelaci provozu podle času zprávy. + +## Pro vývojáře + +Můžete: + +- použít knihovnu SimpleX Chat k integraci funkcí chatu do svých mobilních aplikací. +- vytvářet chatovací boty a služby v jazyce Haskell - viz [simple](./apps/simplex-bot/) a více [advanced chat bot example](./apps/simplex-bot-advanced/). +- vytvářet chatovací boty a služby v libovolném jazyce se spuštěným terminálem SimpleX Chat CLI jako lokálním serverem WebSocket. Viz [TypeScript SimpleX Chat client](./packages/simplex-chat-client/) a [JavaScript chat bot example](./packages/simplex-chat-client/typescript/examples/squaring-bot.js). +- spustit [simplex-chat terminal CLI](./docs/CLI.md) pro provádění jednotlivých příkazů chatu, např. pro odesílání zpráv v rámci provádění shellových skriptů. + +Pokud uvažujete o vývoji s platformou SimpleX, obraťte se na nás pro případné rady a podporu. + +## Plán postupu + +- ✅ Snadné nasazení serveru SimpleX s ukládáním zpráv v paměti, bez jakýchkoli závislostí. +- ✅ Terminálový (konzolový) klient s podporou skupin a souborů. +- ✅ Nasazení serveru SimpleX na Linode jedním kliknutím. +- ✅ Koncové šifrování pomocí protokolu double-ratchet s další vrstvou šifrování. +- ✅ Mobilní aplikace v1 pro Android a iOS. +- ✅ Soukromá okamžitá oznámení pro Android pomocí služby na pozadí. +- ✅ Šablony chatovacích botů v jazyce Haskell. +- ✅ Verze v2.0 - podpora obrázků a souborů v mobilních aplikacích. +- ✅ Ruční mazání historie chatu. +- ✅ Koncové šifrované zvukové a obrazové hovory WebRTC prostřednictvím mobilních aplikací. +- ✅ Okamžitá oznámení zachovávající soukromí pro iOS pomocí služby Apple Push Notification. +- ✅ Export a import databáze chatů. +- ✅ Chatovací skupiny v mobilních aplikacích. +- ✅ Připojení k serverům pro zasílání zpráv přes Tor. +- ✅ Duální adresy serverů pro přístup k serverům pro zasílání zpráv jako skryté služby v3. +- ✅ Chatovací server a TypeScript klient SDK pro vývoj chatovacích rozhraní, integrací a chatovacích botů (připraveno k oznámení). +- ✅ Režim inkognito pro sdílení nového náhodného jména s každým kontaktem. +- ✅ Šifrování databáze chatu. +- ✅ Automatické mazání historie chatu. +- ✅ Odkazy pro připojení ke skupinám a zlepšení stability skupin. +- ✅ Hlasové zprávy (s možností odhlášení příjemce na kontakt). +- ✅ Základní ověřování pro servery SMP (pro autorizaci vytváření nových front). +- ✅ Zobrazení smazaných zpráv, úplné odstranění zpráv odesílatelem (s možností opt-in příjemce na kontakt). +- ✅ Blokování snímků obrazovky a zobrazení v posledních aplikacích. +- ✅ Pokročilá konfigurace serveru. +- ✅ Zmizení zpráv (s možností opt-in příjemce na kontakt). +- ✅ "Živé" zprávy. +- ✅ Ověření kontaktu prostřednictvím samostatného mimopásmového kanálu. +- ✅ Více uživatelských profilů v jedné chatové databázi. +- ✅ Volitelně zamezení opakovaného používání stejné relace TCP pro více spojení. +- ✅ Zachování návrhů zpráv. +- 🏗 Souborový server pro optimalizaci efektivního a soukromého odesílání velkých souborů. +- 🏗 Vylepšené audio a video hovory. +- 🏗 Redundance a rotace fronty SMP (je podporováno ruční nastavení). +- 🏗 Snížení spotřeby baterie a provozu ve velkých skupinách. +- 🏗 Podpora starších operačních systémů Android a 32bitových procesorů. +- Efemérní/zmizelé/OTR konverzace se stávajícími kontakty. +- Přístupové heslo/pin (s volitelným alternativním přístupovým heslem). +- Šifrování místních souborů aplikace. +- Videozprávy. +- Vylepšená navigace a vyhledávání v konverzaci (rozbalení a posun na citovanou zprávu, posun na výsledky vyhledávání atd.) +- Potvrzení o doručení zprávy (s možností přihlášení nebo odhlášení odesílatele pro každý kontakt, TBC). +- Zprávy/rozhlasové vysílání. +- Webové widgety pro vlastní interaktivitu v chatech. +- Programovatelné automatizace/pravidla chatu (automatické odpovědi/přeposlání/odstranění/odeslání, připomenutí atd.) +- Podpora stejného profilu na více zařízeních. +- Klient pro stolní počítače. +- Server identity zachovávající soukromí pro volitelné adresy kontaktů/skupin založené na DNS pro zjednodušení připojení a zjišťování, ale nepoužívaný k doručování zpráv: + - Zachovejte si všechny kontakty a skupiny, i když ztratíte doménu. + - Server nemá informace o vašich kontaktech a skupinách. +- Hostitelský server pro velké skupiny, komunity a veřejné kanály. +- Relé pro doručování zpráv pro odesílatele (pro skrytí IP adresy před servery příjemců a snížení provozu). +- Vysokokapacitní víceuzlové relé SMP. + +## Připojte se ke skupině uživatelů + +Pokud se chcete na něco zeptat, můžete se připojit k anglicky mluvící skupině: [#SimpleX-Group-2](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2Fhpq7_4gGJiilmz5Rf-CswuU5kZGkm_zOIooSw6yALRg%3D%40smp5.simplex.im%2FQP8zaGjjmlXV-ix_Er4JgJ0lNPYGS1KX%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEApAgBkRZ3x12ayZ7sHrjHQWNMvqzZpWUgM_fFCUdLXwo%253D%26srv%3Djjbyvoemxysm7qxap7m5d5m35jzv5qq6gnlv7s4rsn7tdwwmuqciwpid.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22xWpPXEZZsQp_F7vwAcAYDw%3D%3D%22%7D) + +Existuje také několik skupin v jiných jazycích než v angličtině, do kterých jsme nechali přeložit rozhraní aplikací. Tyto skupiny slouží k testování a pokládání otázek ostatním uživatelům SimpleX Chat. Ne vždy v nich odpovídáme na dotazy, proto je prosím pokládejte v některé z anglicky mluvících skupin. + +- [\#SimpleX-DE](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2FkIEl7OQzcp-J6aDmjdlQbRJwqkcZE7XR%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAR16PCu02MobRmKAsjzhDWMZcWP9hS8l5AUZi-Gs8z18%253D%26srv%3Dbylepyau3ty4czmn77q4fglvperknl4bi2eb2fdy2bh4jxtf32kf73yd.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22puYPMCQt11yPUvgmI5jCiw%3D%3D%22%7D) (German-speaking). +- [\#SimpleX-FR](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2Fhpq7_4gGJiilmz5Rf-CswuU5kZGkm_zOIooSw6yALRg%3D%40smp5.simplex.im%2FvIHQDxTor53nwnWWTy5cHNwQQAdWN5Hw%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAPdgK1eBnETmgiqEQufbUkydKBJafoRx4iRrtrC2NAGc%253D%26srv%3Djjbyvoemxysm7qxap7m5d5m35jzv5qq6gnlv7s4rsn7tdwwmuqciwpid.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%221FyUryBPza-1ZFFE80Ekbg%3D%3D%22%7D) (francouzsky mluvící). +- [\#SimpleX-RU](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2FXZyt3hJmWsycpN7Dqve_wbrAqb6myk1R%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAMFVIoytozTEa_QXOgoZFq_oe0IwZBYKvW50trSFXzXo%253D%26srv%3Dbylepyau3ty4czmn77q4fglvperknl4bi2eb2fdy2bh4jxtf32kf73yd.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22xz05ngjA3pNIxLZ32a8Vxg%3D%3D%22%7D) (Russian-speaking). +- [\#SimpleX-IT](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2Fu2dS9sG8nMNURyZwqASV4yROM28Er0luVTx5X1CsMrU%3D%40smp4.simplex.im%2F0weR-ZgDUl7ruOtI_8TZwEsnJP6UiImA%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAq4PSThO9Fvb5ydF48wB0yNbpzCbuQJCW3vZ9BGUfcxk%253D%26srv%3Do5vmywmrnaxalvz6wi3zicyftgio6psuvyniis6gco6bp6ekl4cqj4id.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22e-iceLA0SctC62eARgYDWg%3D%3D%22%7D) (Italian-speaking). + +K těmto skupinám se můžete připojit buď otevřením těchto odkazů v aplikaci, nebo jejich otevřením v prohlížeči počítače a naskenováním QR kódu. + +Připojte se prostřednictvím aplikace a sdílejte, co se děje, a pokládejte případné dotazy! + +## Přeložit aplikace + +Díky našim uživatelům a [Weblate](https://hosted.weblate.org/engage/simplex-chat/) jsou aplikace SimpleX Chat přeloženy do mnoha dalších jazyků. Přidejte se k našim překladatelům a pomozte SimpleX rychleji růst! + +Aktuální jazyky rozhraní: + +- Angličtina (vývojový jazyk) +- Němčina: [@mlanp](https://github.com/mlanp) +- Francouzština: [@ishi_sama](https://github.com/ishi-sama) +- Italština: [@unbranched](https://github.com/unbranched) +- Ruština: projektový tým + +Jazyky ve vývoji: Čínština, hindština, čeština, japonština, holandština a [mnoho dalších](https://hosted.weblate.org/projects/simplex-chat/#languages). Další jazyky budeme přidávat, jakmile budou některé z již přidaných jazyků dokončeny - navrhněte prosím nové jazyky, projděte si [průvodce překladem](./docs/TRANSLATIONS.md) a kontaktujte nás! + +## Přispívejte + +Budeme rádi, když se zapojíte do vývoje! Do SimpleX Chat můžete přispívat pomocí: + +- Přeložit domovskou stránku webu - je zde spousta obsahu, který bychom rádi sdíleli, pomohlo by to přivést nové uživatele. +- Napsáním návodu nebo receptů o hostování serverů, automatizaci chatbotů atd. +- Vývojem funkcí - spojte se s námi prostřednictvím chatu, abychom vám mohli pomoci začít. + +## Pomozte nám s dary + +Obrovské díky všem, kteří přispěli na SimpleX Chat! + +Prioritou je pro nás soukromí a bezpečnost uživatelů - bez vaší podpory by to nebylo možné. + +Naším závazkem vůči uživatelům je, že protokoly SimpleX jsou a zůstanou otevřené a ve veřejném vlastnictví - takže kdokoli může vytvářet budoucí implementace klientů a serverů. Platformu SimpleX budujeme na stejných principech jako e-mail a web, ale mnohem soukroměji a bezpečněji. + +Vaše dary nám pomohou získat další finanční prostředky - jakákoli částka, dokonce i cena šálku kávy, by pro nás měla velký význam. + +Přispět je možné prostřednictvím: + +- [GitHub](https://github.com/sponsors/simplex-chat) - je to pro nás bez provize. +- OpenCollective](https://opencollective.com/simplex-chat) - účtuje si provizi a přijímá také dary v kryptoměnách. +- Adresa Monero: 8568eeVjaJ1RQ65ZUn9PRQ8ENtqeX9VVhcCYYhnVLxhV4JtBqw42so2VEUDQZNkFfsH5sXCuV7FN8VhRQ21DkNibTZP57Qt. +- Bitcoinová adresa: 1bpefFkzuRoMY3ZuBbZNZxycbg7NYPYTG +- BCH adresa: BCH: 1bpefFkzuRoMY3ZuBbZNZxycbg7NYPYTG +- Ethereum adresa: 0x83fd788f7241a2be61780ea9dc72d2151e6843e2 +- Adresa Solana: 43tWFWDczgAcn4Rzwkpqg2mqwnQETSiTwznmCgA2tf1L +- dejte nám prosím vědět prostřednictvím GitHub issue nebo chatu, pokud chcete vytvořit příspěvek v nějaké jiné kryptoměně - přidáme adresu do seznamu. + +Děkujeme, + +Evgeny + +Zakladatel SimpleX Chat + +## Odmítnutí odpovědnosti + +Protokoly a bezpečnostní model [SimpleX](https://github.com/simplex-chat/simplexmq/blob/master/protocol/overview-tjr.md) byly revidovány a ve verzi 1.0.0 došlo k mnoha zlomovým změnám a vylepšením. + +Bezpečnostní audit provedla v říjnu 2022 společnost [Trail of Bits](https://www.trailofbits.com/about) a většina oprav byla vydána ve verzi 4.2.0 - viz [oznámení](./blog/20221108-simplex-chat-v4.2-security-audit-new-website.md). + +SimpleX Chat je stále relativně ranou fází platformy (mobilní aplikace byly vydány v březnu 2022), takže můžete objevit některé chyby a chybějící funkce. Velmi oceníme, pokud nám dáte vědět o všem, co je třeba opravit nebo vylepšit. + +Výchozí servery nakonfigurované v aplikaci jsou poskytovány na základě nejlepšího úsilí. V současné době negarantujeme žádné smlouvy SLA, ačkoli historicky měly naše servery každý více než 99,9% provozuschopnost. + +Nikdy jsme neposkytli ani jsme nebyli požádáni o přístup k našim serverům nebo k jakýmkoli informacím z našich serverů žádnou třetí stranou. Pokud bychom někdy byli požádáni o poskytnutí takového přístupu nebo informací, budeme postupovat podle řádného právního postupu. + +Nezaznamenáváme IP adresy uživatelů a na našich serverech neprovádíme žádnou korelaci provozu. Pokud je pro vás bezpečnost na úrovni přenosu kritická, musíte pro přístup k serverům pro zasílání zpráv používat Tor nebo jinou podobnou síť. Klientské aplikace budeme vylepšovat, abychom omezili možnosti korelace provozu. + +Více informací naleznete v [Podmínky a zásady ochrany osobních údajů](./PRIVACY.md). + +## Bezpečnostní kontakt + +Chcete-li nahlásit bezpečnostní zranitelnost, pošlete nám e-mail na adresu chat@simplex.chat. Budeme koordinovat opravu a zveřejnění. Bezpečnostní zranitelnosti prosím NEHLAŠUJTE prostřednictvím issues GitHub. + +Jakákoli zjištění možných útoků korelace provozu umožňujících korelovat dvě různé konverzace se stejným uživatelem, jiná než ta, která jsou zahrnuta v [modelu hrozeb](https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md#threat-model), považujte za bezpečnostní zranitelnosti a postupujte podle tohoto postupu zveřejnění. + +## Licence + +[AGPL v3](./LICENSE) + +[Aplikace iOS](https://apps.apple.com/us/app/simplex-chat/id1605771084) +  +[![Aplikace pro Android](https://github.com/simplex-chat/.github/blob/master/profile/images/google_play.svg)](https://play.google.com/store/apps/details?id=chat.simplex.app) +  +[F-Droid](https://app.simplex.chat) +  +[iOS TestFlight](https://testflight.apple.com/join/DWuT2LQu) +  +[APK](https://github.com/simplex-chat/simplex-chat/releases/latest/download/simplex.apk) diff --git a/docs/lang/cs/SERVER.md b/docs/lang/cs/SERVER.md new file mode 100644 index 0000000000..fa51af9b98 --- /dev/null +++ b/docs/lang/cs/SERVER.md @@ -0,0 +1,330 @@ +| Aktualizováno 26.02.2023 | Jazyky: CZ, [EN](/docs/SERVER.md), [FR](/docs/lang/fr/SERVER.md) | + +# Hostování vlastního serveru SMP + +## Přehled + +SMP server je relay server používaný k předávání zpráv v síti SimpleX. Aplikace SimpleX Chat mají přednastavené servery (pro mobilní aplikace jsou to smp8, smp9 a smp10.simplex.im), ale konfiguraci aplikace můžete snadno změnit a používat jiné servery. + +Klienti SimpleX pouze určují, který server bude použit pro příjem zpráv, a to pro každý kontakt (nebo spojení skupiny s členem skupiny) zvlášť, přičemž tyto servery jsou pouze dočasné, protože adresa pro doručování se může změnit. + +_Upozornění_: když změníte servery v konfiguraci aplikace, ovlivní to pouze to, který server bude použit pro nové kontakty, stávající kontakty se na nové servery automaticky nepřesunou, ale můžete je přesunout ručně pomocí tlačítka ["Změnit adresu příjmu"](../blog/20221108-simplex-chat-v4.2-bezpecnostni-audit-novy-website.md#zmeny-dorucovani-adresy-beta) na stránkách s informacemi o kontaktech/členech - brzy bude automatizováno. + +## Instalace + +0. Nejprve nainstalujte `smp-server`: + + - Ruční nasazení: + + - [Kompilace ze zdrojových kódů](https://github.com/simplex-chat/simplexmq#using-your-distribution) + - [Použití předkompilovaných binárních souborů](https://github.com/simplex-chat/simplexmq#install-binaries) + + - Alternativně můžete `smp-server` nasadit pomocí: + - [Docker kontejner](https://github.com/simplex-chat/simplexmq#using-docker-1) + - [Linode StackScript](https://github.com/simplex-chat/simplexmq#deploy-smp-server-on-linode) + +Ruční instalace vyžaduje několik předběžných úkonů: + +1. Vytvoření uživatele a skupiny pro `smp-server`: + + ```sh + sudo useradd -m smp + ``` + +2. Vytvořte potřebné adresáře a přiřaďte jim oprávnění: + + ```sh + sudo mkdir -p /var/opt/simplex /etc/opt/simplex + sudo chown smp:smp /var/opt/simplex /etc/opt/simplex /etc/opt/simplex + ``` + +3. Povolte port `smp-server` ve firewallu: + + ```sh + # Pro Ubuntu + ufw allow 5233 + ``` + +4. **Volitelné** - Pokud používáte distribuci s `systemd`, vytvořte soubor `/etc/systemd/system/smp-server.service` s následujícím obsahem: + + ```sh + [Unit] + Description=SMP server + [Service] + User=smp + Group=smp + Type=simple + ExecStart=smp-server start + ExecStopPost=/usr/bin/env sh -c '[ -e "/var/opt/simplex/smp-server-store.log" ] && cp "/var/opt/simplex/smp-server-store.log" "/var/opt/simplex/smp-server-store.log.bak"' + KillSignal=SIGINT + TimeoutStopSec=infinity + Restart=vždy + RestartSec=10 + LimitNOFILE=65535 + [Install] + WantedBy=multi-user.target + ``` + + A spusťte `sudo systemctl daemon-reload`. + +## Konfigurace + +Chcete-li zjistit, které možnosti jsou k dispozici, spusťte `smp-server` bez příznaků: + +```sh +sudo su smp -c smp-server + +... +Dostupné příkazy: + init Inicializace serveru - vytvoří /etc/opt/simplex a + /var/opt/simplex adresáře a konfigurační soubory. + start Spustí server (konfigurace: + /etc/opt/simplex/smp-server.ini). + delete Odstranění konfiguračních a protokolových souborů +``` + +Další nápovědu můžete získat příkazem `sudo su smp -c "smp-server -h"` + +Poté musíme nakonfigurovat `smp-server`: + +### Interaktivně + +Spusťte následující příkaz: + +```sh +sudo su smp -c "smp-server init" +``` + +Je třeba zvážit několik možností: + +- `Povolit ukládání protokolu pro obnovení front a zpráv při restartu serveru (Yn):` + + Zadáním `y` povolíte ukládání a obnovu spojení a zpráv při restartu serveru. + + _Pozor_: je důležité použít SIGINT pro restart serveru, protože jinak nebudou nedoručené zprávy obnoveny. Spojení budou obnovena bez ohledu na to, jakým způsobem je server restartován, protože na rozdíl od zpráv jsou při každé změně přidávána do protokolu pouze pro doplnění. + +- `Zapnout protokolování denních statistik (yN):` + + Zadáním `y` povolíte protokolování statistik ve formátu CSV, které lze například použít k zobrazení souhrnných grafů využití v `Grafanu`. + +Tyto statistiky zahrnují denní počty vytvořených, zajištěných a smazaných front, odeslaných a přijatých zpráv a také denní, týdenní a měsíční počty aktivních front (tj. front, které byly použity pro nějaké zprávy). Domníváme se, že tyto informace neobsahují nic, co by umožňovalo korelovat různé fronty jako patřící stejným uživatelům, ale pokud se domníváte, že to lze nějak zneužít, dejte nám prosím důvěrně vědět. + +- `Vyžadovat heslo pro vytvoření nové fronty zpráv?` + + Zadejte `r` nebo své libovolné heslo pro ochranu heslem `smp-server` nebo `n` pro vypnutí ochrany heslem. + +- `Zadejte FQDN serveru nebo IP adresu pro certifikát (127.0.0.1):` + + Zadejte svou doménu nebo ip adresu, na které běží váš smp-server - bude zahrnuta do certifikátů serveru a také vypsána jako součást adresy serveru. + +### Prostřednictvím voleb příkazového řádku + +Spusťte následující příkaz: + +```sh +sudo su smp -c "smp-server init -h" + +... +Dostupné možnosti: + -l,--store-log Povolit protokol úložiště pro perzistenci + -s,--daily-stats Povolí protokolování denních statistik serveru + -a,--sign-algorithm ALG Algoritmus podpisu používaný pro certifikáty TLS: + ED25519, ED448 (výchozí: ED448). + --ip IP IP adresa serveru, používaná jako Common Name pro TLS online + certifikátu, pokud není zadáno FQDN + (výchozí: "127.0.0.1") + -n,--fqdn FQDN FQDN serveru použitý jako Common Name pro certifikát TLS online + certifikát + --no-password Povolit vytváření nových front bez hesla + --password PASSWORD Nastavení hesla pro vytváření nových front zpráv + -y,--yes Neinteraktivní inicializace pomocí příkazového řádku + volby + -h,--help Zobrazí text nápovědy +``` + +Měli byste určit, které příznaky jsou pro váš případ použití potřebné, a poté spustit `smp-server init` s příznakem `-y` pro neinteraktivní inicializaci: + +```sh +sudo su smp -c "smp-server init -y - " +``` + +Spusťte například: + +```sh +sudo su smp -c "smp-server init -y -l --ip 192.168.1.5 --heslo test" +``` + +a inicializujte konfiguraci `smp-serveru` pomocí: + +- obnovení spojení a zpráv při restartu serveru (příznak `-l`), +- IP adresa `192.168.1.5`, +- chránit `smp-server` heslem `test`. + +--- + +Poté je instalace dokončena a ve výstupu teminálu byste měli vidět něco takového: + +```sh +Certificate request self-signature ok +subject=CN = 127.0.0.1 +Server je inicializován, konfiguraci můžete upravit v souboru /etc/opt/simplex/smp-server.ini. +Spusťte `smp-server start` pro spuštění serveru. +---------- +Měli byste bezpečně uložit soukromý klíč CA a odstranit jej ze serveru. +Pokud dojde ke kompromitaci pověření TLS serveru, lze tento klíč použít k podpisu nového, přičemž zůstane zachována stejná identita serveru a navázaná spojení. +Umístění soukromého klíče CA: /etc/opt/simplex/ca.key. +---------- +SMP server v3.4.0 +Otisk prstu: d5fcsc7hhtPpexYUbI2XPxDbyU2d3WsVmROimcL90ss= +Adresa serveru: smp://d5fcsc7hhtPpexYUbI2XPxDbyU2d3WsVmROimcL90ss=:V8ONoJ6ICwnrZnTC_QuSHfCEYq53uLaJKQ_oIC6-ve8=@ +``` + +Výše uvedená adresa serveru by měla být použita v konfiguraci klienta a pokud jste přidali heslo k serveru, mělo by být sdíleno s ostatními lidmi pouze tehdy, když jim chcete povolit používat váš server pro příjem zpráv (všechny vaše kontakty budou moci posílat zprávy, protože nevyžadují heslo). Pokud jste při inicializaci předali IP adresu nebo názvy hostitelů, budou vypsány jako součást adresy serveru, jinak nahraďte `` skutečnými adresami serverů. + +## Dokumentace + +Všechny potřebné soubory pro `smp-server` jsou umístěny ve složce `/etc/opt/simplex/`. + +Uložené zprávy, spojení, statistiky a protokol serveru jsou umístěny ve složce `/var/opt/simplex/`. + +### Adresa serveru SMP + +Adresa serveru SMP má následující formát: + +``` +smp://[:]@[,] +``` + +- `` + + Váš otisk certifikátu `smp-server`. Otisk svého certifikátu můžete zkontrolovat v souboru `/etc/opt/simplex/fingerprint`. + +- **nepovinné** `` + + Vaše nakonfigurované heslo `smp-serveru`. Nakonfigurované heslo můžete zkontrolovat v souboru `/etc/opt/simplex/smp-server.ini` v sekci `[AUTH]` v poli `create_password:`. + +- ``, **volitelně** ``. + + Vaše nakonfigurované jméno (jména) hostitele `smp-serveru`. Nakonfigurované hostitele můžete zkontrolovat v souboru `/etc/opt/simplex/smp-server.ini`, v části `[TRANSPORT]` v poli `host:`. + +### Příkazy Systemd + +Chcete-li spustit `smp-server` při startu hostitele, spusťte: + +```sh +sudo systemctl enable smp-server.service + +Vytvořen symlink /etc/systemd/system/multi-user.target.wants/smp-server.service → /etc/systemd/system/smp-server.service. +``` + +Chcete-li spustit `smp-server`, spusťte: + +```sh +sudo systemctl start smp-server.service +``` + +Chcete-li zkontrolovat stav `smp-serveru`, spusťte: + +```sh +sudo systemctl status smp-server.service + +● smp-server.service - server SMP + Načteno: načteno (/etc/systemd/system/smp-server.service; povoleno; předvolba dodavatele: povoleno) + Aktivní: aktivní (běží) od so 2022-11-23 19:23:21 UTC; před 1min 48s + Hlavní PID: 30878 (smp-server) + CGroup: /docker/5588ab759e80546b4296a7c50ffebbb1fb7b55b8401300e9201313b720989aa8/system.slice/smp-server.service + └─30878 smp-server start + +Nov 23 19:23:21 5588ab759e80 systemd[1]: Spuštěn SMP server. +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: SMP server v3.4.0 +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: Fingerprint: d5fcsc7hhtPpexYUbI2XPxDbyU2d3WsVmROimcL90ss= +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: Adresa serveru: smp://d5fcsc7hhtPpexYUbI2XPxDbyU2d3WsVmROimcL90ss=:V8ONoJ6ICwnrZnTC_QuSHfCEYq53uLaJKQ_oIC6-ve8=@ +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: Uložit protokol: /var/opt/simplex/smp-server-store.log +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: Naslouchání na portu 5223 (TLS)... +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: neaktivní klienti nevypršeli. +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: vytváření nových front vyžaduje heslo +``` + +Chcete-li zastavit `smp-server`, spusťte: + +```sh +sudo systemctl stop smp-server.service +``` + +Chcete-li zkontrolovat ocas protokolu `smp-server`, spusťte: + +```sh +sudo journalctl -fu smp-server.service + +Nov 23 19:23:21 5588ab759e80 systemd[1]: Spuštěn SMP server. +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: SMP server v3.4.0 +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: Fingerprint: d5fcsc7hhtPpexYUbI2XPxDbyU2d3WsVmROimcL90ss= +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: Adresa serveru: smp://d5fcsc7hhtPpexYUbI2XPxDbyU2d3WsVmROimcL90ss=:V8ONoJ6ICwnrZnTC_QuSHfCEYq53uLaJKQ_oIC6-ve8=@ +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: Uložit protokol: /var/opt/simplex/smp-server-store.log +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: Naslouchání na portu 5223 (TLS)... +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: neaktivní klienti nevypršeli. +Nov 23 19:23:21 5588ab759e80 smp-server[30878]: vytváření nových front vyžaduje heslo +``` + +### Monitoring + +Statistiky `smp-serveru` pro `Grafana` dashboard můžete povolit nastavením hodnoty `on` v souboru `/etc/opt/simplex/smp-server.ini` v sekci `[STORE_LOG]` v poli `log_stats:`. + +Protokoly budou uloženy jako soubor `csv` v souboru `/var/opt/simplex/smp-server-stats.daily.log`. Pole pro soubor `csv` jsou: + +```sh +fromTime,qCreated,qSecured,qDeleted,msgSent,msgRecv,dayMsgQueues,weekMsgQueues,monthMsgQueues +``` + +- `fromTime` - časová značka; datum a čas události + +- `qCreated` - int; vytvořené fronty + +- `qSecured` - int; vytvořené fronty + +- `qDeleted` - int; smazané fronty + +- `msgSent` - int; odeslané zprávy + +- `msgRecv` - int; přijaté zprávy + +- `dayMsgQueues` - int; aktivní fronty za den + +- `weekMsgQueues` - int; aktivní fronty za týden + +- `monthMsgQueues` - int; aktivní fronty za měsíc + +Pro import `csv` do `Grafana` je třeba: + +1. Nainstalovat zásuvný modul Grafana: [Grafana - CSV datasource](https://grafana.com/grafana/plugins/marcusolsson-csv-datasource/) + +2. Povolit místní režim připojením následujícího: + + ```sh + [plugin.marcusolsson-csv-datasource]. + allow_local_mode = true + ``` + + ... do `/etc/grafana/grafana.ini` + +3. Přidejte zdroj dat CSV: + + - V postranní nabídce klikněte na záložku Configuration (ikona ozubeného kola). + - V pravém horním rohu karty Zdroje dat klikněte na tlačítko Přidat zdroj dat. + - Do vyhledávacího pole zadejte "CSV" a vyhledejte zdroj dat CSV. + - Klikněte na výsledek hledání s nápisem "CSV". + - Do pole URL zadejte soubor, který odkazuje na obsah CSV + +4. Hotovo! Měli byste být schopni vytvořit vlastní řídicí panel se statistikami. + +Další dokumentaci naleznete na adrese: [CSV Data Source for Grafana - Documentation](https://grafana.github.io/grafana-csv-datasource/) + +### Konfigurace aplikace pro použití serveru + +Chcete-li aplikaci nakonfigurovat tak, aby používala váš server pro zasílání zpráv, zkopírujte jeho úplnou adresu včetně hesla a přidejte ji do aplikace. Máte možnost používat svůj server společně s přednastavenými servery nebo bez nich - můžete je odebrat nebo zakázat. + +Adresu svého serveru můžete také sdílet se svými přáteli tak, že je necháte naskenovat QR kód z nastavení serveru - ten bude obsahovat heslo serveru, takže budou moci přijímat zprávy i prostřednictvím vašeho serveru. + +_Upozornění_: pro podporu hesla je třeba mít SMP server verze 4.0. Pokud již máte nasazený server, můžete heslo přidat přidáním do souboru INI serveru. + +       diff --git a/docs/lang/cs/SIMPLEX.md b/docs/lang/cs/SIMPLEX.md new file mode 100644 index 0000000000..ea82581214 --- /dev/null +++ b/docs/lang/cs/SIMPLEX.md @@ -0,0 +1,98 @@ +| Aktualizováno 26.02.2023 | Jazyky: CZ, [EN](/docs/SIMPLEX.md), [FR](/docs/lang/fr/SIMPLEX.md) | + +# Platforma SimpleX - motivace a srovnání + +## Problémy + +Stávající chatovací platformy a protokoly mají některé nebo všechny následující problémy: + +- Nedostatek soukromí uživatelského profilu a kontaktů (soukromí metadat). +- Žádná ochrana (nebo pouze volitelná ochrana) implementací [E2EE][1] před útoky MITM prostřednictvím poskytovatele. +- Nevyžádané zprávy (spam a zneužití). +- Chybějící vlastnictví a ochrana dat. +- Složitost použití všech necentralizovaných protokolů pro netechnické uživatele. + +Koncentrace komunikace v malém počtu centralizovaných platforem činí řešení těchto problémů poměrně obtížným. + +## Navrhované řešení + +Navrhovaný zásobník protokolů řeší tyto problémy tím, že zprávy i kontakty jsou uloženy pouze v klientských zařízeních, čímž se role serverů omezuje na pouhé zprostředkovatele zpráv, kteří vyžadují pouze autorizaci zpráv odesílaných do front, ale NEvyžadují autentizaci uživatelů - chráněny jsou nejen zprávy, ale i metadata, protože uživatelé nemají přiřazeny žádné identifikátory - na rozdíl od jiných platforem. + +Více informací o cílech a technickém návrhu platformy naleznete v dokumentu [SimpleX whitepaper](https://github.com/simplex-chat/simplexmq/blob/master/protocol/overview-tjr.md). + +## Proč používat SimpleX + +## Jedinečný přístup SimpleX k ochraně soukromí a zabezpečení + +Každý by měl dbát na soukromí a bezpečnost své komunikace - i obyčejné konverzace vás mohou ohrozit. + +### Úplné soukromí vaší identity, profilu, kontaktů a metadat. + +**Na rozdíl od všech ostatních existujících platforem pro zasílání zpráv nemá SimpleX žádné identifikátory přiřazené uživatelům** - k identifikaci svých uživatelů nepoužívá telefonní čísla (jako Signal nebo WhatsApp), adresy založené na doméně (jako e-mail, XMPP nebo Matrix), uživatelská jména (jako Telegram), veřejné klíče nebo dokonce náhodná čísla (jako všechny ostatní messengery) - ani nevíme, kolik lidí SimpleX používá. + +K doručování zpráv místo identifikátorů uživatelů, které používají všechny ostatní platformy, používá SimpleX adresy jednosměrných (simplexních) front zpráv. Používání služby SimpleX je jako mít pro každý kontakt jinou e-mailovou adresu nebo telefonní číslo, ale bez starostí se správou všech těchto adres. V blízké budoucnosti budou aplikace SimpleX také automaticky měnit fronty zpráv a přesouvat konverzace z jednoho serveru na druhý, aby uživatelům poskytly ještě lepší soukromí. + +Tento přístup chrání soukromí toho, s kým komunikujete, a skrývá ho před servery platformy SimpleX a před jakýmikoli pozorovateli. Své soukromí můžete dále zlepšit nastavením přístupu k síti tak, abyste se k serverům SimpleX připojovali prostřednictvím některé překryvné transportní sítě, např. sítě Tor. + +### Nejlepší ochrana proti spamu a zneužití + +Protože na platformě SimpleX nemáte žádný identifikátor, nelze vás kontaktovat, pokud nesdílíte odkaz s jednorázovou pozvánkou nebo volitelnou dočasnou uživatelskou adresu. I v případě volitelných uživatelských adres je sice lze využít k zasílání nevyžádaných kontaktů, ale můžete je změnit nebo zcela odstranit, aniž byste přišli o jakékoli spojení. + +### Úplné vlastnictví, kontrola a zabezpečení vašich údajů + +SimpleX ukládá všechna uživatelská data v klientských zařízeních, zprávy jsou pouze dočasně uchovávány na relay serverech SimpleX, dokud nejsou přijaty. + +Používáme přenosný formát databáze, který lze použít na všech podporovaných zařízeních - brzy přidáme možnost exportovat databázi chatu z mobilní aplikace, aby ji bylo možné použít na jiném zařízení. + +Na rozdíl od serverů federativních sítí (e-mail, XMPP nebo Matrix) servery SimpleX neukládají uživatelské účty, pouze předávají zprávy příjemcům, čímž chrání soukromí obou stran. Mezi odesílaným a přijímaným provozem serveru nejsou žádné společné identifikátory ani šifrované zprávy, a to díky dodatečné vrstvě šifrování doručovaných zpráv. Pokud tedy kdokoli sleduje provoz serveru, nemůže snadno zjistit, kdo s kým komunikuje (známé útoky na korelaci provozu viz [SimpleX whitepaper](https://github.com/simplex-chat/simplexmq/blob/master/protocol/overview-tjr.md)). + +### Uživatelé vlastní síť SimpleX + +Můžete používat SimpleX s vlastními servery a přitom komunikovat s lidmi, kteří používají servery předkonfigurované v aplikacích nebo jakékoli jiné servery SimpleX. + +Platforma SimpleX používá otevřený protokol a poskytuje SDK pro vytváření chatovacích botů, což umožňuje implementaci služeb, s nimiž mohou uživatelé komunikovat prostřednictvím aplikací SimpleX Chat - opravdu se těšíme, jaké služby SimpleX bude možné vytvořit. + +Pokud uvažujete o vývoji s platformou SimpleX, ať už jde o služby chatovacích botů pro uživatele aplikací SimpleX, nebo o integraci knihovny SimpleX Chat do vašich mobilních aplikací, obraťte se na nás pro případné rady a podporu. + +## Srovnání s jinými protokoly + +| | SimpleX chat | Signal, big platforms | XMPP, Matrix | P2P protocols | +| :--------------------------------------------- | :----------------: | :-------------------: | :-------------: | :-------------: | +| Vyžaduje uživatelské identifikátory | Ne = private | Ano1 | Ano2 | Yes3 | +| Možnost MITM útoku | Žádná = bezpečné | Ano4 | Ano | Ano | Ano | +| Závislost na DNS | Ne = neumlčitelné | Ano | Ano | Ne | +| Single operator or network | Ne = decentralizované | Ano | Ne | Ano5 | +| Centrální součást nebo jiný celosíťový útok | Ne = neumlčitelné | Ano | Ano2 | Ano6 | + +1. Obvykle na základě telefonního čísla, v některých případech na základě uživatelských jmen. +2. Založeno na DNS. +3. Veřejný klíč nebo jiné globálně jedinečné ID. +4. Pokud jsou servery provozovatele kompromitovány. +5. Sítě P2P a sítě založené na kryptoměnách jsou sice distribuované, ale nejsou decentralizované - fungují jako jediná síť s jediným jmenným prostorem uživatelských adres. +6. Sítě P2P mají buď centrální autoritu, nebo může být kompromitována celá síť - viz následující část. + +## Srovnání s protokoly pro zasílání zpráv [P2P][9]. + +Existuje několik protokolů P2P pro chatování/zprávy a jejich implementací, jejichž cílem je vyřešit problém soukromí a centralizace, ale mají svůj vlastní soubor problémů, kvůli kterým jsou méně spolehlivé než navrhovaný návrh, složitější na implementaci a analýzu a zranitelnější vůči útokům. + +1. Sítě [P2P][9] používají k směrování zpráv/požadavků v síti některou variantu [DHT][10]. Implementace DHT mají složité návrhy, které musí vyvažovat spolehlivost, záruku doručení a latenci. Navrhovaný návrh má lepší záruky doručení i nižší latenci (zpráva je předávána vícekrát paralelně, pokaždé přes jeden uzel, přičemž se používají servery vybrané příjemcem, zatímco v sítích P2P je zpráva předávána přes `O(log N)` uzlů postupně, přičemž se používají uzly vybrané algoritmem). + +2. Navrhovaný návrh na rozdíl od většiny sítí P2P nemá žádné globální identifikátory uživatelů, a to ani dočasné. + +3. P2P samo o sobě neřeší problém [útoku MITM][2] a většina existujících řešení nepoužívá pro počáteční výměnu klíčů zprávy mimo pásmo. Navrhované řešení využívá pro počáteční výměnu klíčů zprávy mimo pásmo nebo v některých případech již existující bezpečná a důvěryhodná spojení. + +4. Implementace P2P mohou být blokovány některými poskytovateli internetu (jako například [BitTorrent][11]). Navrhovaný návrh je transportně agnostický - může fungovat přes standardní webové protokoly a servery mohou být nasazeny na stejných doménách jako webové stránky. + +5. Všechny známé sítě P2P jsou pravděpodobně zranitelné vůči [Sybilovu útoku][12], protože každý uzel je zjistitelný a síť funguje jako celek. Známá opatření ke snížení pravděpodobnosti Sybilova útoku buď vyžadují centralizovanou složku, nebo nákladný [proof of work][13]. Navrhovaný návrh naopak nemá žádnou zjistitelnost serverů - servery nejsou propojeny, nejsou známy navzájem ani všem klientům. Síť SimpleX je fragmentovaná a funguje jako několik izolovaných spojení. To znemožňuje útoky na celou síť SimpleX - i když jsou některé servery kompromitovány, ostatní části sítě mohou fungovat normálně a postižení klienti mohou přejít na používání jiných serverů, aniž by ztratili kontakty nebo zprávy. + +6. Sítě P2P jsou pravděpodobně [zranitelné][14] vůči [útoku DRDoS][15]. V navrhovaném návrhu klienti pouze předávají provoz ze známého důvěryhodného spojení a nelze je použít k odrážení a zesilování provozu v celé síti. + +[1]: https://en.wikipedia.org/wiki/End-to-end_encryption +[2]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack +[9]: https://en.wikipedia.org/wiki/Peer-to-peer +[10]: https://en.wikipedia.org/wiki/Distributed_hash_table +[11]: https://en.wikipedia.org/wiki/BitTorrent +[12]: https://en.wikipedia.org/wiki/Sybil_attack +[13]: https://en.wikipedia.org/wiki/Proof_of_work +[14]: https://www.usenix.org/conference/woot15/workshop-program/presentation/p2p-file-sharing-hell-exploiting-bittorrent +[15]: https://en.wikipedia.org/wiki/Denial-of-service_attack#Reflected_attack diff --git a/docs/lang/cs/SQL.md b/docs/lang/cs/SQL.md new file mode 100644 index 0000000000..0315cba3f1 --- /dev/null +++ b/docs/lang/cs/SQL.md @@ -0,0 +1,55 @@ +| Aktualizováno 26.02.2023 | Jazyky: CZ, [EN](/docs/SQL.md), [FR](/docs/lang/fr/SQL.md) | + +# Přístup ke zprávám v databázi + +## Dešifrování databází + +Chcete-li zobrazit data v databázi, musíte je nejprve dešifrovat. Nainstalujte `sqlcipher` pomocí svého oblíbeného správce balíčků a v adresáři s databázemi spusťte následující příkazy: +```bash +sqlcipher files_chat.db +pragma key="youDecryptionPassphrase"; +# Ujistěte se, že vše funguje správně +select * from users; +``` + +Pokud se zobrazí `Parse error: no such table: users`, ujistěte se, že jste zadali správnou přístupovou frázi a že jste ji v aplikaci pro Android změnili z náhodné (pokud jste tuto databázi získali ze zařízení s Androidem, samozřejmě). + +## SQL dotazy + +Můžete spouštět dotazy proti `direct_messages`, `group_messages` a `all_messages` (nebo jejich jednodušším alternativám `direct_messages_plain`, `group_messages_plain` a `all_messages_plain`), např: + +```sql +-- tato nebo vámi preferovaná nastavení můžete vložit do souboru ~/.sqliterc +-- aby přetrvaly napříč relacemi klienta sqlite3 +.mode column +.headers on +.nullvalue NULL + +-- jednoduché pohledy na direct, group a all_messages +-- s deduplikací uživatelských zpráv pro group a all_messages; +-- pouze události chatu 'x.msg.new' ("nová zpráva") - filtruje události služby; +-- msg_sent je 0 pro přijaté, 1 pro odeslané +select * from direct_messages_plain; +select * from group_messages_plain; +select * from all_messages_plain; + +-- dotaz na další podrobnosti historie chatu pomocí běžného SQL, například: +-- soubory, které jste nabídli k odeslání +select * from direct_messages where msg_sent = 1 and chat_msg_event = 'x.file'; +-- vše, co catherine poslala v souvislosti s kočkami +select * from direct_messages where msg_sent = 0 and contact = 'catherine' and msg_body like '%cats%'; +-- veškerá korespondence s alice v #teamu +select * from group_messages where group_name = 'team' and contact = 'alice'; + +-- shrňte data z chatu +select contact_or_group, num_messages from ( + select + contact as contact_or_group, count(1) as num_messages + from direct_messages_plain group by contact + union + select + group_name as contact_or_group, count(1) as num_messages + from group_messages_plain group by group_name +) +order by num_messages desc; +``` diff --git a/docs/lang/cs/TRANSLATIONS.md b/docs/lang/cs/TRANSLATIONS.md new file mode 100644 index 0000000000..6f22f823dc --- /dev/null +++ b/docs/lang/cs/TRANSLATIONS.md @@ -0,0 +1,58 @@ +| Aktualizováno 26.02.2023 | Jazyky: CZ, [EN](/docs/TRANSLATIONS.md) | + +# Přispívání překladů do SimpleX Chat + +Obrovské díky za váš zájem o překlady SimpleX Chat - velmi nám to pomáhá zpřístupnit jej širšímu okruhu uživatelů a vaší pomoci si opravdu vážíme. + +Vyžaduje to značnou časovou investici - většina lidí ji zpočátku podceňuje - a průběžnou údržbu v průběhu vývoje aplikace. + +Tento dokument vznikl proto, abychom tento proces urychlili, a podělili se s vámi o některé důležité "háčky", které jsme objevili při práci s Weblate - platformou, kterou používáme pro překlady rozhraní. + +## Než začnete překládat + +1. Vytvořte si účet na Weblate a použijte stejný e-mail, který používáte na GitHubu - díky tomu budou vaše příspěvky spojeny s vaším účtem na GitHubu a v některých případech vám to může pomoci. Jakmile bude překlad uvolněn pro uživatele, přidáme jméno vašeho účtu do [seznamu překladatelů](https://github.com/simplex-chat/simplex-chat#translate-the-apps). + +2. Před zahájením překladu je třeba podepsat jednoduchou smlouvu s přispěvatelem prostřednictvím Weblate - to proto, aby se předešlo případným konfliktům kolem práv duševního vlastnictví. + +3. Můžeme vás také přidat do skupiny překladatelů pro případné dotazy a aktualizace - spojte se se mnou přes chat. + +## Průběh překladu + +1. Začněte prosím od [aplikace pro Android](https://hosted.weblate.org/projects/simplex-chat/android/), a to jak při časově nejnáročnějším počátečním překladu, tak při pozdějším přidávání případných řetězců. Za prvé, řetězce pro iOS se mohou ve Weblate objevit s určitým zpožděním, protože to od nás vyžaduje ruční krok, než se zobrazí. Zadruhé, aplikace Android je nastavena jako slovník pro aplikaci iOS a 2/3 všech řetězců vyžadují jen kliknutí pro jejich převod z Androidu do iOS (to ještě nějakou dobu trvá, Weblate to bohužel neautomatizuje). + +2. Některé řetězce není třeba překládat, ale přesto je třeba je překopírovat - v uživatelském rozhraní Weblate je k tomu tlačítko: + +weblate: zkopírovat zdroj do překladu + +3. Weblate má také automatické návrhy, které mohou proces urychlit. Někdy je lze použít tak, jak jsou, jindy je třeba je upravit - kliknutím je použijete v překladu. + +4. Jakmile jsou všechny řetězce v aplikaci pro Android přeloženy, zkontrolujte je, abyste zajistili konzistentní styl a jazyk, aby se pro podobné uživatelské akce důsledně používala stejná slova jako v angličtině. Někdy budete muset použít různá slova v případech, kdy angličtina má jen jedno, snažte se prosím tyto volby používat důsledně v podobných kontextech, aby to bylo pro koncové uživatele jednodušší. + +5. Při překladu [aplikace pro iOS](https://hosted.weblate.org/projects/simplex-chat/ios/) je velká část řetězců naprosto stejná - lze je jedním kliknutím překopírovat do sekce glosář. Vizuální nápovědou, že to lze provést, je to, že celý zdrojový řetězec je zvýrazněn žlutě. Mnoho dalších řetězců je velmi podobných, liší se pouze syntaxí interpolace nebo způsobem použití tučného písma - vyžadují minimální úpravy. Existují některé řetězce, které jsou jedinečné pro platformu iOS - ty je třeba přeložit zvlášť. + +weblate: automatické návrhy + +## Po dokončení překladu + +Jakmile budou aplikace pro Android i iOS přeloženy, dejte nám prosím vědět. + +My pak: + - zkontrolujeme všechny překlady a navrhneme případné opravy - to také zabere trochu času :) + - sloučíme je do zdrojového kódu - během toho bude weblate uzamčen pro změny. + - vytvoříme beta verze aplikací pro iOS i Android - můžeme vás také přidat do interních skupin testerů, abyste mohli aplikace instalovat dříve než ostatní. + - Vydáme ji pro naše uživatele beta verzí - jedná se o více než tisíc lidí, kteří používají naše beta verze. + - Vydání aplikace a uvedení nového jazyka v oznámení. + +*Upozornění*: pokud je to možné, snažíme se zachovat konzistentní funkce aplikace mezi platformami Android a iOS, takže nový jazyk vydáme a oznámíme, až budou obě platformy přeloženy. Neznamená to, že to musíte udělat vy, ale budeme muset počkat, až druhou platformu přeloží někdo jiný. Pokud ale začnete od Androidu, přidání iOS obvykle trvá 3-4x kratší dobu. + +## Co bude dál + +1. Jakmile budeme aplikaci aktualizovat, zveřejníme aktualizace ve skupině překladatelů. Nemáte absolutně žádnou povinnost tyto dodatečné řetězce překládat. Nesmírně si však vážíme toho, pokud tak učiníte, protože uživatelé mají mnohem lepší zážitek, když jsou závislí na vašich překladech, než když nějaká nová část aplikace přeložena není. + +2. Adopci ve vaší zemi / jazykové skupině můžete pomoci také překládáním našich dokumentů - právě jsme s tím začali - a také obsahu našich webových stránek. Objevilo se mnoho žádostí o to a v současné době přidáváme překladový rámec pro webové stránky. + +3. Také pokud chcete být moderátorem/adminem skupiny uživatelů ve vašem jazyce, jakmile bude aplikace přeložena, můžeme takovou skupinu hostit - připravujeme komunitní směrnice a přidáváme do aplikace některé moderátorské nástroje, které budou vydány v březnu ve verzi v5. + +Ještě jednou děkujeme, že nám pomáháte rozvíjet SimpleX Chat! + +Evgeny, zakladatel SimpleX Chat. diff --git a/docs/lang/cs/WEBRTC.md b/docs/lang/cs/WEBRTC.md new file mode 100644 index 0000000000..c48f804987 --- /dev/null +++ b/docs/lang/cs/WEBRTC.md @@ -0,0 +1,142 @@ +| Aktualizováno 26.02.2023 | Jazyky: CZ, [EN](/docs/WEBRTC.md), [FR](/docs/lang/fr/WEBRTC.md) | + +# Použití vlastních serverů WebRTC ICE v SimpleX Chat + +## Nasazení serveru STUN/TURN + +V tomto průvodci budeme používat nejvybavenější a nejosvědčenější implementaci serveru STUN/TURN - [`coturn`](https://github.com/coturn/coturn) a [`Ubuntu 20.04 LTS`](https://ubuntu.com/download/server) distribuci Linuxu. + +0. Získejte certifikáty `stun.$Vaše_doména` a `turn.$Vaše_doména`. + + Používáme [Let's Encrypt](https://letsencrypt.org/getting-started/). + +1. Nainstalujte balíček `coturn` z hlavního repozitáře. + +```sh +apt update && apt install coturn`. +``` + +2. Odkomentujte `TURNSERVER_ENABLED=1` z `/etc/default/coturn`: + +```sh +sed -i '/TURN/s/^#//g' /etc/default/coturn +``` + +3. Konfigurace `coturn` v souboru `/etc/turnserver.conf`: + + Viz také komentáře k jednotlivým volbám. + +```sh +# Naslouchejte také na portu 443 pro tls. +alt-tls-listening-port=443 +# Použijte otisky prstů ve zprávách TURN +fingerprint +# Použijte mechanismus dlouhodobých pověření +lt-cred-mech +# Vaše pověření +user=$YOUR_LOGIN:$YOUR_PASSWORD +# Vaše doména serveru +server-name=$YOUR_DOMAIN +# Výchozí sféra, která bude použita pro uživatele, pokud nebyl nalezen explicitní vztah origin/realm +realm=$YOUR_DOMAIN +# Cesta k vašim certifikátům. Ujistěte se, že jsou čitelné pro proces cotun user/group +cert=/var/lib/turn/cert.pem +pkey=/var/lib/turn/key.pem +# Použijte 2066 bitů předdefinovaného DH klíče TLS +dh2066 +# Přihlaste se do journalctl +syslog +# Uživatel/skupina, která bude provozovat službu coturn +proc-user=turnserver +proc-group=turnserver +# Zakázat slabé šifrování +no-tlsv1 +no-tlsv1_1 +no-tlsv1_2 +``` + +4. Spusťte a povolte službu `coturn`: + +```sh +systemctl enable coturn && systemctl start coturn +``` + +5. Pokud používáte firewall `ufw`, otevřete případně příslušné porty: + +- **3478** - "obyčejný" TURN/STUN; +- **5349** - TURN/STUN přes TLS; +- **443** - TURN/STUN přes TLS, který může obejít brány firewall; +- **49152:65535** - rozsah portů, který bude společnost Coturn ve výchozím nastavení používat pro přenos TURN. + +```sh +ufw allow 3478 && \ +ufw allow 443 && \ +ufw allow 5349 && \ +ufw allow 49152:65535/tcp && \ +ufw allow 49152:65535/udp +``` + +## Konfigurace mobilních aplikací + +Konfigurace mobilní aplikace pro použití vašeho serveru: + +1. Otevřete `Nastavení / Síť a servery / WebRTC ICE servery` a přepněte přepínač `Konfigurovat ICE servery`. + +2. Do pole zadejte všechny adresy serverů, jednu na řádek, například pokud máte servery na portu 5349: + +``` +stun:stun.example.com:5349 +turn:username:password@turn.example.com:5349 +``` + +To je vše - nyní můžete uskutečňovat audio a video hovory prostřednictvím vlastního serveru, aniž byste s našimi servery sdíleli jakákoli data (kromě výměny klíčů s kontaktem v šifrovaných zprávách E2E). + +## Řešení problémů + +- **Zjistěte, zda je server dostupný**: + + Spusťte tento příkaz v terminálu: + + ```sh + ping + ``` + + Pokud jsou pakety přenášeny, server je v provozu! + +- **Zjistěte, zda jsou otevřené porty**: + + Spusťte tento příkaz v terminálu: + + ```sh + nc -zvw10 443 5349 + ``` + + Měli byste vidět: + + ``` + Připojení k portu 443 [tcp/https] se podařilo! + Připojení k 5349 port [tcp/*] uspělo! + ``` + +- **Test připojení STUN/TURN**: + + 1. Přejděte na [IceTest](https://icetest.info/). + + 2. Do části **Sestavit seznam serverů ICE** přidejte: + + . + + - `STUN: stun::` a stiskněte `Add STUN`. + - `TURN: turn::`, `Username: `, `Credential: ` a stiskněte `Add TURN` + + Kde `` je 443 nebo 5349. + + 3. Měli byste vidět své servery v sekci **ICE server list**. Pokud je vše správně nastaveno, stiskněte `Start test`: + + + + 4. V části **Výsledky** byste měli vidět něco takového: + + + + Pokud výsledky zobrazují kandidáty `srflx` a `relay`, je vše nastaveno správně!