Files
simplex-chat/docs/lang/pl/WEBRTC.md
artur fe639eed48 docs: Add Polish translation (#4001)
* docs: Add polish translation

* README: Add link to polish translation

* docs: Polish version of README - Fix links

* docs: Add links to polish translation, fix

* docs: Fix polish translation thanks to support team

* docs: Add links to polish translation in english version of docs

* fix links

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2024-04-13 12:12:21 +01:00

159 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Korzystanie z niestandardowych serwerów WebRTC ICE w SimpleX Chat
revision: 31.01.2023
---
| Updated 31.01.2023 | Języki: PL, [EN](/docs/WEBRTC.md), [FR](/docs/lang/fr/WEBRTC.md), [CZ](/docs/lang/cs/WEBRTC.md) |
# Korzystanie z niestandardowych serwerów WebRTC ICE w SimpleX Chat
## Instalacja serwera STUN/TURN
W tym poradniku będziemy używać najbardziej funkcjonalnej i przetestowanej w boju implementacji serwera STUN/TURN - [`coturn`](https://github.com/coturn/coturn) i [Ubuntu 20.04 LTS`](https://ubuntu.com/download/server) dystrybucji Linuksa.
0. Uzyskaj certyfikaty `stun.$TWOJA_DOMENA` i `turn.$TWOJA_DOMENA`.
Używamy [Let's Encrypt](https://letsencrypt.org/getting-started/).
1. Zainstaluj pakiet `coturn` z głównego repozytorium.
```sh
apt update && apt install coturn`
```
2. Odkomentuj `TURNSERVER_ENABLED=1` z `/etc/default/coturn`:
```sh
sed -i '/TURN/s/^#//g' /etc/default/coturn
```
3. Skonfiguruj `coturn` w `/etc/turnserver.conf`:
Zobacz również komentarze dotyczące poszczególnych opcji.
```sh
# Nasłuchuj również na porcie 443 dla tls
alt-tls-listening-port=443
# Używaj odcisków palców w komunikatach TURN
fingerprint
# Użyj mechanizmu poświadczeń długoterminowych
lt-cred-mech
# Twoje poświadczenia
user=$YOUR_LOGIN:$YOUR_PASSWORD
# Domena Twojego serwera
server-name=$YOUR_DOMAIN
# Domyślny obszar, który ma być używany dla użytkowników, gdy nie znaleziono wyraźnej relacji pochodzenie/obszar
realm=$YOUR_DOMAIN
# Ścieżka do Twoich certyfikatów. Upewnij się, że są one czytelne dla użytkownika/grupy procesu cotun.
cert=/var/lib/turn/cert.pem
pkey=/var/lib/turn/key.pem
# Użyj predefiniowanego klucza DH TLS o długości 2066 bitów
dh2066
# Logowanie do journalctl
syslog
# Użytkownik/grupa, która będzie uruchamiać usługę coturn
proc-user=turnserver
proc-group=turnserver
# Wyłącz słabe szyfrowanie
no-tlsv1
no-tlsv1_1
no-tlsv1_2
```
4. Uruchom i włącz serwis `coturn`:
```sh
systemctl enable coturn && systemctl start coturn
```
5. Opcjonalnie, jeśli używasz firewalla `ufw`, otwórz odpowiednie porty:
- **3478** "czysty" TURN/STUN;
- **5349** TURN/STUN over TLS;
- **443** TURN/STUN over TLS, który może omijać firewalle;
- **49152:65535** zakres portów, który Coturn będzie domyślnie wykorzystywał dla przekaźnika TURN.
```sh
# Dla Ubuntu
sudo ufw allow 3478 && \
sudo ufw allow 443 && \
sudo ufw allow 5349 && \
sudo ufw allow 49152:65535/tcp && \
sudo ufw allow 49152:65535/udp
# Dla Fedory
sudo firewall-cmd --permanent --add-port=443/tcp && \
sudo firewall-cmd --permanent --add-port=443/udp && \
sudo firewall-cmd --permanent --add-port=5349/tcp && \
sudo firewall-cmd --permanent --add-port=5349/udp && \
sudo firewall-cmd --permanent --add-port=49152:65535/tcp && \
sudo firewall-cmd --permanent --add-port=49152:65535/udp && \
sudo firewall-cmd --reload
```
## Konfiguracja aplikacji mobilnych
Aby skonfigurować aplikację mobilną do korzystania z serwera:
1. Otwórz `Ustawienia / Sieć i serwery / Serwery WebRTC ICE` i przełącz przełącznik `Konfiguruj serwery ICE`.
2. Wprowadź wszystkie adresy serwerów w polu, po jednym na linię, na przykład jeśli serwery znajdują się na porcie 5349:
```
stun:stun.example.com:5349
turn:username:password@turn.example.com:5349
```
To tyle - teraz możesz wykonywać połączenia audio i wideo za pośrednictwem własnego serwera, bez udostępniania jakichkolwiek danych naszym serwerom (poza wymianą kluczy z kontaktem w szyfrowanych wiadomościach E2E).
## Rozwiązywanie problemów
- **Określ czy Twój serwer jest dostępny**:
Uruchom to polecenie w terminalu:
```sh
ping <twoje_ip_lub_domena>
```
Jeśli pakiety są transmitowane, serwer działa!
- **Określ czy porty są otwarte**:
Uruchom to polecenie w terminalu:
```sh
nc -zvw10 <twoje_ip_lub_domena> 443 5349
```
Powinno się pojawić:
```
Connection to <twoje_ip_lub_domena> 443 port [tcp/https] succeeded!
Connection to <twoje_ip_lub_domena> 5349 port [tcp/*] succeeded!
```
- **Test połączenia STUN/TURN**:
1. Wejdź na [IceTest](https://icetest.info/).
2. W sekcji **Build up ICE Server List** dodaj:
<img src="./stun_1.png">
- `STUN: stun:<twoje_ip_lub_domena>:<port>` kliknij `Add STUN`
- `TURN: turn:<twoje_ip_lub_domena>:<port>`, `Username: <twój_login>`, `Credential: <twoje_hasło>` kliknij `Add TURN`
Gdzie `<port>` to 443 lub 5349.
3. Powinieneś zobaczyć swoje serwery w sekcji **ICE server list**. Jeśli wszystko jest skonfigurowane poprawnie, naciśnij `Start test`:
<img src="./stun_2.png">
4. W sekcji **Results** powinieneś zobaczyć coś takiego:
<img src="./stun_3.png">
Jeśli wyniki pokazują `srflx` i `relay`, wszystko jest skonfigurowane poprawnie!