Tox (protocollo)

Questa voce è orfanaQuesta voce è orfana, ovvero priva di collegamenti in entrata da altre voci.
Inseriscine almeno uno pertinente e utile e rimuovi l'avviso. Segui i suggerimenti del progetto di riferimento.
Tox
software
Logo
Logo
Schermata di esempio
Schermata di esempio
GenereMessaggistica istantanea
SviluppatoreProgetto TokTok
Ultima versione0.2.19 (28 marzo 2024)
Sistema operativoLinux
Microsoft Windows
macOS
Android
iOS
FreeBSD
OpenIndiana
Sailfish OS
LinguaggioC
LicenzaGNU GPL v3
(licenza libera)
Sito webtox.chat/
Modifica dati su Wikidata · Manuale

Tox è un protocollo di messaggistica istantanea e videochiamata peer-to-peer con crittografia end-to-end. L'obiettivo dichiarato del progetto è quello di fornire comunicazioni sicure ma facilmente accessibili a tutti.[1] Un'implementazione di riferimento del protocollo è pubblicata come software libero secondo i termini della GNU General Public License (GPL) versione 3 o successiva.

Storia

Il commit iniziale su GitHub è stato inviato il 23 giugno 2013 da un utente di nome irungentoo.[2] Gli eseguibili sperimentali pre-alpha sono stati resi disponibili agli utenti dal 3 febbraio 2014 in poi, e le build notturne di Tox sono pubblicate da Jenkins Automatron.[3] Il 12 luglio 2014 Tox è entrato nella fase di sviluppo alpha e per l'occasione è stata ridisegnata la pagina di download.

Caratteristiche

Crittografia del traffico

Agli utenti viene assegnata una chiave pubblica e una privata, e si connettono direttamente tramite una peer-to-peer completamente distribuita. Gli utenti hanno la possibilità di inviare messaggi agli amici, partecipare a chat di gruppo con amici o sconosciuti, chat vocale/video e scambiarsi file. Tutto il traffico su Tox è crittografato end-to-end usando la libreria NaCl, che fornisce cifratura autenticata e perfetta segretezza in avanti.

Distribuzione dell'indirizzo IP agli amici

Tox non fa alcun tentativo di occultare il tuo indirizzo IP quando comunica con gli amici, poiché lo scopo di una rete peer-to-peer è la connessione diretta con i propri amici. Esiste una soluzione alternativa di imbustamento delle proprie connessioni Tox attraverso Tor. Tuttavia, un utente non amico non può altrettanto facilmente il tuo indirizzo IP utilizzando solo un Tox ID; si rivela il proprio indirizzo IP a qualcuno solo quando lo si aggiunge all'elenco dei contatti.[4]

Funzionalità di messaggistica aggiuntive

I client Tox puntano a fornire supporto per varie funzionalità di comunicazione sicure e anonime; se ogni client supporta la messaggistica, funzionalità aggiuntive come messaggistica di gruppo, chiamate vocali e video, conferenze vocali e video, indicatori di digitazione, conferme di lettura dei messaggi, condivisione di file, crittografia dei profili e condivisione desktop sono supportate a vari livelli da client mobili e desktop. Funzionalità aggiuntive possono essere implementate da qualsiasi client, purché supportate dal protocollo principale. Le funzionalità che non sono collegate alla rete principale sono lasciate a discrezione del client. Gli sviluppatori dei client sono fortemente invitati ad aderire al Tox Client Standard[5] al fine di mantenere la compatibilità tra client e sostenere le migliori pratiche di sicurezza.

Usabilità come messaggistica istantanea

Screenshot del messenger qTox, che usa il protocollo Tox, un messaggio è stato inviato da "Joeri" mentre il destinatario è offline, il client mostra all'utente che il messaggio è ancora in transito, quando in realtà il client qTox è in attesa che il destinatario torni online

Sebbene diverse app che utilizzano il protocollo Tox sembrino simili in funzione alle normali app di messaggistica istantanea, la mancanza di server centrali ha la conseguenza che ambe le parti della chat devono essere online affinché il messaggio venga inviato e ricevuto. Gli applicativi che usano Tox si servono di approcci diversi, alcuni impediscono all'utente di inviare il messaggio se l'altra parte è scollegata, mentre altri mostrano il messaggio come inviato quando in realtà è memorizzato nel telefono del mittente in attesa della consegna, che avverrà quando il destinatario si ricollegherà alla rete.[6]

Architettura

Core

Il core Tox è una libreria che stabilisce il protocollo e l'API. L'interfaccia dell'utente, o client, sono costruiti al di sopra del core. Chiunque può creare un client utilizzando il core. I documenti tecnici che descrivono il design del Core, scritti dallo sviluppatore principale irungentoo, sono disponibili pubblicamente.[7]

Protocollo

Il core di Tox è un'implementazione del protocollo Tox, un esempio del livello di applicazione del modello OSI e magari anche del livello di presentazione. Esistono implementazioni del protocollo Tox non realizzate dal progetto.[8]

Tox usa il formato audio Opus per la trasmissione audio e il formato video VP8 per la trasmissione video.

Crittografia

Tox utilizza le primitive crittografiche presenti nella libreria crittografica NaCl, tramite libsodium. In particolare, Tox impiega Curve25519 per i suoi scambi di chiavi, xsalsa20 per la crittografia simmetrica e Poly1305 per i MAC.[9] Poiché il protocollo Tox può essere utilizzato da molte applicazioni diverse e poiché la rete Tox trasmette il nome del client utilizzato, è anche possibile che i client utilizzino una crittografia aggiuntiva quando inviano a client che supportano le stesse funzionalità.

Client

Un cliente è un programma che utilizza la libreria principale Tox per comunicare con altri utenti del protocollo Tox. Sono disponibili vari clienti per un'ampia gamma di sistemi; il seguente elenco è incompleto.[10]

Nome Sistema operativo Scritto in Stato di sviluppo e commenti
Antidote[11] iOS Swift Abbandonato (vedere la pagina GitHub del progetto)
Antox[12] Android Scala, Java Abbandonato, ultimo aggiornamento dicembre 2017
Cyanide[13] Sailfish OS C ++ Abbandonato,[14] ultimo aggiornamento gennaio 2017
gTox[15] Linux C++ (GTK+ 3 ) Abbandonato (vedere la pagina GitHub del progetto)
qTox[16] Linux, FreeBSD, OS X, Windows C++ (Qt) Attivo
TOK iOS, Android Java, Swift, Objective-C Attivo
Toxic[17] Linux, FreeBSD, OpenBSD, DragonflyBSD, NetBSD, Solaris, OS X C (Ncurses) Attivo
Toxy[18] Windows C # ( WPF ) Non mantenuto (vedere la pagina GitHub[19])
Toxygen[20] Linux, Windows Python ( Qt tramite PySide ) Attivo
TRIfA[21] Android C, Java Attivo
µTox[22] Linux, FreeBSD, OS X, Windows C Attivo
xWinTox[23] Linux, FreeBSD, Solaris C / C++ (FLTK) Abbandonato,[24] ultimo aggiornamento nel dicembre 2015
Isotoxin[25] Windows C ++ Abbandonato[26] ultimo aggiornamento a marzo 2018
ratox[27] Linux, BSD, OS X C Attivo[28]
WebTox[29] Basato sul Web HTML5 (client) + Go (server) Abbandonato,[30] ultimo aggiornamento nel gennaio 2016

Esistono anche plugin del protocollo Tox per Pidgin[31] (non più mantenuto, ma funzionante al 30/03/2018) e Miranda NG.[32]

Divisione dalla Tox Foundation

L'11 luglio 2015, gli sviluppatori di Tox hanno annunciato ufficialmente la loro divisione dalla Tox Foundation, a causa di "una disputa sull'uso improprio dei fondi donati" da parte del capo e CEO della Tox Foundation, secondo LWN.net.[33] Dato che i dominii sono sotto il controllo della Tox Foundation, lo sviluppo principale del progetto è stato trasferito su nuova infrastruttura, server e dominio.

Ricezione

Tox ha ricevuto una significativa pubblicità nella sua fase concettuale iniziale, attirando l'attenzione dei siti di notizie tecnologiche online globali.[34][35][36][37] Il 15 agosto 2013, Tox era il numero cinque nella lista delle migliori tendenze di GitHub.[38] Sono state sollevate preoccupazioni per la perdita di metadati e gli sviluppatori hanno risposto implementando il routing Onion per il processo di ricerca degli amici.[39] Tox è stato accettato nel Google Summer of Code come Mentoring Organization nel 2014 e nel 2015.[40][41]

Note

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

Voci correlate

Altri progetti

Altri progetti

  • Wikimedia Commons
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file su Tox

Collegamenti esterni

  • (EN) Sito ufficiale, su tox.chat. Modifica su Wikidata
  • (EN) Blog ufficiale, su blog.tox.chat. Modifica su Wikidata
  • (EN) Tox, su GitHub. Modifica su Wikidata
  • Repository sorgenti di Tox, su github.com. Modifica su Wikidata
  • (EN) Tox, su Free Software Directory. Modifica su Wikidata