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 |
Status: | Active |
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
Arch
PKGBUILD is available in the community
repo, to install:
# pacman -S qtox
Debian, Ubuntu, Linux Mint
# apt-get install qtox
Fedora
qTox is available in the RPM Fusion repo, to install:
# dnf install qtox
Gentoo
qTox is available in Gentoo.
To install:
# emerge qtox
openSUSE
qTox is available in openSUSE Factory.
To install in openSUSE 15.0 or newer:
# zypper in qtox
To install in openSUSE 42.3:
# zypper ar -f https://download.opensuse.org/repositories/server:/messaging/openSUSE_Leap_42.3 server:messaging # zypper in qtox
If your distribution is not listed, or you want / need to compile qTox, there are provided instructions on GitHub.
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
Compiling
Updated Instructions for Compiling qTox on OSX 18/11/2015
The following is a (as of this writing) not thoroughly tested script to aid in the installation of the required libraries, applications, and git repos.
Script Download | Last Update | Status |
---|---|---|
qTox Mac Builder Script | 03/12/2015 | Working |
If you wish to do the installation process manually then the following will guide you through the process.
Start downloading and installing Qt Creator 5.5 for compiling: http://www.qt.io/download-open-source/
Install Github Desktop: http://mac.github.com
Install Xcode: https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12
Install Homebrew using Terminal
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrew prequisites: in terminal `brew install git ffmpeg qrencode`
Homebrew usage instructions: https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/FAQ.md
`Clone to Desktop` filter_audio from: https://github.com/irungentoo/filter_audio 1. Open Terminal type `cd /git/path/to/filter_audio/` 2. In Terminal type `sudo make install`
Toxcore: Follow OSX instructions for either Homebrew or non-Homebrew installs https://github.com/irungentoo/toxcore/blob/master/INSTALL.md#osx
`Clone to Desktop` qTox from: https://github.com/tux3/qTox
Run: sudo bash ./bootstrap-osx.sh In terminal after cd to the qTox git folder ( Unless you did something different then it'll be: cd ~/qTox )
Open QT Creator in your install location and open the qTox.pro file from your qTox git DIR
Now click build and you'll have a folder in your home folder (~) with a name like: build-qtox-Desktop_Qt_5_5_1_clang_64bit-Debug or -Release if you told to to make a release build. (Changing it to Debug or Release is nothing more than telling it what to name the folder.)
You will now have a qTox .app file in there that will run on your machine!
This .app will only run on your machine, if you wish to distrubute the application you will have to deploy it using terminal.
cd your/qtox/build/dir
and now run macdeployqt with
/path/to/qt/install/5.5/clang_64/bin/macdeployqt qtox.app
You might get a few errors and warnings… I know I do…
But anything other than:
WARNING: Plugin "libqsqlodbc.dylib" uses private API and is not Mac App store compliant. WARNING: Plugin "libqsqlpsql.dylib" uses private API and is not Mac App store compliant. ERROR: no file at "/opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib" ERROR: no file at "/usr/local/lib/libpq.5.dylib"
Should be fine.
–This halfbaked guide brought to you by: Rowen_Stipe–
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.