Matrix prakticky

Z Wikiknih

Následující text se věnuje používání federalizované sítě založené na protokolu Matrix ke komunikaci zahrnující zasílání okamžitých zpráv jednotlivcům i skupinám včetně informace o přečtení, audio či video hovory, sdílení souborů, .. a to vše při možnosti šifrovat na úrovni koncových zařízení.

Matrix - logo

První krok - vytvoření uživatelského účtu[editovat | editovat zdroj]

Podobně jako u e-mailu, i zde máte možnosti založit si účet na některém z veřejných domovských serverů (případně provozovat jako organizace nebo jednotlivec vlastní) a zvolit si klienta, kterého použijete pro samotnou výměnu zpráv, komunikaci.

bleskově[editovat | editovat zdroj]

Riot - vytvoření účtu
  1. využít veřejného webového klienta Element a v něm kliknout na tlačítko "Vytvořit účet"
    • (oficiálně je podporován pouze Firefox a Chrome, ale fungují i další prohlížeče)
  2. předvolby v dialogu nechat beze změn, vyplnit pouze uživatelské jméno a heslo, případně také e-mail (využije se při zapomenutí hesla) a kliknout na "Zaregistrovat"
  3. proběhne kontrola, zda nejste robot a bude potřeba odsouhlasit podmínky využívání domovského serveru (matrix.org)
  4. v následně spuštěném klientovi zcela nahoře:
    • vyhovět či zamítnout prosbu o sledování uživatelského chování
      • (Využívá se pro další vývoj aplikace. Lze později změnit v nastavení.)
    • povolit desktopová upozornění - komunikační aktivity budou signalizovány i z neaktivního okna Elementu. Vhodné povolit
      Riot - povolení upozorňování

informovaně[editovat | editovat zdroj]

Předchozí návod využíval domovský server Synapse a server s webovou verzí klientské aplikace Element, obojí jako referenční zaštítěné nadací Matrix.org. Můžete však sáhnout po jiných, případně provozovat vlastní řešení

  1. domovský server
    • veřejný - je nejsnazší variantou, s volbou pomůže neoficiální seznam[1]
      • nejčastěji využívaný je magrix.org, občas však bývá přetížený. Chcete-li jej tedy změnit, musíte dle předchozího obrázku kliknout na dlaždici "Pokročilé", kde pak např. pro converser.eu je třeba zadat https://converser.eu/
    • vlastní server - v tomto případě je třeba získat adresu od kolegů či technické podpory vaší organizace
  2. klient (seznam a podrobný seznam) může běžet jako
    • nainstalovaná aplikace
    • webová služba běžící v internetovém prohlížeči
      • patrně neexistuje seznamu veřejných klientů, běžně se používá app.element.io viz. prví krok předchozího návodu
      • má minimální nároky na správu - stačí prohlížeč, aktualizace probíhají z webové služby. Cenou je nutnost důvěřovat provozovateli služby a bezpečnému spojení k ní

vyplnění uživatelského jména nezadá-li se e-mail, varován, že nepůjde obnovit heslo následuje kontrola, zda nejste robot (reCaptcha) odsouhlasení podmínek domovského serveru. Účet je vytvořen (na matrix.org) a prohlížeč je do něj přepnut Zcela nahoře se objeví - prosba o zapojení do sledování uživatelského chování (lze později změnit v nastavení) - a výzva k povolení upozorňování na události prostřednictvím operačního systému. Je vhodné povolit

Použití[editovat | editovat zdroj]

