2016-07-12 05:19:11 +08:00
![Project Tox ](https://raw.github.com/TokTok/toxcore/master/other/tox.png "Project Tox" )
2014-03-15 05:22:22 +08:00
***
2013-07-09 05:13:29 +08:00
2016-07-12 04:56:50 +08:00
**Current build status:** [![Build Status ](https://travis-ci.org/TokTok/toxcore.svg?branch=master )](https://travis-ci.org/TokTok/toxcore)
2016-07-12 17:11:01 +08:00
**Current Coverage:** [![Coverage Status ](https://coveralls.io/repos/github/TokTok/toxcore/badge.svg?branch=master )](https://coveralls.io/github/TokTok/toxcore?branch=master)
2016-07-12 04:56:50 +08:00
2015-10-02 12:38:15 +08:00
[**Website** ](https://tox.chat ) ** |** [**Wiki** ](https://wiki.tox.chat/ ) ** |** [**Blog** ](https://blog.tox.chat/ ) ** |** [**FAQ** ](https://wiki.tox.chat/doku.php?id=users:faq ) ** |** [**Binaries/Downloads** ](https://wiki.tox.chat/Binaries ) ** |** [**Clients** ](https://wiki.tox.chat/doku.php?id=clients ) ** |** [**Compiling** ](/INSTALL.md )
2016-07-12 17:11:01 +08:00
**IRC Channels:** [#tox@freenode ](https://webchat.freenode.net/?channels=tox ), [#toktok@freenode ](https://webchat.freenode.net/?channels=toktok )
2013-06-24 08:42:35 +08:00
2016-08-14 05:18:40 +08:00
## Q&A:
2013-06-24 08:15:33 +08:00
2016-08-14 05:18:40 +08:00
### What is Tox?
2013-06-24 08:15:33 +08:00
2016-08-14 05:18:40 +08:00
Tox is a fully encrypted, censor resistant, private, distributed network library with a focus on personal communications.
2013-07-24 07:00:02 +08:00
2016-08-14 05:18:40 +08:00
### No, really, what's Tox?
2013-07-19 10:32:28 +08:00
2016-08-14 05:18:40 +08:00
It's a VERY secure Instant Messenger that supports Text, Audio/Video calls, group chats, audio group chats, and file transfers.
2014-03-15 05:22:22 +08:00
2014-10-08 07:14:31 +08:00
### What are your goals with Tox?
2014-03-15 05:22:22 +08:00
We want Tox to be as simple as possible while remaining as secure as possible.
2016-08-14 05:18:40 +08:00
## Toxcore Roadmap
This Roadmap is somewhat tentative, but should give you a good idea of where
we're going, and where we've been.
Currently unsorted, the following is intended to function as a discussion guide
to developers/contributors.
### In Progress
- [ ] 100% unit testing
- [ ] Make toxcore stateless
- [ ] Allow a single toxcore instance to handle multiple keypairs
- [ ] Implement usable group chats
- [ ] Improve A/V implementation
- [ ] Multiple device support
- [ ] Consistent naming scheme throughout toxcore
### Done
- [X] Create Toxcore
- [X] Create DHT
- [X] Create Onion
- [X] Implement Crypto
- [X] Create Messenger
2013-06-26 05:16:45 +08:00
2014-03-15 05:22:22 +08:00
## Documentation:
2014-07-10 05:37:46 +08:00
- [Compiling ](/INSTALL.md )
2014-08-06 03:20:01 +08:00
- [DHT Protocol ](/docs/updates/DHT.md )< br />
- [Crypto ](/docs/updates/Crypto.md )< br />
2016-08-14 05:18:40 +08:00
## The Complex Stuff:
### UDP vs. TCP
Tox must use UDP simply because [hole punching ](https://en.wikipedia.org/wiki/UDP_hole_punching ) with TCP is not as reliable.
However, Tox does use [TCP relays ](/docs/TCP_Network.txt ) as a fallback if it encounters a firewall that prevents UDP hole punching.
### Connecting & Communicating
Every peer is represented as a [byte string ](https://en.wikipedia.org/wiki/String_(computer_science )) (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 ](/docs/updates/Crypto.md ) connection with each other. Once the connection is made, peers can exchange messages, send files, start video chats, etc. using encrypted communications.