toxcore/README.md

56 lines
3.4 KiB
Markdown
Raw Normal View History

2013-07-19 10:32:28 +08:00
![Project Tox](https://rbt.asia/boards/g/img/0352/79/1373823047559.png "Project Tox")
Project Tox, _also known as Tox_, is a FOSS (Free and Open Source Software) instant messaging application aimed to replace Skype.<br />
2013-07-09 05:13:29 +08:00
With the rise of governmental monitoring programs, Tox aims to be an easy to use, all-in-one communication platform (including audio, and videochats in the future) that ensures their users full privacy and secure message delivery.<br /> <br />
2013-06-24 08:42:35 +08:00
2013-06-24 08:15:33 +08:00
2013-07-31 06:25:00 +08:00
**IRC**: #tox on freenode, alternatively, you can use the [webchat](http://webchat.freenode.net/?channels=#tox).<br />
2013-07-21 15:44:58 +08:00
**Website**: [http://tox.im](http://tox.im)
**Developer Blog**: [http://dev.tox.im](http://dev.tox.im)
2013-06-24 08:15:33 +08:00
**Website translations**: [see stal888's repository](https://github.com/stal888/ProjectTox-Website)<br/>
**Qt GUI**: [see nurupo's repository](https://github.com/nurupo/ProjectTox-Qt-GUI)
2013-07-31 07:03:39 +08:00
**How to build Tox on Linux**: [YouTube video](http://www.youtube.com/watch?v=M4WXE4VKmyg)<br />
2013-08-01 18:18:36 +08:00
**How to use Tox on Windows**: [YouTube video](http://www.youtube.com/watch?v=qg_j_sDb6WQ)<br />
**For Mac OSX read** [INSTALL.md](INSTALL.md)
2013-07-19 10:32:28 +08:00
### Objectives:
Keep everything really simple.
2013-07-19 12:10:18 +08:00
## The Complex Stuff:
+ Tox must use UDP simply because [hole punching](http://en.wikipedia.org/wiki/UDP_hole_punching) with TCP is not as reliable.
+ Every peer is represented as a [byte string](https://en.wikipedia.org/wiki/String_(computer_science)) (the public key of the peer [client ID]).
2013-07-19 10:32:28 +08:00
+ We're using torrent-style DHT so that peers can find the IP of the other peers when they have their ID.
2013-07-30 20:43:44 +08:00
+ Once the client has the IP of that peer, they start initiating a secure connection with each other. (See [Crypto](https://github.com/irungentoo/ProjectTox-Core/wiki/Crypto))
+ When both peers are securely connected, they can exchange messages, initiate a video chat, send files, etc, all using encrypted communications.
+ Current build status: [![Build Status](https://travis-ci.org/irungentoo/ProjectTox-Core.png?branch=master)](https://travis-ci.org/irungentoo/ProjectTox-Core)
2013-06-24 08:15:33 +08:00
## Roadmap:
- [x] Get our DHT working perfectly. (Done, needs large scale testing though)
2013-08-01 05:06:04 +08:00
- [x] Reliable connection (See Lossless UDP protocol) to other peers according to client ID. (Done, see `DHT_sendfiletest.c` for an example)
2013-07-19 10:32:28 +08:00
- [x] Encryption. (Done)
- [ ] Get a simple text only IM client working perfectly. (This is where we are)
- [ ] Streaming media
- [ ] ???
2013-06-24 08:15:33 +08:00
For further information, check our [To-do list](http://wiki.tox.im/index.php/TODO)
2013-06-24 08:15:33 +08:00
### 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
2013-08-02 03:48:10 +08:00
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.
### Documentation:
2013-06-24 08:15:33 +08:00
2013-08-01 05:06:04 +08:00
- [Installation](/INSTALL.md)
- [Commands](/docs/commands.rst)
2013-08-01 05:06:04 +08:00
- [DHT Protocol](https://github.com/irungentoo/ProjectTox-Core/wiki/DHT)<br />
- [Lossless UDP Protocol](https://github.com/irungentoo/ProjectTox-Core/wiki/Lossless-UDP)<br />
- [Crypto](https://github.com/irungentoo/ProjectTox-Core/wiki/Crypto)<br />
- [Ideas](https://github.com/irungentoo/ProjectTox-Core/wiki/Ideas)