Hi, former (current) uTox coder/maintainer. uTox has been dormant for some time. And while I'm mostly proud of it and still completely standby uTox. Tox isn't the easiest messaging protocol to use. Not hard but not easy, user beware :)
Kinda shocked to see it on HN given the last commit date, but I'm happy to answer questions all the same.
Bonus suggestion: My friend is still working on aTox https://github.com/evilcorpltd/aTox/ (Tox for android) and it's an easy recommendation to make. The client is awesome, and if you're gonna use a messenger, it probably should be from your phone :)
AFAIK Tox allows for direct p2p connections between devices (no server in between). How does it get through NATs/firewalls/other to achieve this?
Does it "cheat" like Bittorrent and Syncthing by using relays/trackers or another type of server to establish connections? And if so how does it solve this problem?
In cases with poorly behaved NATs it'll start with a TCP connection to a node willing to relay a packet to a friend. Then it'll attempt to hole punch to reach your friend/peer. I'm not sure I'd call it cheating but I assume that's the same thing you're talking about. Both clients need to attempt to connect to each other to get udp nat hole punching to work. So I guess yes?
If it can't, it will fall back to TCP and relays, so it will totally cheat using relays if it has to :)
yeah, I feel you on that one. But I'd much rather be able to continue conversations when I leave my desk. So if assuming you can only pick one... I'd definitely rather use desktop, but I'd be less annoyed if my only choice, was mobile
(Note that I am not interested in the security/cryptography aspects of Tox (if it is indeed secure -- which is questionable/unproven to me at this point in time) -- I am interested in the ability to write Chat/Voice/Video apps around the library (basically apps like Skype, Signal, etc.) To that purpose, Tox (and the tox clients) provide an interesting and potentially very useful source code base...)
It seems like only one of those Tox clients is still being somewhat actively maintained. uTox hasn't been updated in a couple years. qTox in about a year. Toxygen 3 years. aTox still has commits though over a year since a release. Toxic had commits and a release a few months ago.
For anybody interested in p2p secure messaging, there is an interesting, relatively young project http://cwtch.im/ aiming to be a metadata-resistant, decentralized messenger. The UX is a bit clunky and I definitely am not going to try forcing my friends using it (as I do with Signal), but for tech-savvy communication this definitely looks promising.
As a heavy Matrix/Synapse user, I just use the tox bridge to matrix (mx-puppet-tox). I need access to messaging from multiple devices and Tox doesn't make this easy iirc.
Kinda shocked to see it on HN given the last commit date, but I'm happy to answer questions all the same.
Bonus suggestion: My friend is still working on aTox https://github.com/evilcorpltd/aTox/ (Tox for android) and it's an easy recommendation to make. The client is awesome, and if you're gonna use a messenger, it probably should be from your phone :)