Tox (protocol)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Tox
software
Siglă
Exemplu de captură de ecran
Tip Mesagerie instanta
Dezvoltator Proiectul TokTok
Ultima versiune 0.2.12 (1 mai 2020)
Sistem de operare Linux
Microsoft Windows
macOS
Android
iOS
FreeBSD
OpenIndiana
Sistem de operare Sailfish
Limba C.
Licență GNU GPL v3
( licență gratuită )
Site-ul web tox.chat/

Tox este un protocol de mesagerie instant și de apel video peer-to-peer cu criptare end-to-end . Scopul declarat al proiectului este de a oferi comunicații sigure, dar ușor accesibile pentru toți. [1] O implementare de referință a protocolului este publicată ca software gratuit în condițiile licenței GNU General Public License (GPL) versiunea 3 sau ulterioară.

Istorie

Confirmarea inițială pe GitHub a fost trimisă pe 23 iunie 2013 de către un utilizator numit irungentoo. [2] Executabilele experimentale pre-alfa au fost puse la dispoziția utilizatorilor începând cu 3 februarie 2014, iar versiunile nocturne ale Tox sunt publicate de Jenkins Automatron . [3] Pe 12 iulie 2014 Tox a intrat în faza de dezvoltare alfa și pagina de descărcare a fost reproiectată pentru această ocazie.

Caracteristici

Criptarea traficului

Utilizatorilor li se atribuie o cheie publică și privată și se conectează direct printr-un peer-to-peer complet distribuit . Utilizatorii au capacitatea de a trimite mesaje prietenilor, de a participa la discuții de grup cu prietenii sau de necunoscuți, de chat vocal / video și de a schimba fișiere. Tot traficul de pe Tox este criptat de la un capăt la altul folosind biblioteca NaCl, care oferă criptare autentificată și secret de transmisie perfect .

Distribuirea adresei IP către prieteni

Tox nu face nicio încercare de a vă ascunde adresa IP atunci când comunicați cu prietenii, deoarece scopul unei rețele peer-to-peer este să vă conectați direct cu prietenii dvs. Există o soluție alternativă de a vă înfășura conexiunile Tox prin Tor. Cu toate acestea, un utilizator care nu este prieten nu poate avea la fel de ușor adresa dvs. IP folosind doar un ID Tox; îți dezvălui adresa IP doar cuiva când o adaugi în lista ta de contacte. [4]

Funcții suplimentare de mesagerie

Clienții Tox își propun să ofere suport pentru diverse funcții de comunicare sigure și anonime; Dacă fiecare client acceptă mesageria , funcții suplimentare, cum ar fi mesaje de grup, apeluri vocale și video , conferințe vocale și video , indicatori de tastare, chitanțe de citire a mesajelor, partajarea fișierelor , criptarea profilului și partajarea desktopului sunt acceptate la diferite niveluri de clienții mobili și desktop. Funcții suplimentare pot fi implementate de orice client, atâta timp cât sunt acceptate de protocolul de bază. Funcțiile care nu sunt conectate la rețeaua de bază sunt lăsate la discreția clientului. Dezvoltatorii clienților sunt încurajați să adere la Tox Client Standard [5] pentru a menține compatibilitatea clienților și a sprijini cele mai bune practici de securitate.

Utilizarea ca mesagerie instantanee

Captură de ecran a qTox messenger, care utilizează protocolul Tox, un mesaj a fost trimis de „Joeri” în timp ce destinatarul este offline, clientul îi arată utilizatorului că mesajul este încă în tranzit, când în realitate clientul qTox așteaptă destinatarul revine online

În timp ce mai multe aplicații care utilizează protocolul Tox par funcționale similare cu aplicațiile obișnuite de mesagerie instantanee, lipsa serverelor centrale înseamnă că ambele părți ale chat-ului trebuie să fie online pentru ca mesajul să poată fi trimis și primit. Aplicațiile care utilizează Tox utilizează abordări diferite, unele împiedică utilizatorul să trimită mesajul în cazul în care cealaltă parte este deconectată, în timp ce altele afișează mesajul ca fiind trimis atunci când este de fapt stocat în telefonul expeditorului în așteptarea livrării, ceea ce se va întâmpla atunci când destinatarul se reconectează la rețea. [6]

Arhitectură

Miezul

Nucleul Tox este o bibliotecă care stabilește protocolul și API-ul. Interfața cu utilizatorul sau clientul este construită deasupra nucleului. Oricine poate crea un client folosind nucleul. Documentele tehnice care descriu proiectarea Core, scrise de dezvoltatorul principal irungentoo, sunt disponibile publicului. [7]

Protocol

Nucleul Tox este o implementare a protocolului Tox, un exemplu al stratului de aplicație al modelului OSI și poate și al stratului de prezentare. Există implementări ale protocolului Tox care nu sunt implementate de proiect. [8]

Tox folosește formatul audio Opus pentru transmisia audio și formatul video VP8 pentru transmisia video.

Criptare

Tox folosește primitivele criptografice prezente în biblioteca criptografică NaCl, prin libsodiu. În special, Tox folosește Curve25519 pentru schimbul de chei, xsalsa20 pentru criptare simetrică și Poly1305 pentru MAC-uri. [9] Întrucât protocolul Tox poate fi utilizat de mai multe aplicații diferite și deoarece rețeaua Tox transmite numele clientului utilizat, este de asemenea posibil ca clienții să folosească criptare suplimentară atunci când trimit către clienți care acceptă aceeași funcționalitate.

Client

Un client este un program care utilizează biblioteca de bază Tox pentru a comunica cu alți utilizatori ai protocolului Tox. Diferiti clienti sunt disponibili pentru o mare varietate de sisteme; următoarea listă este incompletă. [10]

Nume Sistem de operare Scris in Stare de dezvoltare și comentarii
Antidot [11] iOS Rapid Abandonat (vezi pagina GitHub a proiectului)
Antox [12] Android Scala , Java Abandonat, actualizat ultima dată în decembrie 2017
Cianură [13] Sistem de operare Sailfish C ++ Abandonat, [14] actualizat ultima dată în ianuarie 2017
gTox [15] Linux C ++ ( GTK + 3 ) Abandonat (vezi pagina GitHub a proiectului)
qTox [16] Linux , FreeBSD , OS X , Windows C ++ ( Qt ) Activ
TOK iOS , Android Java , Swift , Objective-C Activ
Toxic [17] Linux , FreeBSD , OpenBSD , DragonflyBSD , NetBSD , Solaris , OS X C ( Cursuri ) Activ
Toxy [18] Windows C # ( WPF ) Nu este întreținut (vezi pagina GitHub [19] )
Toxigen [20] Linux , Windows Python ( Qt prin PySide ) Activ
TRIfA [21] Android C , Java Activ
µTox [22] Linux , FreeBSD , OS X , Windows C. Activ
xWinTox [23] Linux , FreeBSD , Solaris C / C ++ (FLTK) Abandonat, [24] actualizat ultima dată în decembrie 2015
Izotoxină [25] Windows C ++ Abandonat [26] actualizat ultima dată în martie 2018
ratox [27] Linux , BSD , OS X C. Activ [28]
WebTox [29] Bazat pe web HTML5 (client) + Go (server) Abandonat, [30] actualizat ultima dată în ianuarie 2016

Există, de asemenea, pluginuri de protocol Tox pentru Pidgin [31] (nu mai sunt întreținute, dar funcționale începând cu 30.03.2018) și Miranda NG . [32]

Divizia de la Fundația Tox

La 11 iulie 2015, dezvoltatorii Tox și-au anunțat oficial despărțirea de Fundația Tox, din cauza „unei dispute privind utilizarea abuzivă a fondurilor donate” de către șeful și CEO-ul Fundației Tox, potrivit LWN.net . [33] Întrucât domeniile sunt sub controlul Fundației Tox, dezvoltarea principală a proiectului a fost transferată către noua infrastructură, server și domeniu.

Recepţie

Tox a primit o publicitate semnificativă în etapa sa conceptuală timpurie, atrăgând atenția site-urilor globale de știri online. [34] [35] [36] [37] Începând cu 15 august 2013, Tox ocupa locul cinci pe lista de top a GitHub . [38] S-au ridicat îngrijorări cu privire la pierderea metadatelor , iar dezvoltatorii au răspuns implementând rutare de ceapă pentru procesul de căutare a prietenilor. [39] Tox a fost acceptat în Google Summer of Code ca organizație de mentorat în 2014 și 2015. [40] [41]

Notă

  1. ^ tox.chat , https://tox.chat .
  2. ^ github.com , https://github.com/irungentoo/toxcore/commit/f8ccb9adb99fc143e11927a461d06da1b3d5bcba .
  3. ^ build.tox.chat , https://build.tox.chat/view/packages/ .
  4. ^ tox.chat , https://tox.chat/faq.html#tox-leak-ip .
  5. ^ gitbook.com , https://www.gitbook.com/book/tox/tox-client-standard/details .
  6. ^ wiki.tox.chat , https://wiki.tox.chat/users/troubleshooting . Adus la 26 aprilie 2019 .
  7. ^ github.com , https://github.com/Tox-Docs/Text/tree/master/src_text .
  8. ^ github.com , https://github.com/mahkoh/Xot .
  9. ^ (EN) Project Tox, https://tox.chat/faq.html#tox-encryption-algorithm Adus la 15 februarie 2017 .
  10. ^ wiki.tox.chat , https://wiki.tox.chat/users/clients .
  11. ^ antidote.im , https://antidote.im .
  12. ^ wiki.tox.chat , https://wiki.tox.chat/clients/antox .
  13. ^ github.com , https://github.com/krobelus/cyanide .
  14. ^ github.com , https://github.com/krobelus/cyanide/commit/b03c7df96d968c056bfa61f396472b0df2cb5bd2 .
  15. ^ github.com , https://github.com/KoKuToru/gTox .
  16. ^ wiki.tox.chat , https://wiki.tox.chat/clients/qtox .
  17. ^ wiki.tox.chat , https://wiki.tox.chat/clients/toxic .
  18. ^ wiki.tox.chat , https://wiki.tox.chat/clients/toxy .
  19. ^ github.com , https://github.com/alexbakker/Toxy .
  20. ^ wiki.tox.chat , https://wiki.tox.chat/clients/toxygen . Adus la 1 iulie 2016 .
  21. ^ github.com , https://github.com/zoff99/ToxAndroidRefImpl .
  22. ^ wiki.tox.chat , https://wiki.tox.chat/clients/utox .
  23. ^ wiki.tox.chat , https://wiki.tox.chat/clients/xwintox .
  24. ^ github.com , https://github.com/JX7P/XwinTox/commit/1bface57d4e6392503a1b64aa471362f711cb510 .
  25. ^ wiki.tox.chat , https://wiki.tox.chat/clients/isotoxin .
  26. ^ Github , https://github.com/isotoxin/isotoxin/commits/master .
  27. ^ ratox.2f30.org , http://ratox.2f30.org/ .
  28. ^ git.2f30.org , http://git.2f30.org/ratox/log.html .
  29. ^ github.com , https://github.com/codedust/WebTox .
  30. ^ github.com , https://github.com/codedust/WebTox/commit/31789c7acb7b9f0027be11c369d242fa01116ccc .
  31. ^ github.com , https://github.com/jin-eld/tox-prpl .
  32. ^ Forumul comunitar oficial Miranda NG , https://forum.miranda-ng.org/index.php?topic=2487.msg5960#msg5960 .
  33. ^ LWN.net , https://lwn.net/Articles/651003/ .
  34. ^ siliconangle.com , http://siliconangle.com/blog/2013/08/05/tox-a-replacement-for-skype-and-your-privacy/ .
  35. ^ ( DE ) golem.de , http://www.golem.de/news/skype-alternative-freier-und-sicherer-videochat-mit-tox-1307-100688.html .
  36. ^ ( RU ) opennet.ru , http://www.opennet.ru/opennews/art.shtml?num=37542 .
  37. ^ ( DE ) heise.de , http://www.heise.de/netze/meldung/Skype-Alternative-Tox-zum-Ausprobieren-1929033.html .
  38. ^ readwrite.com , http://readwrite.com/2013/08/15/github-new-trending-feature-future .
  39. ^ github.com , https://github.com/irungentoo/ProjectTox-Core/blob/522f90fee138087db660dccc08413c53f388f604/docs/Prevent_Tracking.txt .
  40. ^ google-melange.com , https://www.google-melange.com/gsoc/org2/google/gsoc2014/tox .
  41. ^ google-melange.com , https://www.google-melange.com/gsoc/org2/google/gsoc2015/tox .

Elemente conexe

Alte proiecte

linkuri externe