Tox

From the project home page:

Tox is a distributed, secure messenger with audio and video chat capabilities.

Installation

Install tox-gitAUR, available in the AUR.

You also need to install a client:

  • µTox (uTox) — Lightweight Tox client
https://wiki.tox.im/UTox || utox-gitAUR
  • qTox — Powerful Tox client written in QT
https://wiki.tox.chat/clients/qtox || qtox-gitAUR
  • Toxic — ncurses-based CLI
https://wiki.tox.chat/clients/toxic || toxic-gitAUR
  • Ratox — FIFO based client
https://wiki.tox.im/Ratox || ratox-gitAUR
  • gTox — GTK3-Style Tox-Client
https://github.com/KoKuToru/gTox/ || gtox-gitAUR
Warning: There is no such client in clients list
  • Blight — Cross-platform graphical user interface for Tox
https://wiki.tox.im/Blight || Not in AUR
  • Tox Pidgin Protocol Plugin — a plugin for Pidgin which allows the use of the Tox protocol within Pidgin
https://wiki.tox.im/Tox_Pidgin_Protocol_Plugin || tox-prpl-gitAUR

Run a node

To be able to connect to others, Tox needs to connect to a DHT node first. All DHT nodes are connected to each other, and since everyone is connected to at least one DHT node, you can connect to others one way or the other.

/etc/conf.d/tox_bootstrap
cmdline="--ipv4"

# open node, choosen by you from https://wiki.tox.chat/users/nodes DHT
ip="node_ip"
port="node_port"
key="client_id"

Take node_ip, node_port and client_id from the chosen node at https://wiki.tox.chat/users/nodes.

Warning: You should choose adresses only from official Tox Wiki due to they are protected from changes by third persons, unlike the ArchWiki

Create the service file.

/etc/systemd/system/tox_bootstrap.service
[Unit]
Description=Tox DHT Bootstrap Daemon
After=network.target

[Service]
Type=simple
EnvironmentFile=/etc/conf.d/tox_bootstrap
WorkingDirectory=/etc/tox
ExecStart=/usr/bin/DHT_bootstrap ${cmdline} ${ip} ${port} ${key}
User=tox
Group=tox

[Install]
WantedBy=multi-user.target

Create user for running the daemon and configuration folder.

# useradd --no-create-home --shell /bin/false --user-group tox
# mkdir --verbose /etc/tox
# chown --recursive --verbose tox:tox /etc/tox

Reload systemd, scanning for new units:

# systemctl daemon-reload

Enable and start tox_bootstrap service, and check if it is running fine and port has been binded:

# ss --listening --numeric --processes | grep node_port
udp        0      0 *:node_port                 *:*                                 576/DHT_bootstrap