Tox (protocol)
Repository | |
---|---|
Written in | C |
Operating system | Windows, Linux, OS X, Android, iOS, FreeBSD, OpenIndiana |
Type | VoIP, Instant messaging, Videoconferencing |
License | GNU GPLv3 or later |
Website | tox |
Tox is a free and open-source, peer-to-peer, encrypted instant messaging and video calling software. The stated goal of the project is to provide secure yet easily accessible communication for everyone.[1] The Tox Foundation took part in Google Summer of Code 2014.
History
Tox was incepted on June 22, 2013, on 4chan, in a thread concerning the privacy of Skype users in relation to the global surveillance disclosures that had occurred a few weeks prior.[2] The name Tox was suggested,[2] and was accepted officially due to its continued use. The initial commit to GitHub was pushed on June 23, 2013, by a user named irungentoo.[3] Pre-alpha testing binaries were made available for users from February 3, 2014, onwards, and nightly builds of Tox are published by the Jenkins Automatron.[4] On July 12, 2014, Tox entered alpha and a redesigned download page was created for the occasion.[5]
Features
Users are assigned a public and private key, and they connect to each other directly in a peer-to-peer network. Users have the ability to message friends, join chat rooms with friends or strangers, and send each other files. Everything is encrypted using the NaCl library.
In February 2014, audio and video calls as well as conferences were still being implemented, as of August 2014 those features are ready in all the main clients. The official client aims to provide support for messaging, group messaging, voice and video calling, voice and video conferencing, typing indicators, read-receipts, push-to-talk technology, file sharing technology, and desktop streaming. Additional features can be implemented by any client as long as they are supported by the core protocol. Features that are not related to the core networking system are left up to the client.
Architecture
Core
The Tox project architecture is based on a core library establishing the protocol and API. User front-ends, or clients, are built on the top of the core. Anyone can create a client utilizing the core. A technical report describing the design of the Core written by the core developer irungentoo and updated occasionally is available publicly as of August 2014 on the Tox Foundation's Jenkins.[6]
Protocol
The core of Tox is an implementation of the Tox protocol, an example of the application layer of the OSI model and arguably the presentation layer. Implementations of the Tox protocol not done by the project exist, an example of one being Xot.[7]
Clients
A client is a program that uses the Tox core library to communicate with other users of the Tox protocol. The mockup on the official site depicts the GTK client Venom, but many other clients are available for a wide range of systems.[8]
The official clients are:[5]
Operating System | Client name | Written in |
---|---|---|
Linux, Windows | uTox[9] | C (Win32 API, Xlib) |
Linux, FreeBSD, OS X, Windows | qTox[10] | C++ (Qt) |
Linux, FreeBSD, OpenIndiana | Venom[11] | Vala (GTK+) |
Other projects that use the Tox protocol:
- Otruta: This is the first project to use the Tox protocol in its own network. Otruta is a "crypto-protected walkie-talkie tool"[12] for activists to use to communicate in dangerous situations. No code has yet been pushed to the GitHub page. This project was accepted by Project Tox for Google Summer of Code 2014[13]
- ToxSync: Encrypted file syncing using the Tox protocol. Sync folders across one's devices using ToxSync clients. Not yet functional. A BitSync alternative.[14]
There is also a Tox plugin for Pidgin.
Third-party named pipe-based client from several suckless.org project members – ratox – is also available.[15]
Reception
Tox received a huge bout of publicity in its early conceptual stage, catching the attention of global online tech news sites.[16][17][18][19] On August 15, 2013, Tox was number five on GitHub's top trending list.[20] Concerns about metadata leaks were raised, and developers responded by implementing Onion routing for the friend-finding process.[21] On February 24, 2014, Tox was accepted into the Google Summer of Code as a Mentoring Organization.[22]
References
- ^ "Secure Messaging for Everyone". Tox. Retrieved 20 February 2014.
- ^ a b "Daily reminder that Skype reads the URLs you send, your browser profile, sends encrypted data to Microsoft data centers and gives your conversations to the NSA". Rebecca Black Tech Archive. Retrieved 18 February 2014.
- ^ "Initial commit". GitHub. Retrieved 18 February 2014.
- ^ "Dashboard [Jenkins]". Retrieved 11 March 2014.
- ^ a b "The day we've all been waiting for". Tox project. Retrieved 31 August 2014.
- ^ "Technical Report" (PDF). Tox Foundation. Retrieved 31 August 2014.
- ^ "Xot". GitHub. Retrieved 6 May 2014.
- ^ "Client". Tox. Retrieved 18 February 2014.
- ^ "uTox". GitHub. Retrieved 31 March 2014.
- ^ "qTox". GitHub. Retrieved 31 August 2014.
- ^ "Venom". GitHub. Retrieved 18 February 2014.
- ^ "Otruta". Tox.im. Retrieved 3 March 2014.
- ^ "Project Tox". Google. Retrieved 6 May 2014.
- ^ "ToxBox". GitHub. Retrieved 6 May 2014.
- ^ Papastamos, Dimitris. "ratox: FIFO based tox client". 2f30.org. Retrieved 1 October 2014.
- ^ Kar, Saroj (5 August 2013). "Tox: A Replacement For Skype And Your Privacy?". Silicon Angle. Retrieved 19 February 2014.
- ^ Grüner, Sebastian (30 July 2013). "Skype-Alternative Freier und sicherer Videochat mit Tox". Golem.de (in German). Retrieved 19 February 2014.
{{cite web}}
: Unknown parameter|trans_title=
ignored (|trans-title=
suggested) (help) - ^ "Проект Tox развивает свободную альтернативу Skype". opennet.ru (in Russian). 30 July 2013. Retrieved 19 February 2014.
{{cite web}}
: Unknown parameter|trans_title=
ignored (|trans-title=
suggested) (help) - ^ Nitschke, Manuel (2 August 2013). "Skype-Alternative Tox zum Ausprobieren". heise.de (in German). Retrieved 19 February 2014.
{{cite web}}
: Unknown parameter|trans_title=
ignored (|trans-title=
suggested) (help) - ^ Asay, Matt (15 August 2013). "GitHub's new 'Trending' Feature Lets You See The Future". ReadWrite.com. Retrieved 19 February 2014.
- ^ "Prevent_Tracking.txt". GitHub. Retrieved 20 February 2014.
- ^ "Project Tox". GSoC. Retrieved 2 March 2014.
- Secure communication
- 2013 software
- Android (operating system) software
- Cross-platform software
- Instant messaging clients
- IOS software
- Instant messaging clients for Linux
- OS X instant messaging clients
- Videotelephony
- VoIP services
- VoIP software
- Windows instant messaging clients
- Instant messaging clients that use GTK+
- Free software programmed in Vala