Tox es un protocolo de mensajería instantánea y videollamadas peer-to-peer que ofrece cifrado de extremo a extremo . El objetivo declarado del proyecto es proporcionar una comunicación segura pero de fácil acceso para todos. [2] Una implementación de referencia del protocolo se publica como software gratuito y de código abierto bajo los términos de GNU GPL-3.0-o posterior .
Lanzamiento estable | 0.2.12 / 1 de mayo de 2020 [1] |
---|---|
Repositorio | |
Escrito en | C |
Sistema operativo | Windows , Linux , OS X , Android , iOS , FreeBSD , OpenIndiana , Sailfish OS |
Tipo | VoIP , mensajería instantánea , videoconferencia |
Licencia | GPL-3.0 o posterior . |
Sitio web | tox |
Historia
El compromiso inicial con GitHub fue enviado el 23 de junio de 2013 por un usuario llamado irungentoo. [3] Los binarios de prueba pre-alfa se pusieron a disposición de los usuarios desde el 3 de febrero de 2014 en adelante, y Jenkins Automatron publica las compilaciones nocturnas de Tox . [4] El 12 de julio de 2014, Tox entró en una etapa alfa de desarrollo y se creó una página de descarga rediseñada para la ocasión.
Características
Cifrado de tráfico
A los usuarios se les asigna una clave pública y privada, y se conectan entre sí directamente en una red peer-to-peer completamente distribuida . Los usuarios tienen la capacidad de enviar mensajes a amigos, unirse a salas de chat con amigos o extraños, conversar por voz / video y enviarse archivos entre ellos. Todo el tráfico a través de Tox está cifrado de extremo a extremo utilizando la biblioteca NaCl , que proporciona cifrado autenticado y secreto directo perfecto .
Revelación de la dirección IP a amigos
Tox no intenta ocultar su dirección IP cuando se comunica con amigos, ya que el objetivo de una red de igual a igual es conectarlo directamente con sus amigos. Existe una solución alternativa en la forma de tunelizar sus conexiones Tox a través de Tor. Sin embargo, un usuario que no sea amigo no puede descubrir fácilmente su dirección IP utilizando solo una ID de Tox; le revela su dirección IP a alguien solo cuando lo agrega a su lista de contactos. [5]
Funciones de mensajería adicionales
Los clientes de Tox tienen como objetivo proporcionar soporte para varias funciones de comunicación seguras y anónimas; Mientras que cada admite el cliente de mensajería , las características adicionales como el grupo de mensajería , voz y llamadas de vídeo , voz y videoconferencia , los indicadores de escritura, mensaje leído recibos , intercambio de archivos , cifrado de perfil, y la transmisión de escritorio son compatibles con diversos grados de los clientes móviles y de escritorio. Cualquier cliente puede implementar funciones adicionales siempre que sean compatibles con el protocolo central. Las funciones que no están relacionadas con el sistema de red central se dejan en manos del cliente. Se recomienda encarecidamente a los desarrolladores de clientes que se adhieran al Estándar de cliente Tox [6] para mantener la compatibilidad entre clientes y mantener las mejores prácticas de seguridad.
Usabilidad como mensajería instantánea
Aunque varias aplicaciones que usan el protocolo Tox parecen tener una función similar a las aplicaciones de mensajería instantánea normales, la falta de servidores centrales similares a XMPP o Matrix tiene actualmente la consecuencia de que ambas partes del chat deben estar en línea para que el mensaje se envíe y reciba. . Los mensajeros habilitados para Tox manejan esto de manera separada, algunos evitan que el usuario envíe el mensaje si la otra parte se ha desconectado, mientras que otros muestran el mensaje como enviado cuando en realidad está almacenado en el teléfono del remitente esperando ser entregado cuando se recibe. el partido se vuelve a conectar a la red. [7]
Arquitectura
Centro
El núcleo de Tox es una biblioteca que establece el protocolo y la API. Las interfaces de usuario, o clientes, se construyen en la parte superior del núcleo. Cualquiera puede crear un cliente utilizando el núcleo. Los documentos técnicos que describen el diseño del Core, escritos por el desarrollador principal irungentoo, están disponibles públicamente. [8]
Protocolo
El núcleo de Tox es una implementación del protocolo Tox, un ejemplo de la capa de aplicación del modelo OSI y posiblemente la capa de presentación. Existen implementaciones del protocolo Tox no realizadas por el proyecto. [9] [ verificación fallida ]
Tox usa el formato de audio Opus para la transmisión de audio y el formato de compresión de video VP8 para la transmisión de video.
Cifrado
Tox utiliza las primitivas criptográficas presentes en la biblioteca de criptografía NaCl , a través de libsodium. Específicamente, Tox emplea Curve25519 para sus intercambios de claves, xsalsa20 para cifrado simétrico y Poly1305 para MAC. [10] Debido a que el protocolo tox puede ser usado por muchas aplicaciones diferentes, y debido a que la red tox transmite el cliente usado, también es posible que los clientes usen encriptación adicional cuando envían a clientes que soportan las mismas características.
Clientela
Un cliente es un programa que utiliza la biblioteca principal de Tox para comunicarse con otros usuarios del protocolo Tox. Hay varios clientes disponibles para una amplia gama de sistemas; la siguiente lista está incompleta. [11]
Nombre | Sistema operativo | Escrito en | Estado de desarrollo y comentarios |
---|---|---|---|
Antídoto [12] | iOS | Rápido | Abandonado (ver la página de GitHub del proyecto) |
Antox [13] | Androide | Scala , Java | Abandonado, última actualización en diciembre de 2017 |
aTox [14] | Androide | Kotlin | Activo |
Cianuro [15] | Sistema operativo Sailfish | C ++ | Abandonado, [16] última actualización en enero de 2017 |
gTox [17] | Linux | C ++ ( GTK + 3 ) | Abandonado (ver la página de GitHub del proyecto) |
qTox [18] | Linux , FreeBSD , OS X , Windows | C ++ ( Qt ) | Activo |
Tóxico [19] | Linux , FreeBSD , OpenBSD , DragonflyBSD , NetBSD , Solaris , macOS , Android | C ( Ncurses ) | Activo |
Toxy [20] | Ventanas | C # ( WPF ) | Sin mantenimiento (consulte la página de GitHub [21] del proyecto ) |
Toxygen [22] | Linux , Windows | Python ( Qt a través de PySide ) | Activo |
TRIfA [23] | Androide | C , Java | Activo |
µTox [24] | Linux , FreeBSD , OS X , Windows | C | Activo |
xWinTox [25] | Linux , FreeBSD , Solaris | C / C ++ ( FLTK ) | Abandonado, [26] última actualización en diciembre de 2015 |
Isotoxina [27] | Ventanas | C ++ | Abandonado [28] última actualización en marzo de 2018 |
ratox [29] | Linux , BSD , OS X | C | Abandonado [30] |
WebTox [31] | Basado en la web | HTML5 (cliente) + Ir (servidor) | Abandonado, [32] última actualización en enero de 2016 |
También hay complementos de protocolo Tox para Pidgin [33] (ya no se mantienen, pero funcionan a partir del 30 de marzo de 2018) y Miranda NG . [34]
Desasociación con Tox Foundation
El 11 de julio de 2015, los desarrolladores de Tox anunciaron oficialmente su desvinculación de la Fundación Tox, debido a "una disputa sobre el uso indebido de los fondos donados" por parte del director y director ejecutivo de la Fundación Tox, según LWN.net . [35] Debido a que los dominios estaban bajo el control de la Fundación Tox, el desarrollo principal del proyecto se transfirió a una nueva infraestructura, servidores y un nuevo dominio.
Recepción
Tox recibió una publicidad significativa en su etapa conceptual inicial, llamando la atención de los sitios de noticias de tecnología en línea globales. [36] [37] [38] [39] El 15 de agosto de 2013, Tox era el número cinco en la lista de tendencias principales de GitHub . [40] Se plantearon preocupaciones sobre las filtraciones de metadatos y los desarrolladores respondieron implementando el enrutamiento de Onion para el proceso de búsqueda de amigos. [41] Tox fue aceptada en Google Summer of Code como una organización de tutoría en 2014 y 2015. [42] [43]
Ver también
- Comparación de clientes de mensajería instantánea
- Comparación de protocolos de mensajería instantánea
- Comparación de software de VoIP
- Lista de paquetes de software gratuitos y de código abierto
Referencias
- ^ "GitHub - TokTok / c-toxcore: el futuro de las comunicaciones en línea" . Proyecto TokTok. 2020-05-01 . Consultado el 1 de mayo de 2020 .
- ^ "Mensajería segura para todos" . Tox . Consultado el 6 de agosto de 2015 .
- ^ "Confirmación inicial" . GitHub . Consultado el 18 de febrero de 2014 .
- ^ "Paquetes de Jenkins Tox" . Consultado el 7 de noviembre de 2015 .
- ^ "¿Tox filtra mi dirección IP?" .
- ^ "Estándar del cliente de Tox" . Consultado el 7 de noviembre de 2015 .
- ^ "usuarios: solución de problemas - Tox Wiki" . wiki.tox.chat . Consultado el 26 de abril de 2019 .
- ^ "Documentación de Toxcore" . GitHub . Consultado el 7 de noviembre de 2015 .
- ^ "Xot" . GitHub . Consultado el 6 de mayo de 2014 .
- ^ "Un nuevo tipo de mensajería instantánea" . Proyecto Tox . Consultado el 15 de febrero de 2017 .
- ^ "Cliente" . Clientes de toxinas . Consultado el 17 de enero de 2021 .
- ^ "Antídoto" . Consultado el 6 de agosto de 2015 .
- ^ "Antox" . Tox-Wiki . Consultado el 6 de agosto de 2015 .
- ^ "Atox" . Github . Consultado el 22 de enero de 2021 .
- ^ "Cianuro" . Github . Consultado el 3 de enero de 2016 .
- ^ "Último cliente en el repositorio de Cyanide" . GitHub . Consultado el 12 de abril de 2018 .
- ^ "gTox" . Github . Consultado el 7 de noviembre de 2015 .
- ^ "qTox" . Tox-Wiki . Consultado el 6 de agosto de 2015 .
- ^ "Tóxico" . Github . Consultado el 22 de enero de 2021 .
- ^ "Toxy" . Tox-Wiki . Consultado el 6 de agosto de 2015 .
- ^ "Toxy repo" . GitHub . Consultado el 12 de abril de 2018 .
- ^ "Toxygen" . wiki.tox.chat . Consultado el 1 de julio de 2016 .
- ^ "TRIfA" . Github . Consultado el 11 de mayo de 2018 .
- ^ "µTox" . Tox-Wiki . Consultado el 7 de noviembre de 2015 .
- ^ "xWinTox" . Tox-Wiki . Consultado el 7 de noviembre de 2015 .
- ^ "Última confirmación en el repositorio de xWinTox" . GitHub . Consultado el 12 de abril de 2018 .
- ^ "Isotoxina" . Tox-Wiki . Consultado el 21 de julio de 2017 .
- ^ "Última confirmación en el repositorio de isotoxinas" . Github . Consultado el 21 de agosto de 2020 .
- ^ "ratox" . 2f30 . Consultado el 26 de julio de 2018 .
- ^ "Última confirmación en el repositorio de ratox" . GitHub . Consultado el 26 de julio de 2018 .
- ^ "WebTox" . GitHub . Consultado el 6 de septiembre de 2017 .
- ^ "Última confirmación en el repositorio de WebTox" . GitHub . Consultado el 12 de abril de 2018 .
- ^ "tox-prpl - Complemento de protocolo Tox para Pidgin" . Consultado el 30 de marzo de 2018 .
- ^ "Protocolo Tox" . Foro de la comunidad oficial de Miranda NG . vigilante . Consultado el 17 de septiembre de 2015 .
- ^ "Una escisión dentro del proyecto Tox" . LWN.net . Nathan Willis. 15 de julio de 2015 . Consultado el 14 de febrero de 2016 .
- ^ Kar, Saroj (5 de agosto de 2013). "Tox: ¿un reemplazo para Skype y su privacidad?" . Ángulo de silicio . Consultado el 19 de febrero de 2014 .
- ^ Grüner, Sebastian (30 de julio de 2013). "Skype-Alternative Freier und sicherer Videochat mit Tox" [Más video chat gratuito y seguro con Tox]. Golem.de (en alemán) . Consultado el 19 de febrero de 2014 .
- ^ "Проект Tox развивает свободную альтернативу Skype" [El proyecto Tox desarrolla un reemplazo gratuito de Skype]. 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" [Reemplazo de Tox Skype probado]. heise.de (en alemán) . Consultado el 19 de febrero de 2014 .
- ^ Asay, Matt (15 de agosto de 2013). "La nueva función 'Trending' de GitHub te permite ver el futuro" . ReadWrite.com . Consultado el 19 de febrero de 2014 .
- ^ "Prevent_Tracking.txt" . GitHub . Consultado el 20 de febrero de 2014 .
- ^ "Proyecto Tox" . GSoC 2014 . Consultado el 7 de marzo de 2015 .
- ^ "Proyecto Tox" . GSoC 2015 . Consultado el 7 de marzo de 2015 .
enlaces externos
- Página web oficial