SimpleX-Chat/docs/lang/cs/WEBRTC.md
M Sarmad Qadeer f97a1fcedf
website: add docs to website (#2080)
* website: add fontmatter & improve image URLs where necessary

* website: add docs to website

* website: add prismjs for code highlighting

* website: change npm install position in web.sh

* website: fix an image URL in lang/cs/README.md

* website: improve image paths in lang/cs/translations.md

* website: add responsiveness & improve stylings of docs

* website: add dir to navbar in blog & docs

* website: remove scroll in mobile dropdown menu

* website: remove rfcs & add guide docs to website

* website: remove file renaming script from web.sh

* website: add menu to docs in nav

* website: add hash list & add scroll to headers

* website: customize docs frontmatter through JS

* website: remove supported_languages.json

* website: move merge_translations.js to JS folder

* website: add the following changes to docs
- add frontmatter to new doc merged from master
- add ignoreForWeb property to frontmatter of README.md docs

* website: remove package-lock.json from .gitignore

* website: add package-lock.json from .gitignore

* website: add no docs message to docs dropdown

* website: improve the sidebar of docs

* website: add revision date to docs

* website: add script to add version to docs frontmatter

* website: add layout to display message in docs if its version is old

* website: improve nav responsiveness

* website: remove frontmatter form main README & rfcs

* website: remove rfcs from website folder

* website: add ignore condition for rfcs in .eleventy

* website: remove frontmatter from lang README docs

* website: remove README from website's lang docs

* website: add guides menu in nav

* website: following changes
- add docs_dropdown.json
- extend reference menu in nav
- remove docs menu from nav

* website: fix in docs sidebar

* website: revert main docs README.md files

* website: revert main docs README.md files

* website: move scripts out of js that are for build

* website: remove displayAt form guide docs

* website: create a docs_sidebar.json & shift to that approach

* update navigation

* website: set navbar

* website: add icons to external links

* website: change the approach for docs sidebar creation

* website: update docs template

* website: add some strings to en.json and map them accordingly

* remove icon

---------

Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
2023-04-30 22:31:23 +01:00

4.3 KiB

title revision
Použití vlastních serverů WebRTC ICE v SimpleX Chat 31.01.2023

| Aktualizováno 31.01.2023 | Jazyky: CZ, EN, FR |

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 a Ubuntu 20.04 LTS distribuci Linuxu.

  1. Získejte certifikáty stun.$Vaše_doména a turn.$Vaše_doména.

    Používáme Let's Encrypt.

  2. Nainstalujte balíček coturn z hlavního repozitáře.

apt update && apt install coturn`.
  1. Odkomentujte TURNSERVER_ENABLED=1 z /etc/default/coturn:
sed -i '/TURN/s/^#//g' /etc/default/coturn
  1. Konfigurace coturn v souboru /etc/turnserver.conf:

    Viz také komentáře k jednotlivým volbám.

# 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
  1. Spusťte a povolte službu coturn:
systemctl enable coturn && systemctl start coturn
  1. 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.
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:

    ping <vaše_ip_nebo_doména>
    

    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:

    nc -zvw10 <vaše_ip_nebo_doména> 443 5349
    

    Měli byste vidět:

    Připojení k portu <vaše_ip_nebo_doména> 443 [tcp/https] se podařilo!
    Připojení k <vaše_ip_nebo_doména> 5349 port [tcp/*] uspělo!
    
  • Test připojení STUN/TURN:

    1. Přejděte na IceTest.

    2. Do části Sestavit seznam serverů ICE přidejte:

      .

      • STUN: stun:<vaše_ip_nebo_doména>:<port> a stiskněte Add STUN.
      • TURN: turn:<vaše_ip_nebo_doména>:<port>, Username: <vaše_přihlašovací jméno>, Credential: <vaš_pas> a stiskněte Add TURN

      Kde <port> 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ě!