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 Toxic TRIfA aTox
Interface Desktop CLI Mobile Mobile
Linux Yes Yes No No
OSX Yes Yes No No
Windows Yes No No No
BSD Yes Yes No No
Android No Partial3) Yes Yes
iOS No No No No
SailfishOS No Yes No No
Audio features qTox Toxic TRIfA aTox
Audio Yes Yes Yes No
Audio filtering Yes No Yes No
Audio notifications Yes Yes Yes Yes
Group audio Partial4) Partial5) Partial6) No
Video features qTox Toxic TRIfA aTox
Desktop sharing Yes No No No
Video Yes Yes Yes No
Messaging qTox Toxic TRIfA aTox
1v1 messages Yes Yes Yes Yes
Chat logs Yes Yes Yes Yes
Emoticons Yes Yes Yes Yes
Inline images Semi7) No Yes Yes
Message splitting Yes No No Yes
Faux offline messaging Yes Semi8) Yes Yes
File transfers Yes Yes Yes Yes
File resuming Semi9) Yes Untested No
Spell check Yes No No No
Screen/Desktop notifications Semi10) Yes Yes Yes
Typing notifications Yes Yes Yes Yes
Group chats qTox Toxic TRIfA aTox
Private/un-moderated conferences Yes Yes Yes No
Public/moderated group chats Planned Yes Yes No
Chat history Planned11) Yes Yes No
File transfers No No No No
Inline images No No No No
Offline messaging No No No No
Profile & Contact Management qTox Toxic TRIfA aTox
Avatars Yes Semi12) Yes Yes
Changing nospam Yes Yes Yes No
Contact aliases Yes Yes Untested No
Contact blocking Yes Yes Untested No
Multiprofile Yes Yes No No
Profile import/export Yes Yes Yes Yes
Save file encryption Yes Yes Yes No
tox: URI Yes No Yes Yes
General qTox Toxic TRIfA aTox
Multilingual Yes No Yes Yes
Proxy support Yes Yes (Tor only) Yes
qTox Toxic TRIfA 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 release" > /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)
No audio/video
4) , 5) , 6)
private conferences only
7)
Preview for saved images only
8)
Messages are not stored, and thus they won't be sent across client restarts
9)
Transfers can be paused and resumed, but broken transfers will not be resumed
10)
Supported but not included in builds
12)
You are only able to set your own avatar, avatars of friends aren't displayed
Print/export