Riot - rozhraní
  • uživatelské rozhraní je poměrně intuitivní, obsahuje však množství drobných ovládacích prvků, z nichž některé se projeví až při interakci s myší. Na sousedním obrázku si všimněte např.
    • šipky za jménem uživatele "ukazka" - předvolby a uživatelský profil
    • dole v editačním poli formátovacích tlačítek nad vybraným textem
    • času vlevo do příspěvků, který je zároveň permanentním odkazem
    • kliknutí na ikonu uživatele u příspěvku zobrazí podrobné informace k osobě (lze tak zjistit i poslední návštěvu/přečtení zprávy)
    • "zmínění" uživatele kliknutím na jeho jméno v záhlaví příspěvku
  • přímé zprávy/chat
    • kliknout na "+" vpravo od sekce "PŘÍMÉ ZPRÁVY"
      Riot - vyhledání adresáta
      a vyhledat adresáta
      • nejspolehlivěji zadáním úplného uživatelského jméno (např. @ukazka:matrix.org) nebo vyhledáním částí řetězce.
      • můžete také zkusit e-mail nebo telefonní číslo (jako u Signálu či Telegramu). Spojí vás za předpokladu, že adresát své číslo zveřejnil na serveru identit (vector.im), ne-li, bude zaslána e-mailová pozvánka (využití této služby je potřeba odsouhlasit)
    • po přijetí výzvy protistranou můžete začít komunikovat (textem, obrázky, hlasově, videohovorem,..). Formátovat lze buď tlačítky po označení upravovaného textu (viz. předchozí obrázek), nebo použít značkovací jazyk Markdown
  • místnost/skupinový chat
    Riot - vyhledání místnosti
    • prohlížet/připojit existující místnost
      • kliknout na "Prohlížet" a ve formuláři zadat hledaný název. Všimněte si možnosti změnit rozsah vyhledávání
      • v případě, že jste do místnosti pozváni, stačí akceptovat výzvu
    • přidání místnosti
      • kliknout na "+" vpravo od sekce "MÍSTNOSTI"
      • následně je třeba vyplnit název případně téma, zda má být místnost veřejná a v pokročilých volbách lze omezit okruh uživatelů jen na ty se stejným domovským serverem, jako máte vy (tato volba je nevratná)
        • nastavení "Kdokoliv" pod "Kdo může číst historii?" umožní komukoliv vidět obsah, aniž by musel do místnosti vstoupit
      • možnost pozvat účastníky se skrývá pod ikonkou "Členové" (pátá vpravo nahoře) a tlačítkem "Pozvat do této místnosti"

Přizvání účastníka[editovat | editovat zdroj]

Ať již chcete přizvat účastníka do místnosti nebo s ním konverzovat soukromě formou přímých zpráv, v obou případech budete vyzváni k zadání/vyhledání jeho uživatelského jména, nebo jej můžete oslovit pomocí e-mailu. Vstupními body jsou pro:

  • místnost - vpravo nahoře tlačítko "Pozvat do této místnosti", máte-li zobrazen seznam členů (drobná ikonka figurky též vpravo nahoře)
  • přímé zprávy - vlevo na začátku sekce "Lidé" (dříve "Přímé zprávy") ikona "+" (= Zahájit konverzaci)

Tip: Do patičky/podpisu odesílaných listin či e-mailů můžete přidat odkaz na svou matrixovou adresu. Naleznete jej jako vaše modře zvýrazněné jméno výše uvedených dialogů. Stačí jen zkopírovat a dle potřeby použít. Příjemce odkaz nasměruje na webovou stránku s informacemi pro nováčky.

Cíle a výzvy[editovat | editovat zdroj]

  • aktivované koncové šifrování již ve výchozím nastavení (primární projekt)[2]
  • atraktivní srozumitelné rozhraní srovnatelné s populárními aplikacemi této třídy (Slack, Discord, WhatsApp, ..)[3][4][5][6] přitažlivé již na první dojem a funkčně obdobné[7]
  • být důvěryhodnou svobodou alternativou a zároveň překračovat omezení ostatních
    • Slack
      • chybějící informace o přečtení protistranou[8]
      • limit 10 tisíc zpráv a 32 účtů[9]
      • omezená historie zpráv[10]
      • problémy s phishing útoky[11]
  • vytvořit otevřený a decentralizovaný ekosystém výměny zpráv
    • je velmi pracnou, znalostně i organizačně náročnou záležitostí, což se odráží na pomalejším postupu ve srovnání s o rok starším Slackem či o rok mladším Discordem[12]

Propojení[editovat | editovat zdroj]

Matrix umožňuje skrze API nastavení tzv. bridge/přemostění s jinými komunikačními službami, např. Slackem, Telegramem a celou řadou dalších.[13] To znamená, že zprávy od uživatelů připojených do místnosti na Matrixu se automaticky přeposílají do skupiny na Telegramu, a naopak. Samotných propojení existuje celá řada typů[14] a jejich použití (máte-li je na implementovány) obecně obnáší

Integrace místnosti a boti[editovat | editovat zdroj]

Do místností na Matrixu lze přidávat různé další boty, kteří zajistí integrace s externími službami. Jednoduchým příkladem je např. vkládání příspěvků o nových položkách ve vybraném RSS feedu. Nastavení skrze klienta Element (ať už ve webovém prohlížeči nebo dekstopové verzi klienta) probíhá následovně:

  1. Otevřete klienta Element.
  2. Otevřete místnost, do které chcete integraci přidat.
  3. Vpravo nahoře klepněte na ikonu Správa integrací (čtyři čtverečky).
  4. V otevřeném okně ze zobrazí výběr integrací, které podporuje přímo server. Typicky tam najdete stickery, emodži, obrázky nebo RSS.
  5. Vyberte a nastavíte požadovanou integraci. V případě RSS kanálu je to vložení jeho URL adresy.

Pokud server nemá integrace nastavitelné výše uvedeným způsobem, tzn. nainstalované globálně, opět lze využít instance botů od jejich autorů (nebo self-hostované), které je pak možné přidat do jednotlivých místností jako běžné uživatele. Výběr některých najdete např. na t2bot.io.

Následují poznámky k některým z nich

Gitter[editovat | editovat zdroj]

Pro Gitter existuje hlavním týmem udržované[15] řešení[16], přesto pro jednoduchou výměnu zpráv mezi službami postačuje. Jeho zprovoznění obnáší:

  • krok 1
  • krok 2

IRC[editovat | editovat zdroj]

udržováno hlavním týmem[15]

Messenger[editovat | editovat zdroj]

K výběru je ze dvou řešení[17]

matrix-appservice-facebook[editovat | editovat zdroj]

Základní popis[18] a seznam podporovaných funkcí.

mautrix-facebook[editovat | editovat zdroj]

Základní popis[19] a seznam podporovaných funkcí. Návod na připojení pomocí hesla vede celkem spolehlivě k nutnosti změnit heslo k Messengeru/Facebooku, tudíž je jistější rovnou použít variantu pomocí přihlašovacích cookies (na příkaz login-cookie bot odpoví průvodcem nastavení. Před spuštěním je ještě dobré provést příkaz set-ua <user agent>, kde za proměnnou vložíte do uvozovek ` ` hodnotu, kterou vám prohlížeč vrátí po otevření adresy https://maunium.net/ua/nebo napsání textu "what is my user agent" do vyhledávacího řádku prohlížeče).

omezení

  • nelze použít pro víceuživatelskou místnost, ale jako jednotlivec mohu být součástí skupinového chatu na Messangeru

Slack[editovat | editovat zdroj]

Zde je k dispozici oficiálně podporované[15] řešení s bohatou řadu funkcí.[20] Pro nasazení je potřeba:

  • oficiální návod (a jeho aktualizace)
    • je důležité použít odkaz z prvního kroku aktualizovaného návodu, protože v třetím kroku umožní vytvořit Legacy Bot User, čímž aplikaci automaticky získá celou řadu oprávnění (Scopes), které by bylo jinak třeba nastavovat manuálně
    • rozhodně není vhodné aplikaci aktualizovat na nový přístup Slacku k oprávněním (Scopes). Což lze provést např. v levém pruhu v sekci Features položkou OAuth & Permissions, která vpravo v sekci Scopes nabízí tlačítko Update Scopes . V prvním kroku průvodce jsou oprávnění rozčleněna na tři skupiny, kde ve výchozím nastavení je povoleno pro:
      • Special scopes for bots - nic (> vše)
      • Scopes that cover what your app currently has access to through the bot token - vše (OK)
      • New scopes that are now available for bots - nic (> vše)
    • Byť jsou následné kroky ponechány na předvolbách (případně i předchozí) a dokončena instalace (= čtvrtý krok návodu), spojení Matrix <> Slack přestane fungovat (možná vyžaduje úpravu nastavení bridge na straně Matrix serveru)
  • nelze použít pro v Matrixu šifrovanou místnost. Zprávy ze Slacku jdou doručeny, ale opačným směrem už ne. V Matrixu je zašifrování místnosti nevratným krokem, tudíž místnost bude nutné vytvořit znovu, stejně jako pozvat účastníky
  • ve Slacku lze k jednotlivým zprávám vytvořit diskuzní vlákno, tudíž detailněji rozebírané jednotlivé témata nezatěžuje hlavní diskuzní prostor kanálu. Matrix tuto vlastnost nemá a jednotlivé zprávy ve vláknu interpretuje jako odpověď na zprávu bezprostředně předcházející (je ocitována). Tím se ztrácí přehled, kdy došlo k odskoku do vlákna a všechny zprávy se slévají v jednom proudu

pojmy (Matrix x Slack)

  • místnost xx kanál

SmsMatrix[editovat | editovat zdroj]

Dělá to, co napovídá název - posílá a přijímá SMS prostřednictvím sítě Matrix a na mobilu nainstalované Android aplikace. Návod na zprovoznění vyžaduje, abyste si na důvěryhodném (přenášené zprávy zůstávají nešifrované[21]) domovském server vytvořili účet pro osobního SMS bota a na mobilu nainstalovali a nakonfigurovali příslušnou aplikaci. Test funkčnosti lze provést zasláním SMS na své vlastní číslo.

Ověření přihlášení mobilní aplikace se provádí z webového klienta pod účtem osobního SMS bota (např. v anonymním oknu prohlížeče), kde pod Nastavení > Zabezpečení sekce "Kde jste přihlášení" vidět stav, konkrétně ve sloupcích ID a "Veřejné jméno" je hodnota zadaná jako Devicename, "Naposledy aktivní" uvádí IP adresu a čas posledního přihlášení. Aktuální údaje signalizují úspěšné připojení.

Vedlejším efektem použití je dlouhodobá historie volání s konkrétní osobou, neboť bot i o těchto událostech posílá informaci.

Řešení problémů[editovat | editovat zdroj]

  • občas se lze potkat s nepřipojením mobilní aplikace k účtu bota a to obvykle po restartu mobilu (detekce viz. ověření přihlášení nebo zasláním SMS sobě - zpráva není botem přečtena a nedorazí).[pozn. 2]
    • problémem může být uspávání z důvodu snížení spotřeby energie. Vyřazení se provádí pod Settings > Device > Battery > pod nastavením "Battery optimalizaiton" > (odsouhlasit případné upozornění STAMINA) > karta APPS > najít SmsMatrix a zatrhnout (následně bude vidět i pod kartou "NOT OPTIMALIZED"
    • z nějakého důvodu se mobil nedomluví s Matrix serverem (přetížení serveru, problémy s konektivitou, ..). Pomůže nové připojení/restart aplikace, které lze provést pod Settings > Device > Apps nalezením aplikace SmsMatrix, kde po otevření je k dispozici tlačítko "FORCE STOP" a potvrzením vobly. Aplikaci pak stačí spustit běžný způsobem, což se projeví chvilkovým probliknutím textu "service starting:". Nedojde-li k aktualizaci času posledního přihlášení, je potřeba postup zopakovat

Telegram[editovat | editovat zdroj]

V případě mostu Matrix-Telegram můžete použít mautrix-telegram,[22] případně využít služby běžící na t2bot.io, kde je k dispozici autorův návod nastavení.[23]

Bot je open source pod AGPL, napsaný v Pythonu (viz GitHub), a lze jej samozřejmě nainstalovat na vlastní server.

Pozn.: Při nastavení i následném fungováním s t2bot.io jako bridgem mezi místnostmi na Telegramu a serveru matrix.org byly občas pozorovány pomalé reakce bota při úvodním nastavení a delší prodlevy při propisování zpráv z jedné služby na druhou. Podle dostupných informací není problém na straně bota, ale v přetíženém serveru matrix.org.

XMPP[editovat | editovat zdroj]

udržováno hlavním týmem[15]

Pojmy[editovat | editovat zdroj]

  • domovský server -
  • server identit (vector.im)
  • Matrix.to is a simple stateless URL redirecting service which lets users share links to entities in the Matrix.org ecosystem without being tied to any specific app.[24]
  • místnost
  • obnovovací klíč
    • příklad EsTT P4QP EUmD oaYx XQF2 9BFq Qakf FaSs biUU Fnpm WkmC 1Lb2
  • přímá zpráva/chat
  • skupina
  • bridge / přemostění
  • bot

Poznámky[editovat | editovat zdroj]

  1. ICT specialistům a technologickým nadšencům je určena vývojářská instance, která se aktualizace na nový kód dožaduje i několikrát denně.
  2. Sledovaná instance serveru však vykazuje podezřelé chování při přihlašování (často se objevuje "Neplatná odpověď při hledání domovského serveru", dlouhá latence při následné komunikaci, někdy nutnost proces zopakovat)

Reference[editovat | editovat zdroj]

  1. Frequently Asked Questions [online]. The Matrix.org Foundation C.I.C., [cit. 2020-03-11]. Kapitola How do I get an account and get started?. Dostupné online.
  2. Welcoming Mozilla to Matrix!. Matrix.org [online]. The Matrix.org Foundation C.I.C., 2019-12-19 [cit. 2020-06-28]. "getting E2E Encryption enabled by default". Dostupné online. (en)
  3. Towards open governance for Matrix.org. Matrix.org [online]. The Matrix.org Foundation C.I.C., 2018-06-20 [cit. 2020-06-28]. "..we need to provide a viable alternative..". Dostupné online. (en)
  4. The 2018 Matrix Holiday Special!. Matrix.org [online]. The Matrix.org Foundation C.I.C., 2018-12-25 [cit. 2020-06-28]. "..to provide a genuinely open and decentralised mainstream alternative..". Dostupné online. (en)
  5. New Vector raises $8.5M to accelerate Matrix/Riot/Modular. Matrix.org [online]. The Matrix.org Foundation C.I.C., 2019-10-10 [cit. 2020-06-27]. "..a credible alternative to with the likes of Slack and WhatsApp..". Dostupné online. (en)
  6. Welcoming Mozilla to Matrix!. Matrix.org [online]. The Matrix.org Foundation C.I.C., 2019-12-19 [cit. 2020-06-28]. "..for Riot to have as good if not better UX than the likes of Slack or Discord.". Dostupné online. (en)
  7. Status partners up with New Vector, fueling decentralised comms and the Matrix ecosystem!. Matrix.org [online]. The Matrix.org Foundation C.I.C., 2018-01-29 [cit. 2020-06-28]. "achieving feature parity with Slack/Discord and friends". Dostupné online. (en)
  8. Matrix & Riot for Cryptocurrency Communities. Matrix.org [online]. The Matrix.org Foundation C.I.C., 2017-09-19 [cit. 2020-06-28]. "Read receipts!". Dostupné online. (en)
  9. Matrix.org (@matrix@mastodon.matrix.org). Matrix.org's Mastodon [online].  [cit. 2020-06-27]. "I wish more open source communities..". Dostupné online. (en)
  10. Matrix.org (@matrix@mastodon.matrix.org). Matrix.org's Mastodon [online].  [cit. 2020-06-27]. "Trying to archive slack..". Dostupné online. (en)
  11. Matrix & Riot for Cryptocurrency Communities. Matrix.org [online]. The Matrix.org Foundation C.I.C., 2017-09-19 [cit. 2020-06-28]. "Slack has very limited support for avoiding this sort of abuse..". Dostupné online. (en)
  12. New Vector raises $8.5M to accelerate Matrix/Riot/Modular. Matrix.org [online]. The Matrix.org Foundation C.I.C., 2019-10-10 [cit. 2020-06-27]. "All in all, it’s great..". Dostupné online. (en)
  13. Bridges. Matrix.org [online].  [cit. 2020-06-11]. Dostupné online. (en)
  14. HODGSON, Matthew. How do I bridge thee? Let me count the ways.... Matrix.org [online]. The Matrix.org Foundation C.I.C., 2017-03-11 [cit. 2020-05-20]. Dostupné online. (en)
  15. 15,0 15,1 15,2 15,3 Matrix.org. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-06-27], dlaždice "Bridging". Dostupné online. (en)
  16. matrix-appservice-gitter. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-20]. Dostupné online. (en)
  17. Bridges. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-06-28]. Dostupné online. (en)
  18. matrix-appservice-facebook. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-06-28]. Dostupné online. (en)
  19. mautrix-facebook. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-06-28]. Dostupné online. (en)
  20. matrix-appservice-slack. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-20]. Dostupné online. (en)
  21. SmsMatrix. repozitář [online]. 2020-07-01 [cit. 2020-07-01]. "As currently there is no end-to-end encryption implemented in this app..". Dostupné online.
  22. mautrix-telegram. Matrix.org [online]. The Matrix.org Foundation C.I.C. [cit. 2020-05-20]. Dostupné online. (en)
  23. t2bot.io - Telegram Bridge. t2bot.io [online]. TravisR [cit. 2020-05-20]. Dostupné online.
  24. [matrix] [online]. The Matrix.org Foundation C.I.C., [cit. 2020-03-11]. Kapitola Create shareable Matrix links. Dostupné online.

zbytky/k zapracování[editovat | editovat zdroj]