# 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

Category:

- Internet applications