This is an old revision of the document!
Table of Contents
qTox
qTox is a client written for the toxcore, authored by Tux3.
Repository | https://github.com/tux3/qTox |
Maintainers | tux3 |
Language | C++ |
Graphical Toolkit | Qt |
Operating Systems | Linux, Windows, OS X |
Description of features
1v1 messages
Client is able to send, receive and display text messages to / from friends.
If client doesn't implement Message splitting, message size is limited to 1372 bytes.
Audio
Client is able to capture, send, receive and play audio to / from friends, using toxav.
Audio filtering
Client is able to filter out noise from captured audio using libfilteraudio1).
User should be able to tun on / off audio filtering.
Audio notifications
Client should be able to play sound upon receiving message / call / other. There should be an option to turn those notifications off, or tune them according to user needs.
Avatars
Changing nospam
Support for changing nospam via UI. NoSpam is a small part of a Tox ID that can be changed with an explicit action from the user to prevent friend request spam, if the client supports it.
Chat logs
Client should have support for saving, loading, displaying and removing chat logs (history) of conversations.
Contact aliases
Client should allow user to set, display and remove alias for any friend.
Contact blocking
Client should allow user to block / unblock contacts.
Blocked friends would be unable to contact user, and user would appear to them as offline
even if user is online.
Desktop sharing
Ability of the client to show the user's desktop in a video call, instead of camera input.
Proxy support
Proxy support can be HTTP or SOCKS5 (or both). For an example of a proxy configuration, see Tox over Tor.
Message splitting
If client supports message splitting, a user sending a message larger than the maximum size means the message will be split into several separate messages and sent as normal.
Faux offline messaging
Faux offline messaging is a partial support for offline messaging. If client supports it, it is possible to message offline contacts, in which case the message will be stored by the client and sent immediately once both contacts are online.
File resuming
File resuming is the ability of a client to resume broken file transfers. Partial support is support for pause and resuming file transfers.
Inline images
Ability of the client to display sent and received images.
Screen/Desktop notifications
Support for notifications appearing on the user's desktop or phone screen when receiving a new message, call, or status change.
Persistent group chats
Ability of the client to keep track of group chats and rejoin them automatically on reconnect / restart. Supported by c-toxcore.
Features
qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox | |
---|---|---|---|---|---|---|---|---|---|---|
Interface | Desktop | Desktop | CLI | Desktop | Mobile | Mobile | Desktop | Mobile | Mobile | Mobile |
Linux | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
OSX | Yes | Yes | Yes | Untested | No | No | No | No | No | No |
Windows | Yes | Yes | No | Yes | No | No | Yes | No | No | No |
BSD | Yes | Yes | Yes | Untested | No | No | No | No | No | No |
Android | No | Minimal3) | No | No | Yes | Yes | No | No | Yes | Yes |
iOS | No | No | No | No | No | No | No | No | No | No |
SailfishOS | No | No | Yes | No | No | No | No | Yes | No | No |
Audio features | qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
Audio | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | No |
Audio filtering | Yes | Yes | No | No | Yes | No | Yes | No | No | No |
Audio notifications | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes |
Group audio | Yes | Yes | No | No | Yes | No | Yes | No | No | No |
Video features | qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
Desktop sharing | Yes | Yes | No | Yes | No | No | Yes | No | No | No |
Video | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | No |
Messaging | qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
1v1 messages | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Chat logs | Yes | Yes (export possible) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Emoticons | Yes | No | No | Yes | Yes | Yes | Yes | No | Yes | Yes |
Inline images | Semi4) | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Yes |
Message splitting | Yes | Yes | No | Yes | No | Yes | Yes | Yes | Yes | Yes |
Faux offline messaging | Yes | Yes | Semi5) | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
File transfer | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
File resuming | Semi6) | Yes | Yes | Yes | Untested | No | Yes | No | Semi7) | No |
Spell check | Yes | No | No | No | No | Yes | Yes | No | No | No |
Screen/Desktop notifications | Semi8) | Yes | Yes | Unknown | Yes | Yes | Unknown | Unknown | Yes | Yes |
Typing notifications | Yes | Yes | Yes | Yes | Yes | Semi9) | Yes | Yes | Yes | Yes |
Group chats | qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
Group chats | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | No |
Persistent group chats | Yes | Yes | Yes | Prealpha | Yes | No | Yes | No | No | No |
Group chat history | Planned10) | No | No | Unknown | Yes | No | Unknown | No | No | No |
Group file transfers | No | No | No | No | No | No | No | No | No | No |
Group inline images | No | No | No | No | No | No | No | No | No | No |
Group offline messaging | No | No | No | No | No | No | No | No | No | No |
Group typing notifications | No | No | No | No | No | No | No | No | No | No |
Profile & Contact Management | qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
Avatars | Yes | Yes | Semi11) | Yes | Yes | Yes | Yes | No | Yes | Yes |
Changing nospam | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No |
Contact aliases | Yes | Yes | No | Yes | Untested | Yes | Yes | Yes | Yes | No |
Contact blocking | Yes | No | Yes | Yes | Untested | Semi12) | No | No | No | No |
Multiprofile | Yes | No | Yes | Yes | No | Yes | Yes | No | Yes | No |
Profile import/export | Yes | No | Semi13) | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Save file encryption | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | No |
tox: URI | Yes | Yes | No | No | Yes | Yes | No | No | No | Yes |
General | qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
Multilingual | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Proxy support | Yes | (Socks5 only) | Yes | Yes | (Tor only) | No | Yes | No | No | Yes |
qTox | µTox | Toxic | Toxygen | TRIfA | Antox | Isotoxin | jTox | Protox | aTox |
Unmaintained client features
See unmaintained clients.
Installation
Windows
Linux
Gentoo
Add overlay and install qTox:
# layman -a tox-overlay # emerge qtox
Install from the Tox.chat repository
You can also install qTox from the official repository of Tox by the following way:
sudo sh -c 'echo "deb https://pkg.tox.chat/debian/ nightly main" > /etc/apt/sources.list.d/tox.list' wget -qO - https://pkg.tox.chat/debian/pkg.gpg.key | sudo apt-key add - sudo apt-get install apt-transport-https sudo apt-get update -qq echo "qTox Repository Installed." sudo apt-get install qtox echo "qTox Installed."
These data are from the qTox INSTALL.md
Other
You will need the the base Qt5 libraries, OpenAL and FFmpeg. For more info, look here.
git clone https://github.com/tux3/qTox.git cd qTox ./simple_make.sh # This will try to automatically download required dependencies
Note that simple_make.sh
is not guaranteed to work.
FreeBSD
Binary
Use pkg utility to install binary package:
pkg install qTox
Compiling
Update ports tree:
portsnap fetch update
Compile and install client with all dependencies:
cd /usr/ports/net-im/qTox make install clean
OSX
WARNING: THIS SECTION IS MOST LIKELY OUTDATED
Installation on OSX, isn't quite straight forward, here is a quick guide on how to install;
The first thing you need to do is install ProjectTox-Core with a/v support. Refer to the INSTALL guide in the ProjectTox-Core github repo.
Next you need to download QtTools (http://qt-project.org/downloads), at the time of writing this is at version 5.3.0. Make sure you deselect all the unnecessary components from the 5.3 checkbox (iOS/Android libs) otherwise you will end up with a very large download.
Once that is installed you will most likely need to set the path for qmake. To do this, open up terminal and paste in the following;
export PATH=/location/to/qmake/binary:$PATH
For myself, the qmake binary was located in /Users/mouseym/Qt/5.3/clang_64/bin/.
This is not a permanent change, it will revert when you close the terminal window, to add it permanently you will need to add echo the above line to your .profile/.bash_profile.
Once this is installed, do the following;
git clone https://github.com/tux3/qTox cd qTox qmake
Now, we need to create a symlink to /usr/local/lib/ and /usr/local/include/
mkdir -p $HOME/qTox/libs sudo ln -s /usr/local/lib $HOME/qTox/libs/lib sudo ln -s /usr/local/include $HOME/qTox/libs/include
The final step is to run
make
in the qTox directory, or if you are using the bundled tox core installation, you can use
./bootstrap.sh
Assuming all went well you should now have a qTox.app file within the directory. Double click and it should open!
libfilteraudio
is not a strict requirement, but it is supposed to make filtering audio in Tox clients easier. In a case where it fails to ease filtering, an issue about this should be made.