Spreed nije poput bilo koje druge platforme za video chat - mnogo je bolji i moćniji u svakom pogledu. To je besplatni i otvoreni izvor poslužitelja za audio / video pozive dizajniran s naglaskom na privatnost. Spreed koristi WebRTC (Web Real-Time Communication), koji omogućuje internetskim preglednicima i mobilnim aplikacijama komunikaciju u stvarnom vremenu putem API-ja (sučelja za programiranje aplikacija). WebRTC omogućuje peer-to-peer komunikaciju omogućavajući audio i video rad unutar web stranica.
Uz to, Spreed WebRTC koristi end-to-end enkripciju, osiguravajući tako konačnu privatnost i sigurnost podataka korisnika.
Neki od zadataka koje možete obavljati s Spreedom uključuju:
- Zaštitite audio / video pozive i tekstualni chat
- Video konferencija
- Jedan do jedan video chat
Instaliranje Spreed WebRTC poslužitelja na Ubuntu
Ako se pitate kako započeti s Spreedom, bit ćete na dobrom putu. Ovaj će vam post dati korak po korak vodič za instaliranje i početak rada s Spreed WebRTC poslužiteljem na Ubuntuu. Zaronimo!
Korak 1. Instalirajte Spreed na Ubuntu
Razmotrit ćemo dva načina na koja možete koristiti za instaliranje Spreeda.
- Instalirajte Spreed sa službenog PPA-a
- Instalirajte Spreed via Snap
Bilješka: Instalacija Spreed putem PPA-a funkcionirat će samo na Ubuntu 16.04. Ako ste na Ubuntu 18.04, Ubuntu 20.04, ili bilo koju drugu Ubuntu varijantu, morat ćete koristiti Snap.
-
Instalirajte Spreed sa službenog PPA-a
Pokrenite terminal (Ctrl + Alt + T) i izvršite donje naredbe na terminalu.
sudo apt-add-repository ppa: strukturag / spreed-webrtc sudo apt update sudo apt install spreed-webrtc
-
Instalirajte Spreed via Snap
Za početak prvo instalirajte Snap pomoću naredbi u nastavku.
sudo apt ažuriranje sudo apt instalacija snapd
Nakon što instalirate Snap na svoj sustav, nastavite s instaliranjem Spreed WebRTC pomoću naredbe u nastavku:
sudo snap instalacija spreed-webrtc-snap
Nakon što uspješno instalirate Spreed-WebRTC putem Snap-a, pokrenut će svoj ugrađeni web poslužitelj putem localhosta na portu 8084 (127.0.0: 8084). Njegov status možete potvrditi izvršava li se pomoću naredbe u nastavku.
informacije o snapu spreed-webrtc-snap
Ako se ne izvodi, Spreed snap možete pokrenuti naredbom u nastavku:
sudo snap start spreed-webrtc-snap
Također možete omogućiti automatsko pokretanje Spreeda kada se sustav pokrene pomoću naredbe u nastavku:
sudo snap start - omogućiti spreed-webrtc-snap
Možete provjeriti radi li Spreed web poslužitelj pretraživanjem adrese 127.0.01: 8084 na web pregledniku. Trebali biste vidjeti web stranicu Spreed kao što je prikazano na donjoj slici.
Korak 2: Postavljanje obrnutog proxyja
Kao što možete vidjeti iz gornjih podataka, Spreed-WebRTC je prema zadanim postavkama dostupan samo putem localhosta. Stoga drugi korisnik na mreži koja nije od vas neće pristupiti Spreed-WebRTC-u. Da biste prevladali ovaj problem, morat ćete postaviti obrnuti proxy.
Savjet: Obrnuti proxy je proxy poslužitelj koji mrežne resurse u ime klijenta traži od odgovarajućeg pozadinskog poslužitelja.
Pogledat ćemo kako postaviti obrnuti proxy koristeći Nginx i Apache. Možete koristiti bilo koji od njih.
-
Nginx
Da biste instalirali Nginx na Ubuntu, izvršite naredbu u nastavku:
sudo apt instalirati nginx
Nakon što se naredba uspješno izvrši, prijeđite na stvaranje bloka poslužitelja za Spreed-WebRTC na Nginxu. Izvršite naredbu u nastavku za stvaranje spreed-webrtc.conf datoteku s nano uređivačem.
sudo nano / etc / nginx / conf.d / spreed-webrtc.konf
Sada, molim vas, kopirajte donji sadržaj i zalijepite ih u nano editor. Ne zaboravite zamijeniti proširenu domenu.primjer.com s željenim imenom domene. Također, ne zaboravite postaviti A zapis.
Savjet: DNS-A zapis usmjerava poddomenu ili ime domene na IP adresu.
poslužitelj preslušaj 80; ime_poslužitelja prošireno.primjer.com; lokacija / proxy_pass http: // 127.0.0.1: 8080; proxy_http_version 1.1; proxy_set_header Nadogradnja $ http_upgrade; proxy_set_header Veza "nadogradnja"; proxy_set_header X-Proslijeđena-Proto $ shema; proxy_set_header Host $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-Za $ proxy_add_x_forwarded_for; proxy_buffering na; isključeno proxy_ignore_client_abort; isključeno preusmjeravanje_proxyja; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_next_upstream pogreška vrijeme čekanja invalid_header http_502 http_503 http_504; mjesto ~ /.dobro poznat / acme-challenge root / usr / share / nginx / spreed /; dopustiti sve;
Spremite i zatvorite datoteku. (Ctrl + O, a zatim Enter za spremanje, Ctrl + X za izlaz).
Sada možete testirati svoje konfiguracije i ponovno učitati Nginx pomoću naredbi u nastavku.
sudo nginx -t sudo systemctl ponovno učitaj nginx
Sada bi Spreed-WebRTC trebao biti dostupan putem web preglednika putem dodijeljene domene. Pogledajte sliku ispod.
-
Apači
Ako želite koristiti Apache, počnite tako što ćete ga prvo instalirati naredbom u nastavku:
sudo apt instalirati apache2
Kada završite, baš kao što smo to učinili s Nginxom, stvorite datoteku bloka poslužitelja Spreed-WebRTC. Izvršite naredbu za stvaranje i otvaranje datoteke pomoću nano uređivača.
sudo nano / etc / apache2 / sites-available / spreed-webrtc.konf
Sada, molim vas, kopirajte donji sadržaj i zalijepite ih u nano editor. Ne zaboravite zamijeniti proširenu domenu.primjer.com s željenim imenom domene. Također, ne zaboravite postaviti A zapis.
Ime poslužitelja proširilo se.primjer.com ProxyPass http: // 127.0.0.1: 8080 / ProxyPassReverse http: // 127.0.0.1: 8080 / ProxyPass ws: // 127.0.0.1: 8080 / ProxyVia na ProxyPreserveHost uključen
Spremite i zatvorite datoteku. (Ctrl + O, a zatim Enter za spremanje, Ctrl + X za izlaz).
Dalje, moramo omogućiti proxy_http
Izvršite naredbu u nastavku:
sudo a2enmod proxy_http
Kada završite, omogućite virtualni domaćin. Izvršite naredbu u nastavku:
sudo a2ensite spreed-webrtc.konf
Možete nastaviti s testiranjem svojih konfiguracija i ponovnim učitavanjem Apache poslužitelja.
sudo apachectl configtest sudo systemctl ponovno učitaj apache2
Sada bi Spreed-WebRTC trebao biti dostupan putem web preglednika putem dodijeljene domene. Pogledajte sliku ispod.
Korak 3: Omogućite HTTPS
Do sada je naš Spreed-WebRTC poslužitelj dostupan samo putem HTTP-a, što bi moglo pokrenuti neke sigurnosne probleme. Da bismo omogućili HTTPS, morat ćemo dobiti SSL / TLS certifikat.
Ovaj će se vodič koristiti Let's Encrypt za dobivanje besplatnog TLS certifikata. Izvršite naredbe u nastavku za instaliranje klijenta Let's Encrypt -Certbot- sa službenog PPA-a.
sudo apt instaliraj certbot
Za korisnike Apachea morat ćete instalirati dodatak Certbot Apache pomoću naredbe u nastavku:
sudo apt instalirati python3-certbot-apache
Za korisnike Nginxa instalirajte dodatak Certbot Nginx pomoću naredbe u nastavku:
sudo apt instalirati python3-certbot-nginx
Da biste dobili TLS certifikat za Apache poslužitelj, izvršite naredbu u nastavku:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --pošaljite vam @ primjer.com -d širio.primjer.com
Da biste dobili TLS certifikat za Nginx poslužitelj, izvršite naredbu u nastavku:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --pošaljite vam @ primjer.com -d širio.primjer.com
Bilješka: S gornje dvije naredbe, ne zaboravite zamijeniti vi @ primjer.com
sa službenom e-poštom za registraciju i širenja.primjer.com
s imenom domene, koje ste koristili za Spreed-WebRTC.
Ako ste uspješno dobili certifikat, trebali biste dobiti donju poruku.
Korak 4: Instalirajte TURN / STUN poslužitelj
Poslužitelj Spreed-WebRTC dobro je postavljen i dostupan mu je do sada. Međutim, postoji jedno pitanje koje moramo riješiti. Ako imate korisnike iza NAT mreže, oni će biti blokirani i WebRTC neće raditi. Da bismo to prevladali, postavit ćemo poslužitelj TURN / STUN koji će djelovati kao relej između web preglednika. TURN je skraćenica za Traversal Using Releys around NAT, a STUN skraćenica za Session Traversal Utilities.
Upotrijebit ćemo poslužitelj Coturn koji omogućuje video / audio pozive i konferencije primjenom protokola TURN i STUN.
Za početak instalirajte Coturn pomoću naredbe u nastavku:
sudo apt instalirati Coturn
Nakon što se naredba uspješno izvrši, usluga kretanja automatski će se pokrenuti. Status možete provjeriti naredbom u nastavku:
systemctl status Coturn
Ako Coturn ne radi, pokrenite ga naredbom u nastavku:
sudo systemctl start Coturn
Također, radi praktičnosti, možete postaviti da se automatski pokreće prilikom pokretanja pomoću naredbe u nastavku:
sudo systemctl omogući Coturn
Korak 5: Konfigurirajte Coturn
Kada je Coturn instaliran i pokrenut, možemo ga konfigurirati za Spreed-WebRTC.
Izvršite naredbu u nastavku za uređivanje datoteke pretvarač
konfiguracijska datoteka.
sudo nano / etc / turnverver.konf
Primijetit ćete da su svi redovi komentirani iz rezultata koji dobijete. Kao što je prikazano na donjoj slici:
Da biste si puno olakšali posao, kopirajte donji sadržaj i zalijepite ih na kraju konfiguracije pretvarač
datoteka. Međutim, ne zaboravite unijeti promjene u nastavku:
- Zamijenite primjer.com s imenom domene koju ste dodijelili Spreed-WebRTC.
- Zamijenite IP adresu
10.16.1.1
s javnom IP adresom vašeg poslužitelja. - Zamijeniti
sample-auth-secret
sa svojim vlastitim. Molimo vas da bude dugačak i siguran - po mogućnosti slučajno generirani niz.
# Navedite port za slušanje. Promijenite na 80 ili 443 da biste zaobišli neke stroge NAT-ove. liste za slušanje = 8443 tls-liste za slušanje = 5349 # Navedite IP adresu za slušanje, ako nije postavljena, Coturn sluša na svim IP sistemima. slušanje-ip = 10.16.1.1 relej-ip = 10.16.1.1 # Ovi redovi omogućuju podršku za WebRTC otisak prsta lt-cred-mech carstvo = primjer.com # Metoda provjere autentičnosti use-auth-secret static-auth-secret = sample-auth-secret total-quota = 100 # Ukupna širina pojasa u sekundi bajtu TURN poslužitelj smije dodijeliti # za sesije, kombinirane (ulaz i izlaz mrežni tokovi se obrađuju zasebno). bps-capacity = 0 # Ovaj redak pruža dodatnu sigurnost. stale-nonce log-file = / var / log / turnserver / turn.prijaviti no-loopback-peers no-multicast-peers
Spremite konfiguracijsku datoteku i ponovno pokrenite coturn pomoću naredbe u nastavku:
sudo systemctl ponovno pokreni Coturn
Sada ćemo morati konfigurirati Spreed-WEbRTC za Coturn. Izvršite naredbu u nastavku da biste otvorili konfiguracijsku datoteku poslužitelja.
Ako ste Spreed instalirali putem PPA-a, upotrijebite naredbu u nastavku:
sudo nano / etc / spreed / server.konf
Ako ste instalirali Spreed via Snap, upotrijebite naredbu u nastavku:
sudo nano / var / snap / spreed-webrtc-snap / common / server.konf
Pronađite odjeljak aplikacije i dodajte retke u nastavku. Ne zaboravite u skladu s tim zamijeniti istaknuti tekst.
turnURIs = turn: coturn-server-ip: 8443?transport = udp turnSecret = example-auth-secret
Spremite i zatvorite datoteku. Još jednom, ponovo pokrenite Spreed-WebRTC poslužitelj pomoću naredbe u nastavku:
Ako ste Spreed instalirali putem PPA-a, upotrijebite naredbu u nastavku:
sudo systemctl ponovno pokreni spreed-webrtc
Ako ste instalirali Spreed via Snap, upotrijebite naredbu u nastavku:
sudo snap restart spreed-webrtc-snap
Posljednji korak koji trebate učiniti je omogućiti port 8843 na svom vatrozidu. To je zato što Coturn sluša na luci 8843. Izvršite naredbe za UFW vatrozid.
sudo ufw dopustiti 8443 / tcp sudo ufw dopustiti 8443 / udp
Sad, s postavkama Coturn i Spreed-WebRTC, čak i korisnici iza NAT mreže trebali bi moći upućivati audio / video pozive i čak održavati mrežne konferencije.
Nadam se da vam je ovaj post dao jasan vodič za instaliranje Spreed WebRTC poslužitelja na Ubuntu. Neke konfiguracije poput postavljanja DNS zapisa mogu biti prilično izazovne za početnike, ali vjerujem da na web mjestu na kojem ste kupili domenu postoje članci s vodičima. U slučaju da naiđete na bilo koji problem, slobodno ostavite komentar ispod.