1 .Dd March 10, 2017 2 .Dt RATOX 1 3 .Os 4 .Sh NAME 5 .Nm ratox 6 .Nd FIFO based tox client 7 .Sh SYNOPSIS 8 .Nm 9 .Op Fl 4 | Fl 6 10 .Op Fl E | Fl e 11 .Op Fl T | Fl t 12 .Op Fl P | Fl p 13 .Op Fl q 14 .Op Ar savefile 15 .Sh DESCRIPTION 16 .Nm 17 is a client implementation of the tox protocol providing only FIFOs, files 18 and directories as interfaces. 19 .Sh OPTIONS 20 .Bl -tag -width Ds 21 .It Fl 4 6 22 Use IPv4/IPv6 only. 23 .It Fl E e 24 Enable/Disable save file encryption. 25 .It Fl T t 26 Enable/Disable TCP mode. Avoiding UDP in tox implies certain security 27 considerations. 28 .It Fl P p 29 Enable/Disable TCP HTTP/SOCKS5 proxy as specified in \fIconfig.h\fR. 30 .It Fl q 31 Enable quiet mode. 32 .It Ar savefile 33 Path of the file to load a profile from or create a new one in. 34 .El 35 .Sh CONFIGURATION 36 .Nm 37 is configured with \fIconfig.h\fR at compile-time. Apart from command line 38 options and other parameters it contains the list of DHT-nodes. 39 .Pp 40 If there is a mismatch between save file status and encryption setting, 41 .Nm 42 writes the save file according to the latter. 43 .Sh INTERFACE 44 A \fIslot\fR is a set of FIFOs, files and directories interfacing a single 45 parameter. The set of slots makes up the \fIinterface\fR. 46 .Ss Global slots 47 Global slots are directories containing an \fBin\fR FIFO, \fBout\fR and 48 \fBerr\fR file or directory respectively. 49 The slot parameter is set by piping data to \fBin\fR and accessed 50 with \fBout\fR. Any errors are reported in \fBerr\fR. 51 .Bl -tag -width 13n 52 .It Ar name/ 53 Name slot. 54 .It Ar nospam/ 55 Nospam slot (8 digit hexadecimal). 56 .It Ar state/ 57 State slot (\fBavailable\fR | \fBaway\fR | \fBbusy\fR). 58 .It Ar status/ 59 Status message slot. 60 .It Ar request/ 61 Request slot. Send a friend request by piping the Tox ID to \fBin\fR. Incoming 62 requests are listed as FIFOs in \fBout/\fR. Echo \fB1\fR | \fB0\fR to 63 accept | reject them. 64 .It Ar conf/ 65 Conference management slot. A conference is created by writing and flag 66 and its title to \fBin\fR. The flag is \fBt\fR | \fBa\fR | \fBv\fR for an 67 text, audio and video conference, followed by a space character. Only 68 text conferences work at the moment. Invites to conferences are FIFOs 69 in \fBout/\fR. Their name is id_cookie (the cookie is random data). They 70 behave like request FIFOs. 71 .El 72 .Ss Friend slots 73 Each friend is represented with a directory in the base-directory named after 74 their Tox ID without its nospam-value. Each directory contains slots to 75 interface with the friend. 76 .Bl -tag -width 13n 77 .It Ar call_in 78 Initiate a call by piping data to this FIFO. 79 .It Ar call_out 80 Answer an incoming call by opening it for reading. 81 .It Ar call_state 82 Reports the call state (\fBnone\fR | \fBpending\fR | \fBactive\fR). 83 The sample format is \fBmono signed 16-bit little 84 endian at 48kHz\fR. 85 The call is \fBterminated\fR if 86 .Nm 87 receives both an EPIPE trying to read from call_in 88 and ENXIO trying to open call_out for writing. 89 .It Ar file_in 90 Initiate a file transfer by piping data to this FIFO. 91 .It Ar file_out 92 Accept an incoming file transfer by opening it for reading. 93 .It Ar file_pending 94 Contains the incoming filename if transfer is pending, empty otherwise. 95 Given 96 .Nm 97 can't know how much data a given pipe is going to provide, it 98 will send until the pipe is drained or EPIPE received. 99 That's why it's possible to stream arbitrary data, including 100 audio and video transmissions, even to other clients. 101 .It Ar name 102 Contains the friend's name. 103 .It Ar online 104 Contains the friend's online status (\fB1\fR | \fB0\fR). 105 .It Ar remove 106 Echo \fB1\fR to remove the friend. 107 .It Ar state 108 Contains the friend's state (\fBavailable\fR | \fBaway\fR | \fBbusy\fR) 109 .It Ar status 110 Contains the friend's status message. 111 .It Ar text_in 112 Send a text message by piping data to this FIFO. 113 .It Ar text_out 114 Contains text messages from the friend. 115 .El 116 .Ss Conference slots 117 Each conference is represented with a directory in the directory named after the 118 8-digit conference number. The files in the conference directory are an interface 119 for the respective conference. 120 .Bl -tag -width 13n 121 .It Ar members 122 Contains a list of members of the conference. 123 .It Ar invite 124 Write the Tox ID of a friend to this FIFO to invite him to the conference. 125 .It Ar leave 126 Write to this file to leave the conference. 127 .It Ar title_in 128 Write here to change the title of the conference. 129 .It Ar title_out 130 Contains the title of the conference. 131 .It Ar text_in 132 Echo message to send a text message to the conference. 133 .It Ar text_out 134 Contains the messages send in the conference so far. 135 .El 136 .Ss Misc files 137 .Bl -tag -width 13n 138 .It Ar id 139 Contains your Tox ID. 140 .El 141 .Sh AUTHORS 142 .An Dimitris Papastamos Aq Mt email@example.com , 143 .An Laslo Hunhold Aq Mt firstname.lastname@example.org , 144 .An z3bra Aq Mt email@example.com , 145 .An pranomostro Aq Mt firstname.lastname@example.org .