Tox (protocollo)
Tox software | |
---|---|
Genere | Messaggistica istantanea |
Sviluppatore | Progetto TokTok |
Ultima versione | 0.2.19 (28 marzo 2024) |
Sistema operativo | Linux Microsoft Windows macOS Android iOS FreeBSD OpenIndiana Sailfish OS |
Linguaggio | C |
Licenza | GNU GPL v3 (licenza libera) |
Sito web | tox.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
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
- ^ tox.chat, https://tox.chat Titolo mancante per url
url
(aiuto). - ^ github.com, https://github.com/irungentoo/toxcore/commit/f8ccb9adb99fc143e11927a461d06da1b3d5bcba Titolo mancante per url
url
(aiuto). - ^ build.tox.chat, https://build.tox.chat/view/packages/ Titolo mancante per url
url
(aiuto). - ^ tox.chat, https://tox.chat/faq.html#tox-leak-ip Titolo mancante per url
url
(aiuto). - ^ gitbook.com, https://www.gitbook.com/book/tox/tox-client-standard/details Titolo mancante per url
url
(aiuto). - ^ wiki.tox.chat, https://wiki.tox.chat/users/troubleshooting Titolo mancante per url
url
(aiuto). URL consultato il 26 aprile 2019. - ^ github.com, https://github.com/Tox-Docs/Text/tree/master/src_text Titolo mancante per url
url
(aiuto). - ^ github.com, https://github.com/mahkoh/Xot Titolo mancante per url
url
(aiuto). - ^ (EN) Project Tox, https://tox.chat/faq.html#tox-encryption-algorithm Titolo mancante per url
url
(aiuto). URL consultato il 15 febbraio 2017. - ^ wiki.tox.chat, https://wiki.tox.chat/users/clients Titolo mancante per url
url
(aiuto). - ^ antidote.im, https://antidote.im Titolo mancante per url
url
(aiuto). - ^ wiki.tox.chat, https://wiki.tox.chat/clients/antox Titolo mancante per url
url
(aiuto). - ^ github.com, https://github.com/krobelus/cyanide Titolo mancante per url
url
(aiuto). - ^ github.com, https://github.com/krobelus/cyanide/commit/b03c7df96d968c056bfa61f396472b0df2cb5bd2 Titolo mancante per url
url
(aiuto). - ^ github.com, https://github.com/KoKuToru/gTox Titolo mancante per url
url
(aiuto). - ^ wiki.tox.chat, https://wiki.tox.chat/clients/qtox Titolo mancante per url
url
(aiuto). - ^ wiki.tox.chat, https://wiki.tox.chat/clients/toxic Titolo mancante per url
url
(aiuto). - ^ wiki.tox.chat, https://wiki.tox.chat/clients/toxy Titolo mancante per url
url
(aiuto). - ^ github.com, https://github.com/alexbakker/Toxy Titolo mancante per url
url
(aiuto). - ^ wiki.tox.chat, https://wiki.tox.chat/clients/toxygen Titolo mancante per url
url
(aiuto). URL consultato il 1º luglio 2016. - ^ github.com, https://github.com/zoff99/ToxAndroidRefImpl Titolo mancante per url
url
(aiuto). - ^ wiki.tox.chat, https://wiki.tox.chat/clients/utox Titolo mancante per url
url
(aiuto). - ^ wiki.tox.chat, https://wiki.tox.chat/clients/xwintox Titolo mancante per url
url
(aiuto). - ^ github.com, https://github.com/JX7P/XwinTox/commit/1bface57d4e6392503a1b64aa471362f711cb510 Titolo mancante per url
url
(aiuto). - ^ wiki.tox.chat, https://wiki.tox.chat/clients/isotoxin Titolo mancante per url
url
(aiuto). - ^ Github, https://github.com/isotoxin/isotoxin/commits/master Titolo mancante per url
url
(aiuto). - ^ Copia archiviata, su ratox.2f30.org. URL consultato il 15 dicembre 2020 (archiviato dall'url originale il 7 settembre 2019).
- ^ git.2f30.org, http://git.2f30.org/ratox/log.html Titolo mancante per url
url
(aiuto). - ^ github.com, https://github.com/codedust/WebTox Titolo mancante per url
url
(aiuto). - ^ github.com, https://github.com/codedust/WebTox/commit/31789c7acb7b9f0027be11c369d242fa01116ccc Titolo mancante per url
url
(aiuto). - ^ github.com, https://github.com/jin-eld/tox-prpl Titolo mancante per url
url
(aiuto). - ^ Miranda NG Official Community Forum, https://forum.miranda-ng.org/index.php?topic=2487.msg5960#msg5960 Titolo mancante per url
url
(aiuto). - ^ LWN.net, https://lwn.net/Articles/651003/ Titolo mancante per url
url
(aiuto). - ^ siliconangle.com, http://siliconangle.com/blog/2013/08/05/tox-a-replacement-for-skype-and-your-privacy/ Titolo mancante per url
url
(aiuto). - ^ (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). - ^ (RU) opennet.ru, http://www.opennet.ru/opennews/art.shtml?num=37542 Titolo mancante per url
url
(aiuto). - ^ (DE) heise.de, http://www.heise.de/netze/meldung/Skype-Alternative-Tox-zum-Ausprobieren-1929033.html Titolo mancante per url
url
(aiuto). - ^ readwrite.com, http://readwrite.com/2013/08/15/github-new-trending-feature-future Titolo mancante per url
url
(aiuto). - ^ github.com, https://github.com/irungentoo/ProjectTox-Core/blob/522f90fee138087db660dccc08413c53f388f604/docs/Prevent_Tracking.txt Titolo mancante per url
url
(aiuto). - ^ google-melange.com, https://www.google-melange.com/gsoc/org2/google/gsoc2014/tox Titolo mancante per url
url
(aiuto). - ^ 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
- Wikimedia Commons contiene immagini o altri file su Tox
Collegamenti esterni
- (EN) Sito ufficiale, su tox.chat.
- (EN) Blog ufficiale, su blog.tox.chat.
- (EN) Tox, su GitHub.
- Repository sorgenti di Tox, su github.com.
- (EN) Tox, su Free Software Directory.