The future of online communications.
Go to file
iphydf 83f525886a
Start recording test coverage and move to ubuntu precise.
- We use coveralls.io to report on test coverage and avoid getting below a
  certain threshold. The threshold is currently 60%, but we will be increasing
  it when it stabilises.
- We use gcc/clang -ftest-coverage and gcov to measure C test coverage.
- We switched to container based Travis build infrastructure, which has the
  advantage of faster boot times[1] (1-6s vs. 20-52s). The trusty beta supports
  caching, but the longer boot times make it an unattractive target.
- We now need to build more dependencies ourselves and cache the result. We
  still fetch what we can (currently opam, libvpx, and check) from apt.

[1] https://docs.travis-ci.com/user/ci-environment/#Virtualization-environments
2016-07-07 12:45:55 +02:00
auto_tests Move argument comments to the end of line 2016-02-27 14:32:49 -05:00
build Fix include paths 2016-01-01 20:28:48 -05:00
dist-build Removed unnecessary parameters 2014-08-25 10:00:09 +04:00
docs changed friends list to friend list 2015-09-02 00:03:51 +02:00
m4 Build system now automatically enables epoll support in TCP server 2014-07-17 20:44:49 -04:00
other Remove trailing whitespace from toxav.in.h. 2016-07-07 12:44:16 +02:00
super_donators Added my pixfile! 2015-12-12 20:40:57 +01:00
testing fix: compare sensitive data with sodium_memcmp 2016-01-27 02:14:59 +03:00
toxav Added astyled toxav.h to match toxav.in.h 2016-03-09 15:52:31 +13:00
toxcore Merge branch 'network-test-magic' of https://github.com/roman-yepishev/toxcore 2016-03-19 00:09:36 -04:00
toxdns Astyle. 2015-11-03 13:42:05 -05:00
toxencryptsave Add missing files so that archive for make dist is complete 2016-02-26 22:58:13 -05:00
.gitignore Add spec file for rpm generation 2015-03-04 00:35:25 +01:00
.travis.yml Start recording test coverage and move to ubuntu precise. 2016-07-07 12:45:55 +02: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
configure.ac Fixes. 2016-01-30 17:23:15 -05:00
COPYING Removed the unused autotools files 2015-10-05 15:18:55 -07:00
DONATORS If we receive a packet from a node we are searching for, ping it. 2015-12-08 15:43:03 -05:00
INSTALL.md updated git repo urls 2015-10-14 15:49:44 +05:30
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 Fixed make dist. 2015-06-24 21:03:16 -04:00
README.md Merge branch 'fix-broken-link' of https://github.com/duthils/toxcore 2015-11-19 14:44:26 -05:00
tox.spec.in Add spec file for rpm generation 2015-03-04 00:35:25 +01:00

Project Tox


With the rise of government surveillance programs, Tox, a FOSS initiative, aims to be an easy to use, all-in-one communication platform that ensures full privacy and secure message delivery.

Website | Wiki | Blog | FAQ | Binaries/Downloads | Clients | Compiling

IRC Channels: #tox@freenode, #tox-dev@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: