This is an old revision of the document!


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

Support for avatars according to STS2).

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

 

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!

The following is a list of some other Tox clients that you may be interested in using.

Popular Tox clients
qTox µTox Toxic Toxygen aTox Antidote
 
1)
Using 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.
2)
Single Tox Standard
3)
Currently stalled
4)
Preview for saved images only
5)
Messages are not stored, and thus they won't be sent across client restarts
6) , 7)
Transfers can be paused and resumed, but broken transfers will not be resumed
8)
Supported but not included in builds
9)
Sends typing notifications but does not show received ones
11)
You are only able to set your own avatar, avatars of friends aren't displayed
12)
You can block, but not unblock contacts
13)
Only by manually specifying which save file should be used.
Print/export