-
Notifications
You must be signed in to change notification settings - Fork 0
/
icb.1
151 lines (151 loc) · 3.57 KB
/
icb.1
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
.\" Copyright (c) 2016, Dmitrij D. Czarkoff
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.Dd $Mdocdate: October 31 2016$
.Dt ICB 1
.Os
.Sh NAME
.Nm icb
.Nd Internet Citizen's Band client
.Sh SYNOPSIS
.Nm
.Op Fl eV
.Op Fl c Ar status
.Op Fl d Ar dir
.Op Fl i Ar types
.Op Fl k Ar env
.Op Fl l Ar login
.Op Fl n Ar nick
.Op Fl s Ar server
.Ar group
.Sh DESCRIPTION
.Nm
is a minimalistic FIFO- and filesystem-based Internet Citizen's Band
.Pq ICB
client.
It creates an
.Pa icb
directory with subdirectory for ICB server, where subdirectries for group and
nick name directories.
In the leaf directories a FIFO file
.Pa in
and and normal file
.Pa out
are placed.
The
.Pa in
file is used to communicate with the server and the
.Pa out
file contains the chat log.
For every nick name there will be new
.Pa in
and
.Pa out
files.
The basic idea of this is to be able to communicate with an ICB server with
basic command line tools.
.Pp
.Nm
lacks its own networking support.
It relies on UCSPI-compliant network client instead.
.Pp
The following flags are available:
.Bl -tag -width indent
.It Fl c Ar status
If login will result in creation of a group, set its status to
.Ar status .
.It Fl d Ar dir
Use
.Ar dir
instead of default
.Pa ~/icb
for program's directory tree.
.It Fl e
Use
.Dq exteded packets
extension to ICB protocol.
In this mode
.Nm
will not split message into smaller messages, but will send it in multiple
packets with length 0.
.It Fl i Ar types
Ignore ICB packets of specified
.Ar types .
.It Fl k Ar env
Get ICB account's password from
.Ar env
environment variable.
.It Fl l Ar login
Use
.Ar login
for login name when connecting.
Defaults to system user name.
.It Fl n Ar nick
Set nick name to
.Ar nick .
Defaults to login name.
.It Fl s Ar server
Set server component of direcotry tree to
.Ar server .
As
.Nm
does no networking on its own, this parameter does not influence the network
connection.
Default value is read from
.Ev REMOTEHOST
environment variable, which should be set by UCSPI-complient tool.
.It Fl V
Show version information and exit.
.El
.Pp
Following commands are interpreted specially when recieved from group FIFO:
.Bl -tag -width indent
.It Cm :m Ar user
Send personal message to
.Ar user .
.It Cm :c Ar command
Send
.Ar command
to server.
.It Cm :p
Ping server.
.It Cm :q
Quit chat.
.El
.Sh EXAMPLES
Connect to local ICB server and enter group
.Sq users ,
send public message followed by a private message to
.Sq root :
.Bd -literal -offset indent
$ tcpclient localhost icb icb users &
$ echo hello, world! > ~/icb/localhost/\#users/in
$ echo :m root hi > ~/icb/localhost/\#users/in
.Ed
.Sh SEE ALSO
.Xr ii 1 ,
.Xr tcpclient 1
.Sh CAVEATS
.Bl -bullet
.It
ICB is not a well-defined protocol.
Things may not work properly in all cases.
Use with care.
.It
Due to program design and limitations of ICB protocol one
.Nm
instance can only deal with one group.
.El
.Sh AUTHOR
.An Dmitrij D. Czarkoff Aq czarkoff@gmail.com .