.Dd December 8, 2014 .Dt RATOX 1 .Os .Sh NAME .Nm ratox .Nd FIFO based tox client .Sh SYNOPSIS .Nm .Op Fl 4 | Fl 6 .Op Fl E | Fl e .Op Fl T | Fl t .Op Fl P | Fl p .Op Ar savefile .Sh DESCRIPTION .Nm is a client implementation of the tox protocol providing only FIFOs, files and directories as interfaces. .Sh OPTIONS .Bl -tag -width Ds .It Fl 4 6 Use IPv4/IPv6 only. .It Fl E e Enable/Disable save file encryption. .It Fl T t Enable/Disable TCP mode. Avoiding UDP in tox implies certain security considerations. .It Fl P p Enable/Disable TCP HTTP/SOCKS5 proxy as specified in \fIconfig.h\fR. .It Ar savefile Path of the file to load a profile from or create a new one in. .El .Sh CONFIGURATION .Nm is configured with \fIconfig.h\fR at compile-time. Apart from command line options and other parameters it contains the list of DHT-nodes. .Pp If there is a mismatch between save file status and encryption setting, .Nm writes the save file according to the latter. .Sh INTERFACE A \fIslot\fR is a set of FIFOs, files and directories interfacing a single parameter. The set of slots makes up the \fIinterface\fR. .Ss Global slots Global slots are directories containing an \fBin\fR FIFO, \fBout\fR and \fBerr\fR file or directory respectively. The slot parameter is set by piping data to \fBin\fR and accessed with \fBout\fR. Any errors are reported in \fBerr\fR. .Bl -tag -width 13n .It Ar name/ Name slot. .It Ar nospam/ Nospam slot (8 digit hexadecimal). .It Ar state/ State slot (\fBavailable\fR | \fBaway\fR | \fBbusy\fR). .It Ar status/ Status message slot. .It Ar request/ Request slot. Send a friend request by piping the Tox ID to \fBin\fR. Incoming requests are listed as FIFOs in \fBout/\fR. Echo \fB1\fR | \fB0\fR to accept | reject them. .It Ar conf/ Conference management slot. A conference is created by writing its title to \fBin\fR. Invites to conferences are FIFOs in \fBout/\fR. Their name is id_cookie (the cookie is random data). They behave like request FIFOs. .El .Ss 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. .Bl -tag -width 13n .It Ar call_in Initiate a call by piping data to this FIFO. .It Ar call_out Answer an incoming call by opening it for reading. .It Ar call_state Reports the call state (\fBnone\fR | \fBpending\fR | \fBactive\fR). The sample format is \fBmono signed 16-bit little endian at 48kHz\fR. The call is \fBterminated\fR if .Nm receives both an EPIPE trying to read from call_in and ENXIO trying to open call_out for writing. .It Ar file_in Initiate a file transfer by piping data to this FIFO. .It Ar file_out Accept an incoming file transfer by opening it for reading. .It Ar file_pending Contains the incoming filename if transfer is pending, empty otherwise. Given .Nm 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. .It Ar name Contains the friend's name. .It Ar online Contains the friend's online status (\fB1\fR | \fB0\fR). .It Ar remove Echo \fB1\fR to remove the friend. .It Ar state Contains the friend's state (\fBavailable\fR | \fBaway\fR | \fBbusy\fR) .It Ar status Contains the friend's status message. .It Ar text_in Send a text message by piping data to this FIFO. .It Ar text_out Contains text messages from the friend. .El .Ss 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. .Bl -tag -width 13n .It Ar members Contains a list of members of the conference. .It Ar invite Write the Tox ID of a friend to this FIFO to invite him to the conference. .It Ar leave Write to this file to leave the conference. .It Ar title_in Write here to change the title of the conference. .It Ar title_out Contains the title of the conference. .It Ar text_in Echo \fBmessage\fR to send a text message to the conference. .It Ar text_out Contains the messages send in the conference so far. .El .Ss Misc files .Bl -tag -width 13n .It Ar id Contains your Tox ID. .El .Sh AUTHORS .An Dimitris Papastamos Aq Mt sin@2f30.org , .An Laslo Hunhold Aq Mt dev@frign.de , .An z3bra Aq Mt contact@z3bra.org , .An pranomostro Aq Mt pranomestro@gmail.com .