nio

a simple irc client
Download | Log | Files | Refs | README

nio.1 (3571B)


      1 .Dd March 29, 2026
      2 .Dt NIO 1
      3 .Os
      4 .Sh NAME
      5 .Nm nio
      6 .Nd a minimal IRC client
      7 .
      8 .Sh SYNOPSIS
      9 .Nm nio
     10 .Op Fl TV
     11 .Op Fl l Ar logfile
     12 .Op Fl n Ar nick
     13 .Op Fl p Ar port
     14 .Op Fl s Ar server
     15 .Op Fl u Ar user
     16 .Op Fl c Ar certfile
     17 .
     18 .Sh DESCRIPTION
     19 .Nm
     20 is a multiplexing curses interface for IRC featuring SASL authentication,
     21 infinite scrollback, and automatic reconnection.
     22 
     23 The options are as follows:
     24 .Bl -tag -width Ds
     25 .It Fl T
     26 Disable TLS and connect using a plaintext socket.
     27 .It Fl V
     28 Disable TLS hostname validation.
     29 .It Fl l Ar logfile
     30 Append all IRC activity, including timestamps and channel names, to
     31 .Ar logfile .
     32 .It Fl n Ar nick
     33 Set the IRC nickname.
     34 If not provided,
     35 .Nm
     36 will check the
     37 .Ev IRCNICK
     38 environment variable, then the
     39 .Ev USER
     40 variable.
     41 .It Fl p Ar port
     42 Connect to the server on
     43 .Ar port .
     44 Defaults to 6697.
     45 .It Fl s Ar server
     46 Connect to the IRC server at
     47 .Ar server .
     48 Defaults to irc.oftc.net.
     49 .It Fl u Ar user
     50 Set the IRC username (ident).
     51 Defaults to the value of the
     52 .Ev USER
     53 environment variable, or "anonymous".
     54 .It Fl c Ar certfile
     55 Use
     56 .Ar certfile
     57 as a TLS client certificate.
     58 This is used for both establishing the encrypted connection and for SASL
     59 EXTERNAL (CertFP) authentication.
     60 .El
     61 .
     62 .Sh COMMANDS
     63 .Ss Chat Commands
     64 Chat commands are submitted with a newline.
     65 They are not prepended with a '/'.
     66 Any text not matching a command is sent as a message to the currently
     67 focused channel.
     68 .Bl -tag -width Ds
     69 .It Ic j Ar #channel
     70 Join a given channel
     71 .It Ic l Op Ar #channel
     72 Leave the given channel(s), defaults to current channel.
     73 .It Ic m Ar recipient message
     74 Sends a private message.
     75 .It Ic r Ar message
     76 Sends a raw IRC message to the server.
     77 .It Ic q
     78 Quits
     79 .Nm .
     80 .El
     81 .Ss Interface Commands
     82 .Bl -tag -width Ds
     83 .It Ic ^n
     84 Increases focused window index by 1 (wrapping).
     85 .It Ic ^p
     86 Decreases focused window index by 1 (wrapping).
     87 .It Ic PAGEUP
     88 Scrolls chat up by 15 lines.
     89 .It Ic PAGEDOWN
     90 Scrolls chat down by 15 lines.
     91 .El
     92 .Ss Line Editing
     93 The following key bindings are available when entering text:
     94 .Bl -tag -width Ds
     95 .It Ic ^A
     96 Move cursor to the beginning of the line.
     97 .It Ic ^E
     98 Move cursor to the end of the line.
     99 .It Ic ^B No \&| Ic LEFTARROW
    100 Move cursor one character to the left.
    101 .It Ic ^F No \&| Ic RIGHTARROW
    102 Move cursor one character to the right.
    103 .It Ic ^K
    104 Delete from the cursor to the end of the line.
    105 .It Ic ^U
    106 Delete from the beginning of the line to the cursor.
    107 .It Ic ^D
    108 Delete character under the cursor.
    109 .It Ic ^H
    110 Delete character to the left of the cursor.
    111 .It Ic ^W
    112 Delete word to the left of the cursor.
    113 .It Ic BACKSPACE
    114 Delete character to the left of the cursor.
    115 .It Ic ENTER
    116 Submit current line.
    117 .El
    118 .
    119 .Sh ENVIRONMENT
    120 .Bl -tag -width Ds
    121 .It Ev USER
    122 The default username to use.
    123 .It Ev IRCNICK
    124 The default nickname to use.
    125 .It Ev IRCPASS
    126 The default password to used for SASL PLAIN authentication.
    127 This is used if no certificate is provided via
    128 .Fl c .
    129 .El
    130 .
    131 .Sh EXIT STATUS
    132 .Nm
    133 exits 0 if requested by the user and >0 if any other error occurs.
    134 .Sh EXAMPLES
    135 .Ss Using CertFP
    136 .Bl -enum
    137 .It
    138 Generate a new TLS client certificate:
    139 .Bd -literal
    140 $ openssl req -x509 -newkey rsa:4096 -nodes -days 365 \\
    141 	-keyout user.pem -out user.pem -subj "/CN=CertFP"
    142 .Ed
    143 .It
    144 Connect to the server using the certificate:
    145 .Bd -literal
    146 $ nio -c user.pem
    147 .Ed
    148 .It
    149 Identify with the server normally then add the certificate fingerprint to
    150 your account:
    151 .Bd -literal
    152 m nickserv cert add
    153 .Ed
    154 .El
    155 .
    156 .Sh AUTHORS
    157 .An Andrew Kloet Aq Mt andrew@kloet.net
    158 .An Quentin Carbonneaux Aq Mt qcarbonneaux@gmail.com
    159 .An Hiltjo Posthuma Aq Mt hiltjo@codemadness.org