Tox (protocol)

protocol p2p de missatgeria instantània

Tox és un protocol p2p de missatgeria instantània i videoconferència amb xifrat d'extrem a extrem. L'objectiu del projecte és proporcionar comunicacions segures i de fàcil ús, sense intromissions ni intermediaris. La implementació de referència és publicada en programari lliure sota els termes de la Llicència Pública General de GNU (GNU GPL), versió 3 o posterior.

Tox
Modifica el valor a Wikidata
Modifica el valor a Wikidata
Tipusbiblioteca informàtica Modifica el valor a Wikidata
Versió inicial
3 febrer 2014 Modifica el valor a Wikidata
Versió estable
0.2.18 (18 abril 2022) Modifica el valor a Wikidata
LlicènciaGNU GPL 3.0 Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiuMicrosoft Windows, Linux, macOS, Android, iOS, FreeBSD, OpenIndiana i Sailfish OS (en) Tradueix Modifica el valor a Wikidata
Escrit enC Modifica el valor a Wikidata
Més informació
Lloc webtox.chat (anglès) Modifica el valor a Wikidata
BlogBlog oficial Modifica el valor a Wikidata
Free Software DirectoryTox Modifica el valor a Wikidata
Id. Framalibretox Modifica el valor a Wikidata

Twitter (X): ProjectTox GitHub: Tox-Docs Modifica el valor a Wikidata

Història modifica

Tox va ser ideat per la comunitat del fòrum de tecnologic del web 4chan com a contrapartida a les revelacions d'espionatge massiu fetes per Edward Snowden, entre les quals s'acusava a Skype de cooperar amb la NSA. El primer codi Tox va ser publicat el 23 juny de 2013 per un usuari anomenat irungentoo.[1] I les primeres versions de prova van aparèixer el 3 de febrer de 2014.

Característiques modifica

Tox utilitza criptografia de clau pública amb Perfect forward secrecy(secret més encara) per assegurar la privadesa i integritat de les comunicacions. Per a això es va utilitzar la llibreria NaCl. Els usuaris es connecten de forma directa en una xarxa de parells, per la qual cosa la informació xifrada mai passa per un servidor central. Els usuaris tenen la capacitat de sol·licitar l'acceptació d'altres usuaris, escriure's entre si, unir-se a canals grupals amb amics i desconeguts, parlar via veu i vídeo i enviar arxius.

Encara que tots els clients suporten missatgeria bàsica, algunes característiques com ara la videoconferències, el xat grupal, la compartició de l'escriptori i l'intercanvi d'arxius només són presents en alguns clients. Les característiques addicionals poden ser implementades per qualsevol client sempre que ja existeixi la infraestructura al protocol.

Arquitectura modifica

Nucli modifica

Toxcore és una llibreria que estableix el protocol de comunicacions i una API. Els front-ends per a usuaris, també anomenats "clients", es construeixen a partir d'aquest nucli. Qualsevol programador pot crear un client a partir d'aquesta llibreria.[2]

Protocol modifica

Tox és una implementació del protocol Tox, un exemple de capa d'aplicació i presentació en model OSI (model d'interconnexió de sistemes oberts). S'han fet implementacions alternatives del mateix protocol, com ara el Xot.[3]

Tox utilitza el format d'àudio Opus i el format de vídeo VP8.

Criptografia modifica

Tox utilitza els primaris criptogràfics de la llibreria NaCl, o libsodium per ser més precisos. Específicament, l'algorisme de corba el·líptica 25519 per al seu intercanvi de claus, l'algorisme xsalsa20 per a la criptografia asimètrica, i Poly1305 com a codi d'autenticació de missatge; tots ells realitzats pel Dr. Daniel Bernstein.[4]

Clients modifica

 
Toxic, un client amb interfície d'usuari basada en text.

El terme "client" en el context d'una arquitectura de xarxa d'igual a igual (com la de Tox) no fa referència a una separació entre aplicacions clients i servidors de xarxa. No existeixen servidors a la xarxa de Tox. Un client és qualsevol aplicació que usa la biblioteca Tox per comunicar-se directament amb altres clients, segons el protocol implementat en aquesta biblioteca. Hi ha una diversitat de clients amb diferents graus de maduresa per a diverses plataformes. La següent és una llista incompleta:[5]

Nom Sistema operatiu Escrit en
Antidote iOS Objective-C
Antox Android Scala, Java
Cyanide Sailfish US C++
gTox GNU/Linux


C++ (GTK+ 3)
qTox GNU/Linux, FreeBSD, US X, Windows C++ (Qt)
Toxic GNU/Linux, BSD, US X C (Ncurses)
Toxy Windows C# (WPF)
Toxygen GNU/Linux, Windows Python (Qt via PySide)
µTox GNU/Linux, FreeBSD, US X, Windows C (Win32 API, Xlib)
xWinTox GNU/Linux, Solaris, BSD C/C++ (FLTK)
Isotoxin Windows C/C++
ratox GNU/Linux, BSD, US X C

Ressenyes modifica

Tox va rebre certa publicitat significativa durant la primera etapa conceptual, cridant l'atenció de diverses webs de noticies sobre tecnologia.[6][7][8] Cap al 15 d'agost de 2013 Tox figurava en el número cinc de la llista de tendències de GitHub.[9] Alguns van expressar preocupació per filtracions de metadades, i els desenvolupadors van respondre implementant l'onion routing per al procés de descobriment d'amics.[10] Tox va ser acceptat al Google Summer of Code del 2014 i del 2015.

Referències modifica

  1. «Initial commit». [Consulta: 18 febrer 2014].
  2. «Toxcore Documentation». [Consulta: 7 novembre 2015].
  3. «Xot». [Consulta: 6 maig 2014].
  4. «A New Kind of Instant Messaging» (en anglès). [Consulta: 15 febrer 2017].
  5. «clients - Tox Wiki» (en anglès). [Consulta: 5 març 2018].
  6. «Skype-Alternative: Freier und sicherer Videochat mit Tox - Golem.de» (en alemany). Golem.de.
  7. «Tox: A Replacement for Skype and Your Privacy? - SiliconANGLE» (en anglès). SiliconANGLE, 05-08-2013.
  8. «OpenNews: Проект Tox развивает свободную альтернативу Skype». [Consulta: 5 març 2018].
  9. «GitHub's New 'Trending' Feature Lets You See The Future - ReadWrite» (en anglès). ReadWrite, 15-08-2013.
  10. «irungentoo/toxcore» (en anglès). [Consulta: 5 març 2018].

Enllaços externs modifica