#1522·toxcore

Direct ip-2-ip tunnelling of payload data (not relaying it)

Author: gianni76Created Feb 1, 2016Updated Aug 28, 2019

After initial testing of uTox and verifying that in TCP-only mode (UDP off) the bandwith consumption was acceptable, I am happy with the functionalities, but I learnt that in this mode uTox clients don't connect directly one-to-one in p2p mode, but rather via 'other people who are acting as TCP relays'.

From the normal usage needs of lots of field workers, I would like to suggest the implementation of a far more efficient configuration, which, after the initial discovery phase (DHT id-to-ip lookup), sends the payload data (chat/voice comms and/or files) directly via tunnels from-source-ip-to-destination-ip. This would ensure the maximum possible:

  • efficiency (no data wastage),
  • reliability (if we both are online, after the discovery phase, even if no relays are online, we can still exchange data), and most of all
  • security (third parties data tapping/recording would be much, much more difficult).

The security concern is maximum for me, as passing via relays (as it is done now) of course weakens a lot the communication link specially for files and allows easier potential data leaks (yes data would be encrypted, but still an attacker could more easily record them and attempt to decrypt it. Even if it took a long time to do it,... files could be exposed).

Of course relaying could be useful/essential for particular network configurations (NAT-ed links for example), but in 99% of the "normal" cases the ip-p-2-p-direct-tunnelling is the most efficient and secure way forward and should be at least an option in the program.