-
Notifications
You must be signed in to change notification settings - Fork 2
/
hii.1
202 lines (202 loc) · 4.68 KB
/
hii.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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
.Dd $Mdocdate: July 31 2018 $
.Dt HII 1
.Os
.Sh NAME
.Nm hii
.Nd a filesystem based IRC client
.Sh SYNOPSIS
.Nm hii
.Op Fl k Pa key
.Op Fl c Pa cert
.Op Fl r Pa certs
.Op Fl f Ar name
.Op Fl i Pa prefix
.Op Fl n Ar nick
.Op Fl p Ar port
.Op Fl t
.Op Fl d
.Op Fl s
.Ar server
.Op Ar target ...
.Sh DESCRIPTION
.Nm
is a file-based IRC client.
It is heavily inspired by
.Xr ii 1
but offers more features, e.g. built-in TLS support.
.Pp
Just as
.Xr ii 1
.Nm
creates a directory tree for the server (the master channel) containing
subdirectories for every conversation started on that server.
This includes public IRC channels and private conversations with other
users.
.Pp
On startup
.Nm
attempts to connect to the given
.Ar server .
If a connection was established successfully it automatically creates
directories for the given
.Ar targets
(if any).
Directories for users are only created automatically if the server
supports the IRCv3.2
.Em MONITOR
command and the user is currently online.
.Nm
makes no attempt to reestablish the connection, it simply terminates
when the connection to the IRC server is lost.
.Pp
The options are as follows:
.Bl -tag -width Ds
.It Fl k Pa key
Path to PEM encoded key used for client authorization using TLS, also
known as
.Em CertFP .
This requires
.Fl c
and
.Fl t
to be given as well.
.It Fl c Pa cert
Certificate
Path to PEM encoded certificate used for client authorization using TLS,
also known as
.Em CertFP .
This requires
.Fl k
and
.Fl t
to be given as well.
.It Fl r Pa certs
Path to file containing root certificates.
This requires
.Fl t
to be given as well.
Defaults to the host's root CA set.
.It Fl f Ar name
Real name associated with the user's nick.
Defaults to the user's login name.
.It Fl i Pa prefix
Path to the root directory used for creating channel and server
subdirectory.
Default to
.Pa ~/irc .
.It Fl n Ar nick
Nick name used on the IRC server.
Defaults to the user's login name.
.It Fl p Ar port
TCP port used to connect to the IRC server.
Defaults to 6667.
.It Fl t
Enables TLS, which is disabled by default.
.It Fl d
Write debug messages to standard output.
Contrary to text in the
.Pa out
file the debug output is not sanitized and might contain ANSI escape
sequences or other non-printable characters.
.It Fl s
Attempt SASL authentication using the SASL EXTERNAL method with TLS
client certificates.
This requires
.Fl k ,
.Fl c ,
and
.Fl t
to be given as well.
.El
.Sh FILES
.Bl -tag -width "usr"
.It Pa in
A FIFO used to send messages to the IRC server.
If the message is prefixed with a backlash it is send to the server as
is.
Otherwise it is interpreted as a
.Em PRIVMSG
and send to the target associated with the subdirectory.
This file is removed on program termination.
.It Pa out
A regular file containing messages received for the target associated
with the subdirectory.
This file is not removed on program termination.
.It Pa id
A regular file containing a unique id for identifying the target
associated with the subdirectory.
This file does not exist in the master channel directory and is not
removed on program termination.
.It Pa usr
A UNIX domain socket which reports the nicks of all users currently
present in an IRC channel.
Nicks are separated by a newline and are written descending by last
activity to the socket.
The socket only exists in subdirectories associated with IRC channels
and is closed on program termination.
.It Pa log
A regular file containing received messages which either mention the
user's nick or were received through private conversations.
This file is not removed on program termination.
.El
.Sh EXIT STATUS
.Nm
always exits with a non-zero exit status.
.Sh EXAMPLES
Connect to hackint and join the
.Nm
irc channel:
.Pp
.Dl hii irc.hackint.org '#hii'
.Pp
Connect to Libera.Chat and monitor all server messages:
.Bd -literal -offset indent
hii irc.libera.chat &
tail -f ~/irc/irc.libera.chat/out
.Ed
.Sh SEE ALSO
.Xr ii 1 ,
.Xr tail 1 ,
.Xr hii 5
.Sh STANDARDS
.Rs
.%A J. Oikarinen
.%A D. Reed
.%D May 1993
.%R RFC 1459
.%T Internet Relay Chat Protocol
.Re
.Pp
.Rs
.%A C. Kalt
.%D April 2000
.%R RFC 2812
.%T Internet Relay Chat: Client Protocol
.Re
.Pp
.Rs
.%A L. Hardy
.%A K. Aman
.%A W. Pitcock
.%U https://ircv3.net/specs/core/monitor-3.2.html
.%T IRCv3.2 Monitor
.Re
.Pp
.Rs
.%A A. Molnar
.%A W. Pitcock
.%U https://ircv3.net/specs/extensions/sasl-3.2.html
.%T IRCv3.2 SASL Authentication
.Re
.Sh AUTHORS
.An Sören Tempel Aq Mt [email protected]
.Sh BUGS
.Nm
has tight restrictions regarding directory names for both security and
compatibility reasons.
The problem with this being that directory names are not unique.
For instance, joining a channel named
.Em #foo|bar
and a channel named
.Em #foo/bar
is not possible since they are assigned the same directory name.