2014-02-15 01:06:24 +08:00
|
|
|
It has come to our attention that to achieve decent market penetration Tox
|
|
|
|
must work behind ALL internet connections, may they be behind enterprise NATs
|
|
|
|
or any other bad network conditions.
|
|
|
|
|
|
|
|
The people who have issues with the UDP direct connection approach seem to be a
|
|
|
|
small minority though it is hard to estimate how many.
|
|
|
|
|
|
|
|
This means that routing their packets using good nodes on the network will
|
|
|
|
probably not take a huge toll on the network and will assure that people
|
|
|
|
can use Tox regardless of the quality of their internet connection.
|
|
|
|
|
|
|
|
|
|
|
|
How it's probably going to work:
|
|
|
|
1. Alice, a Tox client on a TCP only network generates a temporary public key
|
2014-02-23 06:06:07 +08:00
|
|
|
and connects to a bootstrap node.
|
2014-02-15 01:06:24 +08:00
|
|
|
|
2014-03-04 20:48:38 +08:00
|
|
|
2. Using the bootstrap node she finds and connects to a (exact number to be
|
|
|
|
determined later) number of random nodes that have TCP relay support.
|
2014-02-15 01:06:24 +08:00
|
|
|
|
|
|
|
3. She uses the onion through the TCP relay connections to send friend requests
|
|
|
|
or tell online friends which TCP nodes she is connected to and her temporary
|
|
|
|
public key.
|
|
|
|
|
|
|
|
4. Bob receives an onion packet from Alice telling him which nodes she is
|
|
|
|
connected to. Bob connects to these nodes and establishes a routed connection
|
|
|
|
with alice using that temporary public key.
|
|
|
|
|
|
|
|
5. That connection is used by both to transmit encrypted Messenger and A/V
|
|
|
|
packets.
|
|
|
|
|
2014-03-04 20:48:38 +08:00
|
|
|
6. If one of the nodes shuts down while it is routing traffic, Alice and Bob
|
|
|
|
just switch to one of the other nodes to which they are both connected.
|
2014-02-15 01:06:24 +08:00
|
|
|
|
|
|
|
|
2014-03-04 20:48:38 +08:00
|
|
|
Actual implementation details coming soon.
|