summaryrefslogtreecommitdiff
path: root/ratox.1
blob: 55079e04abd740171a322b1bda7e4fb83c09dc87 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
.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 folders 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 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 folders interfacing a single
parameter.  The set of slots makes up the \fIinterface\fR.
.Ss Global slots
Global slots are folders 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.
.Pp
.Bl -tag -width xxxxxxxxxxxxx
.It Ar name/
Name slot.
.It Ar nospam/
Nospam slot (8 digit hexadecimal).
.It Ar state/
State slot (none | away | busy).
.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.
.El
.Ss Friend slots
Each friend is represented with a folder in the base-directory named after
their Tox ID without its nospam-value. Each folder contains slots to
interface with the friend.
.Pp
.Bl -tag -width xxxxxxxxxxxxx
.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).
.El

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.
.Pp
.Bl -tag -width xxxxxxxxxxxxx
.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.
.El

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.
.Pp
.Bl -tag -width xxxxxxxxxxxxx
.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 (\fBnone\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 Misc files
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It Ar id
Contains your Tox ID.
.El
.Sh AUTHORS
.Nm
was written by Dimitris Papastamos <sin@2f30.org> and
Laslo Hunhold <dev@frign.de>.