The future of online communications.
Go to file
Dubslow 91274495bc
This is a combination of 11 commits.
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
2015-03-11 17:09:06 -05:00
auto_tests tox_callback_connection_status() implemented. 2015-03-11 15:37:25 -04:00
build compiling against nacl seems to break VANILLA_NACL... 2014-09-09 12:23:09 -05:00
dist-build Removed unnecessary parameters 2014-08-25 10:00:09 +04:00
docs Update avatar documentation 2015-01-31 20:13:39 -02:00
m4 Build system now automatically enables epoll support in TCP server 2014-07-17 20:44:49 -04:00
other Fixed incompatible pointer type warning 2015-02-07 20:35:51 -05:00
testing Ported nTox to new file transfer api. 2015-03-10 18:49:06 -04:00
tools Minor documentation cleanup 2014-03-04 07:48:38 -05:00
toxav Added different error codes for custom packet functions in Messenger. 2015-02-26 13:13:26 -05:00
toxcore This is a combination of 11 commits. 2015-03-11 17:09:06 -05:00
toxdns Made toxdns header cpp-friendly 2014-10-07 00:49:28 -04:00
toxencryptsave Fixed typedef. 2015-03-06 21:37:00 -05:00
.gitignore Added cscope.files to .gitignore 2014-12-19 11:59:20 -05:00
.travis.yml Travis should build Tox with Libsodium stable 2015-02-03 09:52:52 -05:00
AUTHORS Implemented autotools based build scripts 2013-08-24 03:25:07 +03:00
autogen.sh Some configuration/build fixes, so building basicaly everything else than the library can be disabled 2013-10-07 02:01:16 +02:00
ChangeLog Implemented autotools based build scripts 2013-08-24 03:25:07 +03:00
configure.ac Logger fix 2015-01-10 23:29:00 +01:00
COPYING Licenced the code under the GPL for now. 2013-06-26 15:02:42 -04:00
INSTALL Added HTTP proxy support 2014-12-13 23:59:50 -05:00
INSTALL.md Move OS X install script 2015-02-03 12:48:15 -05:00
libtoxav.pc.in Build system fixes. 2014-12-18 10:04:31 -05:00
libtoxcore.pc.in Build system fixes. 2014-12-18 10:04:31 -05:00
Makefile.am whitespace fix & proper use of "i.e.," 2014-04-09 18:49:15 -04:00
NEWS Implemented autotools based build scripts 2013-08-24 03:25:07 +03:00
README Implemented autotools based build scripts 2013-08-24 03:25:07 +03:00
README.md Wrong link 2015-02-10 13:03:33 -05:00

Project Tox


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.

Current build status: Build Status

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.

TODO:

Documentation: