The future of online communications.
Go to file
Steven Noonan 20336c0076 media.h: include 'opus.h' instead of 'opus/opus.h'
The current 'opus/opus.h' works if your opus.h is in /usr/include/opus, as
/usr/include is already in the header search path. If your opus header search
path is found via pkg-config, however, you will get something like this:

  $ pkg-config --cflags opus
  -I/usr/local/Cellar/opus/1.1/include/opus

Since this is pointing directly to include/opus, the 'opus/' prefix on the
header include directive will break.

Since 'opus.h' should work in both cases (as in both cases it will be
discovered via pkg-config), just use the simpler 'opus.h'.

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2014-04-13 20:56:29 -07:00
auto_tests Pings and onion packets implemented in TCP_Client.c 2014-04-12 22:00:46 -04:00
build pkg-config and av 2014-02-23 23:13:38 +01:00
dist-build Main buildscripts for android 2014-02-26 17:24:30 +08:00
docs TCP server now sends/handles ping packets. 2014-03-30 20:56:59 -04:00
m4 tox A/V: integration of A/V code into tox 2013-10-13 16:40:15 +02:00
other TCP_client pretty much done? 2014-04-13 20:40:48 -04:00
testing tox_group_get_names now returns a list of name lengths along with the list of names. 2014-03-31 20:37:03 -04:00
tools Minor documentation cleanup 2014-03-04 07:48:38 -05:00
toxav media.h: include 'opus.h' instead of 'opus/opus.h' 2014-04-13 20:56:29 -07:00
toxcore TCP_client pretty much done? 2014-04-13 20:40:48 -04:00
.gitignore Remove libtoxav.pc from git 2014-03-10 12:29:18 +01:00
.travis.yml Fix libtoxav link error. 2014-03-05 20:04:19 +08: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 whitespace fix & proper use of "i.e.," 2014-04-09 18:49:15 -04:00
COPYING Licenced the code under the GPL for now. 2013-06-26 15:02:42 -04:00
INSTALL Some configuration/build fixes, so building basicaly everything else than the library can be disabled 2013-10-07 02:01:16 +02:00
INSTALL.md whitespace fix & proper use of "i.e.," 2014-04-09 18:49:15 -04:00
libtoxav.pc.in pkg-config and av 2014-02-23 23:13:38 +01:00
libtoxcore.pc.in Fix NaCl builds for *BSD 2014-03-23 02:05:57 +01: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 Add Qt-Gui 2014-03-14 17:24:49 -04: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 | Clients | Compiling | API | Qt-GUI | IRC: #tox@freenode

The Complex Stuff:

UDP vs. TCP

Tox must use UDP simply because hole punching with TCP is not as reliable.

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 of 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 without any account configuration will be capable of adding people to his or her's friends list and start conversing with them. There are many so-called Skype replacements and all of them are either hard to configure for the normal user or suffer from being way too centralized.

TODO:

Documentation: