Tox (informática)
Tox es un protocolo p2p de mensajería instantánea y videollamadas con cifrado de extremo a extremo. El objetivo del proyecto es proporcionar comunicaciones seguras y de fácil uso, sin intromisiones ni intermediarios. La implementación de referencia es publicada como software libre bajo los términos de la Licencia Pública General de GNU (GNU GPL), versión 3 o posterior.
Tox | ||
---|---|---|
Captura de pantalla de qTox, una aplicación Tox multiplataforma. | ||
Información general | ||
Tipo de programa | VoIP, mensajería instantánea, videoconferencia | |
Modelo de desarrollo | software libre | |
Lanzamiento inicial | 23 de junio de 2013 (11 años, 4 meses y 23 días) | |
Licencia | GNU General Public License, versión 3 o posterior | |
Estado actual | activo | |
Información técnica | ||
Programado en | C | |
Versiones | ||
Última versión estable | 0.2.13 ( 6 de diciembre de 2021) | |
Enlaces | ||
Historia
editarTox fue ideado por la comunidad del foro de tecnología del sitio web 4chan como contrapartida a las revelaciones de espionaje masivo hechas por Edward Snowden, entre las que se acusaba a Skype de cooperar con la NSA. El primer código de Tox fue publicado el 23 de junio de 2013 por un usuario llamado irungentoo.[1] Las primeras versiones de prueba aparecieron el 3 de febrero de 2014.
Características
editarTox utiliza criptografía de clave pública con perfecta discreción anterógrada para asegurar la privacidad e integridad de las comunicaciones. Para esto se recurre a la librería NaCl. Los usuarios se conectan de forma directa en una red de pares, por lo que la información cifrada nunca pasa por un servidor central. Los usuarios tienen la capacidad de solicitar la aceptación de otros usuarios, escribirse entre sí, unirse a canales grupales con amigos y desconocidos, charlar vía voz y vídeo y enviar archivos.
Aunque todos los clientes soportan mensajería básica, algunas características como videoconferencias, chat grupal, desktop streaming e intercambio de archivos sólo están presentes en algunos clientes. Las características adicionales pueden ser implementadas por cualquier cliente siempre y cuando ya exista la infraestructura en el protocolo.
Arquitectura
editarNúcleo
editarToxcore es una librería que establece el protocolo de comunicaciones y una API. Los front-ends para usuario, también llamados "clientes", se construyen a partir de este núcleo. Cualquier programador puede crear un cliente a partir de dicha librería.[2]
Protocolo
editarTox es una implementación del protocolo Tox, un ejemplo de capa de aplicación y presentación en modelo OSI. Se han hecho implementaciones alternativas del mismo protocolo, como es el caso Xot.[3]
Tox utiliza el formato de audio Opus y el formato de video VP8.
Criptografía
editarTox utiliza los primitivos criptográficos de la librería NaCl, o libsodium para ser más precisos. Específicamente, el algoritmo de curva elíptica 25519 para su intercambio de claves, el algoritmo xsalsa20 para la criptografía asimétrica, y Poly1305 como código de autenticación de mensaje; todos ellos estampas del Dr. Daniel Bernstein.[4]
Clientes
editarEl término "cliente" en el contexto de una arquitectura de red entre pares (como la de Tox) no hace referencia a una separación entre aplicaciones cliente y servidores de red. No existen servidores en la red de Tox. Un cliente es cualquier aplicación que usa la biblioteca Tox para comunicarse directamente con otros clientes, según el protocolo implementado en dicha biblioteca. Hay una diversidad de clientes con distintos grados de madurez para varias plataformas. La siguiente es una lista incompleta:[5]
Nombre | Sistema operativo | Escrito en |
---|---|---|
Antidote[6] | iOS | Objective-C |
Antox[7] | Android | Scala, Java |
Cyanide[8] | Sailfish OS | C++ |
gTox[9] | GNU/Linux | C++ (GTK+ 3) |
qTox[10] | GNU/Linux, FreeBSD, OS X, Windows | C++ (Qt) |
Toxic[11] | GNU/Linux, BSD, OS X | C (Ncurses) |
Toxy[12] | Windows | C# (WPF) |
Toxygen[13] | GNU/Linux, Windows | Python (Qt vía PySide) |
µTox[14] | GNU/Linux, FreeBSD, OS X, Windows | C (Win32 API, Xlib) |
xWinTox[15] | GNU/Linux, Solaris, BSD | C/C++ (FLTK) |
Isotoxin | Windows | C/C++ |
ratox | GNU/Linux, BSD, OS X | C |
Existen también plugins para Pidgin[16] y Miranda NG.[17]
Reseñas
editarTox recibió cierta publicidad significativa en su etapa conceptual temprana, llamando la atención de varios sitios noticiosos sobre tecnología.[18][19][20][21] Hacia el 15 de agosto de 2013 Tox figuraba en el número cinco en la lista de tendencias de GitHub.[22] Algunos expresaron preocupación por filtraciones de metadatos, a lo cual los desarrolladores respondieron implementando enrutamiento de cebolla para el proceso de descubrimiento de amigos.[23] Tox fue aceptado en el Google Summer of Code de 2014 y 2015.[24][25]
Véase también
editar- Portal:software libre. Contenido relacionado con software libre.
Referencias
editar- ↑ «Initial commit». GitHub. Consultado el 18 de febrero de 2014.
- ↑ «Toxcore Documentation». GitHub. Consultado el 7 de noviembre de 2015.
- ↑ «Xot». GitHub. Consultado el 6 de mayo de 2014.
- ↑ «A New Kind of Instant Messaging». Project Tox (en inglés). Consultado el 15 de febrero de 2017.
- ↑ «Client». Tox. Consultado el 6 de agosto de 2015.
- ↑ «Antidote». Archivado desde el original el 18 de noviembre de 2016. Consultado el 6 de agosto de 2015.
- ↑ «Antox». Tox-Wiki. Consultado el 6 de agosto de 2015.
- ↑ «Cyanide». Github. Consultado el 3 de enero de 2016.
- ↑ «Tox». Github. Consultado el 7 de noviembre de 2015.
- ↑ «qTox». Tox-Wiki. Consultado el 6 de agosto de 2015.
- ↑ «Toxic». Tox-Wiki. Consultado el 6 de agosto de 2015.
- ↑ «Tox». Tox-Wiki. Consultado el 6 de agosto de 2015.
- ↑ «clients:toxygen - Tox Wiki». wiki.tox.chat. Consultado el 1 de julio de 2016.
- ↑ «Tox». Tox-Wiki. Consultado el 7 de noviembre de 2015.
- ↑ «Tox». Tox-Wiki. Consultado el 7 de noviembre de 2015.
- ↑ «tox-prpl – Tox Protocol Plugin For Pidgin». Archivado desde el original el 22 de agosto de 2015. Consultado el 17 de septiembre de 2015.
- ↑ «Tox protocol». Miranda NG Official Community Forum. watcher. Consultado el 17 de septiembre de 2015.
- ↑ Kar, Saroj (5 de agosto de 2013). «Tox: A Replacement For Skype And Your Privacy?». Silicon Angle. Consultado el 19 de febrero de 2014.
- ↑ Grüner, Sebastian (30 de julio de 2013). «Skype-Alternative Freier und sicherer Videochat mit Tox» [More free and secure video chat with Tox]. Golem.de (en alemán). Consultado el 19 de febrero de 2014.
- ↑ «Проект Tox развивает свободную альтернативу Skype» [Tox project develops free Skype replacement]. opennet.ru (en ruso). 30 de julio de 2013. Consultado el 19 de febrero de 2014.
- ↑ Nitschke, Manuel (2 de agosto de 2013). «Skype-Alternative Tox zum Ausprobieren» [Tox Skype replacement tested]. heise.de (en alemán). Consultado el 19 de febrero de 2014.
- ↑ Asay, Matt (15 de agosto de 2013). «GitHub's new 'Trending' Feature Lets You See The Future». ReadWrite.com. Consultado el 19 de febrero de 2014.
- ↑ «Prevent_Tracking.txt». GitHub. Consultado el 20 de febrero de 2014.
- ↑ «Project Tox». GSoC 2014. Consultado el 7 de marzo de 2015.
- ↑ «Project Tox». GSoC 2015. Consultado el 7 de marzo de 2015.
Enlaces externos
editar- Tox wiki
- Especificación Tox Archivado el 9 de enero de 2017 en Wayback Machine.
- Estándar para clientes Tox