updated/fixed TODO list.

This commit is contained in:
irungentoo 2014-02-14 12:06:24 -05:00
parent bba2027e7b
commit 2772cb318b
2 changed files with 44 additions and 5 deletions

35
docs/TCP_Network.txt Normal file
View File

@ -0,0 +1,35 @@
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
and connects to a bootstrap server.
2. Using the bootstrap server she find and connects to a couple (exact number
to be determined later) number of random nodes that have TCP relay support.
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.
6. If one of the nodes shuts down while it is currently routing traffic, Alice
and bob just switch to one of the other nodes they are both connected to.
Actual detailed implementation details coming soon.

View File

@ -7,7 +7,7 @@ Networking:
[NOT STARTED] NAT-PMP port forwarding.
DHT:
[IN PROGRESS] Metadata collection prevention. (docs/Prevent_Tracking.txt)
[ALMOST DONE] Metadata collection prevention. (docs/Prevent_Tracking.txt)
[IN PROGRESS] Hardening against attacks.
[IN PROGRESS] Optimizing the code.
@ -20,14 +20,14 @@ Lossless UDP:
[NOT STARTED] Make clients sign their messages so that peers can't modify them.
[IN PROGRESS] Audio/Video
[DONE] Capture/encoding/streaming/decoding/displaying
[DONE] encoding/streaming/decoding
[IN PROGRESS] Call initiation
[NOT STARTED] Encryption
[IN PROGRESS] Encryption
[IN PROGRESS] Auditing.
[NOT STARTED] Small group chats
[NOT STARTED] Push to talk for audio
Friend_requests.c:
[NOT STARTED] What happens when a friend request is recieved needs to be changed.
[NOT STARTED] What happens when a friend request is received needs to be changed.
[NOT STARTED] Add multiple nospam functionality.
[DONE] File transfers
@ -38,6 +38,10 @@ Friend_requests.c:
[DONE] DHT + Messenger
[NOT STARTED] Group chats (They work with IPv6 but some things need to be tested.)
[NOT STARTED] A way for people to connect to people on Tox if they are behind a bad NAT that
blocks UDP (or is just unpunchable) (docs/TCP_Network.txt)
[NEEDS TESTING] Make the save made with tox_save_encrypted(...) harder to brute force.
See: (https://github.com/jencka/ProjectTox-libtoxdata)