Tox: next level of Instant Messaging

23 points by hehe_im_a_cutie ↗ HN
The internet was made for communication. But talking with your friends, in a safe, reliable way, is much harder than it should be. Secure, FOSS communication methods usually suffer from obscurity, and are typically still centralized, forcing the user to trust a server or to set up their own. We think it's time that security and simplicity came together, available to everyone. Tox is an encrypted, peer-to-peer network for instant messaging, calling, and videochatting, one-on-one or in groups. Tox is a core protocol and API that anyone can make a client for. Existing clients are listed on http://wiki.tox.im/Clients, including:

• a cross-platform GTK client (https://github.com/naxuroqa/Venom)

• a cross-platform Qt client (https://github.com/nurupo/ProjectTox-Qt-GUI)

• an OS X client (https://github.com/stal888/Poison)

• an iOS client (https://github.com/Jman012/Toxicity)

• an Android client (https://github.com/Astonex/Antox)

• an ncurses-based terminal client for Unix-likes ( https://github.com/Tox/toxic )

The Tox core has been shared all over the internet by inspired enthusiasts, and has drawn the attention of many developers. However, the clients haven't received nearly the same amount of publicity, and their developers need help to bring easy, secure communication to the masses. And since the core is a simple protocol library with an API (and with bindings available for many other languages), you can start your own client too. If you fancy yourself more of a low-level programmer, help with the core is always appreciated: https://github.com/irungentoo/ProjectTox-Core Developers are always present over at #tox-dev on freenode. For the API: http://api.libtoxcore.so/

Thank you for your time,

- https://tox.im/

13 comments

[ 3.4 ms ] story [ 45.4 ms ] thread
For those still at university, don't feel afraid to help as well! We over at Tox are part of Google Summer of Code and provide a great opportunity to work on Tox under a knowledgeable mentor.

Check out http://wiki.tox.im/Google_Summer_of_Code for more information.

Hi, I develop Poison and was told to post in this thread.
Hello there!

Could you talk a little about your Client? What drives you to develop Tox? What are your expectations? A general overview and a message to aspiring developers.

Android developer here reporting in to raise awareness. Currently the app is still in heavy development and not ready to be tested by general users, but I'm happy for anyone to submit pull requests for even the tiniest of fixes/changes. Once ready it'll be submitted to F-Droid and eventually Google Play.

If you're a student and wanting to participate in GSoC this year, the android app has been approved as a project. If you'd like to work on this, feel free to contact me (check my github for contact details - I'm not sure if I'm allowed to post them here).

How is this different from something like, say, TorChat?
The first things which come to mind is Tox supports file transfers and A/V.
TorChat doesn't support Audio, Video or File Transferring. Also, Tox is much more modular and make the process of creating clients for it much easier.
I've been interested in developing a secured p2p messaging app for ios for a while now. Unfortunately, that's held back by my lack of knowledge on cryptography.

It seems that p2p is the way forward for the future of communication. We simply can no longer trust the old centralized server model. At this point, I simply assume that almost everything has a backdoor.

If you wanted to, you could create an iOS client using the tox core. That way you don't have to worry about lacking crypto knowledge. API documentation is being put together here http://api.libtoxcore.so/ for client developers though it's not complete. You could also help with the current iOS app being developed!
What is the difference between a server and a DHT node? You criticize other protocols "forcing the user to trust a server or to set up their own", where Tox requires the user to trust a node or to set up his own.
I guess the main difference would be that everyone in the network is a node, while everyone in a client/server network is not a server.
Interested in checking out the Qt client and getting it running on BB10 (not sure if it's been done yet). Don't have much free time as of late sadly. I'll be sure to check out the repo tonight though.