Tox ist ein freies Peer-to-Peer-Instant-Messaging- und Videotelefonie-Netzwerkprotokoll, das verschlüsselten Datenaustausch ermöglicht. Das Ziel des Projekts ist es, eine sichere, aber dennoch einfach zu benutzende Kommunikationsplattform zu kreieren.
Geschichte
Die Entwicklung von Tox begann am 22. Juni 2013 auf dem Technologie-Subboard von 4chan in einem Thread, in dem es um die Privatsphäre von Skype-Nutzern ging. Der Diskussionsanlass war der Beginn der globalen Überwachungs- und Spionageaffäre einige Wochen zuvor. Der Name Tox wurde vorgeschlagen und offiziell akzeptiert. Der erste Beitrag auf GitHub wurde von einem Nutzer mit dem Namen irungentoo eingereicht. Ausführbare Dateien wurden zum ersten Mal am 3. Februar 2014 zugänglich gemacht. Nightly Builds werden in regelmäßigen Abständen mit Jenkins veröffentlicht.
Mit Stand von Januar 2017 sind diverse Sicherheitsmängel bekannt. Die aktuellen Entwickler sprechen selbst von einer ungetesteten, nicht gut verstandenen Codebasis.
Eigenschaften
Dem Benutzer wird ein privater und ein öffentlicher Schlüssel zugeteilt, mit dem er sich mittels Peer-to-peer zu einem anderen Benutzer verbinden kann. Der Nutzer ist in der Lage, mit Freunden zu chatten, Chaträumen beizutreten und Dateien zu versenden. Der gesamte Datenverkehr wird dabei mittels NaCl-Bibliothek verschlüsselt. Seit Februar 2014 wird daran gearbeitet, Audio- und Videotelefonie in die Clients zu implementieren.
Funktionen: Textnachrichten mit Schreibindikator Gruppenchats VoIP Videochat Screen-Sharing Dateiversand
Zusätzliche Features können von jedem Client implementiert werden, vorausgesetzt, sie werden vom Kern unterstützt. Kernunabhängige Features sind den Clients überlassen.
Tox benutzt Hole Punching, um zwischen Teilnehmern, die sich hinter einer Firewall befinden, eine direkte Verbindung herzustellen. Portweiterleitungen sind deshalb nicht notwendig.
Tox nutzt die Codecs Opus (Audio) und VP8 (Video).
Architektur Core
Das Tox-Projekt beinhaltet eine Kernbibliothek, welche das Protokoll und die API zur Verfügung stellt. Die Front-Ends (oder Clients) werden auf die Spitze des Kerns gesetzt. Jeder kann einen Client unter Einbezug des Kerns erstellen.
Clients mini|toxic Ein Client ist ein Programm, das die Kernbibliothek benutzt, um mit anderen Tox-Nutzern zu kommunizieren. Es sind verschiedene Clients für verschiedene Betriebssysteme verfügbar.Tox-Wiki: Clients
Zu den aktiv entwickelten Clients gehören: Clientname ProgrammierspracheVersionDatum Interface Betriebssystem Besonderheiten µTox C0.18.02020/11/27 GUI Windows, Mac OS X, Linux VoIP, Videochat, Screen-Sharing Poison C, Objective-C0.012015/11/03 GUI Mac OS X Toxygen Python3v0.4.32020/03/21 GUI Linux, Windows Antidote Objective-C1.002016/11/01 GUI iOS Antox Scala, Javav0.14.0-alpha 2014/10/03 GUI Android (als Download verfügbar) Toxic C (ncurses)0.10.02020/11/30 CLI Unixartige VoIP cyanideC++ (Qt)./.2015/04/17GUISailfish OS Ricin Vala0.2.92016/11/14GUI Linux
Projekte, die das Tox-Protokoll über ein Plugin benutzen, sind: Pidgin Miranda NG
Rezeption
Tox wurde schon während der frühen Entwicklungsphase der Öffentlichkeit bekannt, nachdem eine Reihe von Webportalen darüber berichtet hatte. Am 15. August 2013 befand sich Tox auf Platz 5 von GitHubs „Top-Trending“-Liste. Bedenken über Metadaten-Leaks machten die Runde, woraufhin die Entwickler Onion-Routing in den Prozess des Freundefindens integrierten. Am 24. Februar 2014 wurde Tox in den Google Summer of Code als eine Mentoringorganisation aufgenommen.
Verwandte Projekte RetroShare GNUnet I2P Briar
Weblinks Offizielle Website Offizielles Wiki
Einzelnachweise
Kategorie:Freie Instant-Messaging-Software Kategorie:Freie Videokonferenz-Software Kategorie:IOS-Software Kategorie:Android-Software Kategorie:Instant-Messaging-Protokoll