91274495bc
The first commit's message is: TOX_STATUS -> TOX_USER_STATUS, is more specific This is the 2nd commit message: I pretty strongly believe tox_iteration needs to be renamed to a verb There are several other noun functions in the API, but none of them *do* things. I think even tox_do is better than tox_iteration. tox_do_interval is one possibility, but I'm open to suggestions. This is the 3rd commit message: private_key -> secret_key This is more consistent with modern/NaCl/elliptic cryptography, and also "pk", meaning public key, is all over other toxcore code and documentation. This will eliminate ambiguity. This is the 4th commit message: Rename some functions for pseudo-namespace consistency The enum change results in long enum types, but I think consistency trumps having a few less characters. This is the 5th commit message: TOX_FILE_KIND -> TOX_FILE_TYPE This is more of an English thing than a consistency thing, but TOX_FILE_KIND sounds funnier/stranger to me than TOX_FILE_TYPE. This is the 6th commit message: More specific file control function names This is the 7th commit message: Rename custom packet functions for pseudo-namespace consistency This also has the issue with long enums... but I still think consistent enum names are better This is the 8th commit message: Rename functions for pseudo-namespace consistency This is the 9th commit message: Consistency with https://github.com/sonOfRa/tox4j/blob/master/doc/core-design.md#naming-conventions and the rest of the api This is the 10th commit message: Fix errors in previous function rename commits This is the 11th commit message: Shorten one error enum name |
||
---|---|---|
auto_tests | ||
build | ||
dist-build | ||
docs | ||
m4 | ||
other | ||
testing | ||
tools | ||
toxav | ||
toxcore | ||
toxdns | ||
toxencryptsave | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
autogen.sh | ||
ChangeLog | ||
configure.ac | ||
COPYING | ||
INSTALL | ||
INSTALL.md | ||
libtoxav.pc.in | ||
libtoxcore.pc.in | ||
Makefile.am | ||
NEWS | ||
README | ||
README.md |
With the rise of governmental monitoring programs, Tox, a FOSS initiative, aims to be an easy to use, all-in-one communication platform that ensures their users full privacy and secure message delivery.
Website | Wiki | Blog | FAQ | Binaries/Downloads | Clients | Compiling | API | Bugs | Help and Suggestions | IRC Channel: #tox@freenode
The Complex Stuff:
UDP vs. TCP
Tox must use UDP simply because hole punching with TCP is not as reliable. However, Tox does use TCP relays as a fallback if it encounters a firewall that prevents UDP hole punching.
Connecting & Communicating
Every peer is represented as a byte string (the public key [Tox ID] of the peer). By using torrent-style DHT, peers can find the IP of other peers by using their Tox ID. Once the IP is obtained, peers can initiate a secure connection with each other. Once the connection is made, peers can exchange messages, send files, start video chats, etc. using encrypted communications.
Q&A:
What are your goals with Tox?
We want Tox to be as simple as possible while remaining as secure as possible.
Why are you doing this? There are already a bunch of free Skype alternatives.
The goal of this project is to create a configuration-free P2P Skype replacement. “Configuration-free” means that the user will simply have to open the program and will be capable of adding people and communicating with them without having to set up an account. There are many so-called Skype replacements, but all of them are either hard to configure for the normal user or suffer from being way too centralized.