HII(1)
π NAME π
okay bestie, meet HII(1) β aka hii β from the General Commands Manual: itβs a filesystem based IRC client. It is heavily inspired by ii(1) but offers more features, e.g. built-in TLS support. slay.
β¨ SYNOPSIS β¨
hii [-k key] [-c cert] [-r certs] [-f name] [-i prefix] [-n nick]
[-p port] [-t] [-d] [-s] server [target ...]
π¦ DESCRIPTION π¦
Just as ii(1), hii 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. π
On startup hii attempts to connect to the given server. If a connection was established successfully it automatically creates directories for the given targets (if any). Directories for users are only created automatically if the server supports the IRCv3.2 MONITOR command and the user is currently online. hii makes no attempt to reestablish the connection, it simply terminates when the connection to the IRC server is lost. π
The options are as follows:
-kkey β Path toPEMencoded key used for client authorization usingTLS, also known asCertFP. This requires-cand-tto be given as well.-ccert β Certificate Path toPEMencoded certificate used for client authorization usingTLS, also known asCertFP. This requires-kand-tto be given as well.-rcerts β Path to file containing root certificates. This requires-tto be given as well. Defaults to the host's root CA set.-fname β Real name associated with the user's nick. Defaults to the user's login name.-iprefix β Path to the root directory used for creating channel and server subdirectory. Default to~/irc.-nnick β Nick name used on the IRC server. Defaults to the user's login name.-pport β TCP port used to connect to the IRC server. Defaults to6667.-tβ EnablesTLS, which is disabled by default.-dβ Write debug messages to standard output. Contrary to text in theoutfile the debug output is not sanitized and might containANSIescape sequences or other non-printable characters.-sβ AttemptSASLauthentication using theSASL EXTERNALmethod withTLSclient certificates. This requires-k,-c, and-tto be given as well.
πΈ FILES πΈ
inβ AFIFOused 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 aPRIVMSGand send to the target associated with the subdirectory. This file is removed on program termination.outβ A regular file containing messages received for the target associated with the subdirectory. This file is not removed on program termination.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.usrβ AUNIXdomain 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.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.
π₯ EXIT STATUS π₯
hii always exits with a non-zero exit status. periodt.
π EXAMPLES π
Connect to hackint and join the hii irc channel:
hii irc.hackint.org '#hii'
Connect to Libera.Chat and monitor all server messages:
hii irc.libera.chat &
tail -f ~/irc/irc.libera.chat/out
π«Ά SEE ALSO π«Ά
ii(1), tail(1), hii(5) β go read those too, bestie.
π STANDARDS π
- J. Oikarinen and D. Reed, Internet Relay Chat Protocol,
RFC 1459, May 1993. - C. Kalt, Internet Relay Chat: Client Protocol,
RFC 2812, April 2000. - L. Hardy, K. Aman, and W. Pitcock, IRCv3.2 Monitor,
https://ircv3.net/specs/core/monitor-3.2.html. - A. Molnar and W. Pitcock, IRCv3.2 SASL Authentication,
https://ircv3.net/specs/extensions/sasl-3.2.html.
π AUTHORS π
SΓΆren Tempel <soeren@soeren-tempel.net> β iconic behavior.
π BUGS π
hii 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 #foo|bar and a channel named #foo/bar is not possible since they are assigned the same directory name. yeah, thatβs the tea.
with love from the Debian side of the manual-verse, dated July 31, 2018 β this is HII(1), mwah π
π¦ where this page comes from
- nixpkgs unstable: hii 1.1.5-unstable-2025-08-03
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms