Hacker News new | past | comments | ask | show | jobs | submit login
uTox – Lightweight Tox Client (github.com/utox)
66 points by peter_d_sherman on June 15, 2023 | hide | past | favorite | 15 comments



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 :)


> and if you're gonna use a messenger, it probably should be from your phone

It’s my least favorite place to use a messenger from, I even completely refused WhatsApp until they had a stable desktop client.


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


Related:

List of Tox clients:

https://tox.chat/clients.html

What is Tox?

https://tox.chat/about.html

Tox library source code:

https://github.com/TokTok/c-toxcore

(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.


Is there any desktop client actively developed? Seems like a dire situation for tox.


Did anyone else read this and think about the tox python suite? https://tox.wiki/en/latest/


My favourite part of Tox is the fact that you don't need to supply any information to start chatting, unlike e.g. Telegram and Signal.

Unfortunately Tox is extremely unpopular/unknown compared to those other platforms, so it's harder to get people to use it.


See also this somewhat infamous thread on Tox's cryptographic design[1].

[1]: https://github.com/TokTok/c-toxcore/issues/426


This blog post linked from the issue is a much easier read:

* https://blog.tox.chat/2023/03/redesign-of-toxs-cryptographic...


I've used tuntox (https://github.com/gjedeer/tuntox) with Emacs' CRDT.el (https://elpa.gnu.org/packages/crdt.html) to setup serverless collaborative editing between Emacs users. It works quite well for pairing and is much smoother than video calling on dodgy networks.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: