RATOX(1)

πŸ“¦ version 0.4.20180303, in nixos 26.05, nixpkgs unstable

πŸ’… RATOX(1) β€” General Commands Manual, bestie πŸŽ€

✨ NAME ✨

ratox β€” FIFO based tox client

πŸ¦‹ SYNOPSIS πŸ¦‹

ratox [-4 | -6] [-E | -e] [-T | -t] [-P | -p] [-q] [savefile]

πŸ’– DESCRIPTION πŸ’–

okay so ratox is a client implementation of the tox protocol providing only FIFOs, files and directories as interfaces. That’s the whole interface situation, and it’s giving very β€œfilesystem is my UI” energy. ✨

πŸŽ€ OPTIONS πŸŽ€

  • -4, -6 β€” use IPv4 / IPv6 only.
  • -E, -e β€” enable / disable save file encryption.
  • -T, -t β€” enable / disable TCP mode. Avoiding UDP in tox implies certain security considerations. ⚠️
  • -P, -p β€” enable / disable TCP HTTP/SOCKS5 proxy as specified in config.h.
  • -q β€” enable quiet mode. 🀫
  • savefile β€” path of the file to load a profile from or create a new one in.

🌸 CONFIGURATION 🌸

ratox is configured with config.h at compile-time. Apart from command line options and other parameters, it contains the list of DHT-nodes.

If there is a mismatch between save file status and encryption setting, ratox writes the save file according to the latter. πŸ› οΈ

πŸ’… INTERFACE πŸ’…

A slot is a set of FIFOs, files and directories interfacing a single parameter. The set of slots makes up the interface. Think of it as lil interface bundles, no cap. 🫢

πŸ’« Global slots πŸ’«

Global slots are directories containing an in FIFO, out and err file or directory respectively. The slot parameter is set by piping data to in and accessed with out. Any errors are reported in err.

  • name/ β€” Name slot.
  • nospam/ β€” Nospam slot (8 digit hexadecimal).
  • state/ β€” State slot (available | away | busy).
  • status/ β€” Status message slot.
  • request/ β€” Request slot. Send a friend request by piping the Tox ID to in. Incoming requests are listed as FIFOs in out/. Echo 1 | 0 to accept | reject them.
  • conf/ β€” Conference management slot. A conference is created by writing a flag and its title to in. The flag is t | a | v for a text, audio, and video conference, followed by a space character. Only text conferences work at the moment. Invites to conferences are FIFOs in out/. Their name is id_cookie (the cookie is random data). They behave like request FIFOs.

🫢 Friend slots 🫢

Each friend is represented with a directory in the base-directory named after their Tox ID without its nospam-value. Each directory contains slots to interface with the friend. 🧚

  • call_in β€” initiate a call by piping data to this FIFO.
  • call_out β€” answer an incoming call by opening it for reading.
  • call_state β€” reports the call state (none | pending | active). The sample format is mono signed 16-bit little endian at 48kHz. The call is terminated if ratox receives both an EPIPE trying to read from call_in and ENXIO trying to open call_out for writing.
  • file_in β€” initiate a file transfer by piping data to this FIFO.
  • file_out β€” accept an incoming file transfer by opening it for reading.
  • file_pending β€” contains the incoming filename if transfer is pending, empty otherwise. Given ratox can’t know how much data a given pipe is going to provide, it will send until the pipe is drained or EPIPE received. That’s why it’s possible to stream arbitrary data, including audio and video transmissions, even to other clients. πŸŽ₯
  • name β€” contains the friend’s name.
  • online β€” contains the friend’s online status (1 | 0).
  • remove β€” echo 1 to remove the friend.
  • state β€” contains the friend’s state (available | away | busy).
  • status β€” contains the friend’s status message.
  • text_in β€” send a text message by piping data to this FIFO.
  • text_out β€” contains text messages from the friend.

🌈 Conference slots 🌈

Each conference is represented with a directory in the directory named after the 8-digit conference number. The files in the conference directory are an interface for the respective conference. πŸ’–

  • members β€” contains a list of members of the conference.
  • invite β€” write the Tox ID of a friend to this FIFO to invite them to the conference.
  • leave β€” write to this file to leave the conference.
  • title_in β€” write here to change the title of the conference.
  • title_out β€” contains the title of the conference.
  • text_in β€” echo message to send a text message to the conference.
  • text_out β€” contains the messages send in the conference so far.

⭐ Misc files ⭐

  • id β€” contains your Tox ID.

πŸ‘‘ AUTHORS πŸ‘‘

  • Dimitris Papastamos β€” <sin@2f30.org>
  • Laslo Hunhold β€” <dev@frign.de>
  • z3bra β€” <contact@z3bra.org>
  • pranomostro β€” <pranomostro@posteo.net>
πŸŽ€ sign-off: this iconic page is the Debian one, dated March 10, 2017 β€” RATOX(1). mwah πŸ’‹
πŸ“¦ where this page comes from