461 lines
6.4 KiB
Groff
461 lines
6.4 KiB
Groff
.Dd December 2, 2018
|
|
.Dt CATGIRL 1
|
|
.Os
|
|
.
|
|
.Sh NAME
|
|
.Nm catgirl
|
|
.Nd IRC client
|
|
.
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl Nv
|
|
.Op Fl W Ar pass
|
|
.Op Fl a Ar auth
|
|
.Op Fl h Ar host
|
|
.Op Fl j Ar chan
|
|
.Op Fl l Ar path
|
|
.Op Fl n Ar nick
|
|
.Op Fl p Ar port
|
|
.Op Fl r Ar real
|
|
.Op Fl u Ar user
|
|
.Op Fl w Ar pass
|
|
.
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
is a curses, TLS-only IRC client.
|
|
.
|
|
.Pp
|
|
The arguments are as follows:
|
|
.
|
|
.Bl -tag -width "-w pass"
|
|
.It Fl N
|
|
Send notifications with
|
|
.Xr notify-send 1 .
|
|
.
|
|
.It Fl W Ar pass
|
|
Send
|
|
.Ql WEBIRC
|
|
command with
|
|
.Ar pass .
|
|
See
|
|
.Sx ENVIRONMENT
|
|
for details.
|
|
.
|
|
.It Fl a Ar auth
|
|
Authenticate with SASL PLAIN.
|
|
.Ar auth
|
|
is a colon-separated
|
|
username and password pair.
|
|
.
|
|
.It Fl h Ar host
|
|
Connect to
|
|
.Ar host .
|
|
.
|
|
.It Fl j Ar chan
|
|
Join
|
|
.Ar chan
|
|
after connecting.
|
|
.Ar chan
|
|
may be a comma-separated list.
|
|
.
|
|
.It Fl l Ar path
|
|
Log messages to subdirectories by target
|
|
and files by date under
|
|
.Ar path .
|
|
.
|
|
.It Fl n Ar nick
|
|
Set nickname to
|
|
.Ar nick .
|
|
.
|
|
.It Fl p Ar port
|
|
Connect to
|
|
.Ar port .
|
|
The default port is 6697.
|
|
.
|
|
.It Fl r Ar real
|
|
Set realname to
|
|
.Ar real .
|
|
The default realname is
|
|
the same as the nickname.
|
|
.
|
|
.It Fl u Ar user
|
|
Set username to
|
|
.Ar user .
|
|
The default username is
|
|
the same as the nickname.
|
|
.
|
|
.It Fl v
|
|
Show raw IRC protocol in the
|
|
.Ql -raw-
|
|
view.
|
|
.
|
|
.It Fl w Ar pass
|
|
Log in with
|
|
.Ar pass .
|
|
.El
|
|
.
|
|
.Pp
|
|
If
|
|
.Fl h
|
|
or
|
|
.Fl n
|
|
are not provided,
|
|
they will be prompted for.
|
|
.
|
|
.Sh COMMANDS
|
|
Any unique prefix
|
|
may be used to abbreviate a command.
|
|
A slash followed immediately by a number
|
|
is equivalent to
|
|
.Ic /view .
|
|
.
|
|
.Bl -tag -width Ds
|
|
.It Ic /close
|
|
Close the current view.
|
|
Later views are renumbered.
|
|
.
|
|
.It Ic /help
|
|
Equivalent to
|
|
.Ic /man .
|
|
.
|
|
.It Ic /join Ar chan
|
|
Join a channel.
|
|
.
|
|
.It Ic /man
|
|
View this manual.
|
|
.
|
|
.It Ic /me Ar action
|
|
Send a CTCP
|
|
.Ql ACTION
|
|
to the current target.
|
|
.
|
|
.It Ic /names
|
|
List users in the current channel.
|
|
Equivalent to
|
|
.Ic /who .
|
|
.
|
|
.It Ic /nick Ar nick
|
|
Change nicknames.
|
|
.
|
|
.It Ic /open Op Ar range
|
|
.Xr open 1
|
|
.Ar range
|
|
most recent URLs
|
|
appearing in the current view.
|
|
.Ar range
|
|
may be a hypen- or comma-separated range
|
|
from the most recent URL,
|
|
starting at 1.
|
|
The default
|
|
.Ar range
|
|
is 1.
|
|
.
|
|
.It Ic /open Ar substring
|
|
.Xr open 1
|
|
the most recent URL
|
|
appearing in the current view
|
|
matching
|
|
.Ar substring .
|
|
.
|
|
.It Ic /part
|
|
Leave the current channel.
|
|
.
|
|
.It Ic /query Ar nick
|
|
Open a private message view with
|
|
.Ar nick .
|
|
.
|
|
.It Ic /quit Op Ar message
|
|
Quit IRC.
|
|
The default
|
|
.Ar message
|
|
is
|
|
.Dq Goodbye .
|
|
.
|
|
.It Ic /raw Op Ar command
|
|
Toggle the
|
|
.Ql -raw-
|
|
view
|
|
and send the raw IRC
|
|
.Ar command .
|
|
.
|
|
.It Ic /topic Op Ar topic
|
|
Show the topic of the current channel
|
|
or set it to
|
|
.Ar topic .
|
|
.
|
|
.It Ic /url
|
|
Hide the UI and
|
|
list the most recent URLs
|
|
which appeared in the current view.
|
|
Press
|
|
.Aq Enter
|
|
to resume the UI.
|
|
.
|
|
.It Ic /view Ar num
|
|
Switch to view number
|
|
.Ar num .
|
|
.
|
|
.It Ic /view Ar name
|
|
Switch to view for
|
|
.Ar name .
|
|
.
|
|
.It Ic /who
|
|
List users in the current channel.
|
|
.
|
|
.It Ic /whois Ar nick
|
|
Query information about a user.
|
|
.El
|
|
.
|
|
.Pp
|
|
Additionally,
|
|
messages entered in the
|
|
.Ql -raw-
|
|
view
|
|
will be sent as raw IRC commands.
|
|
.
|
|
.Sh KEY BINDINGS
|
|
.Nm
|
|
provides Emacs-like
|
|
line editing keys,
|
|
as well as keys for entering
|
|
IRC formatting codes.
|
|
The prefixes
|
|
.Sy C- ,
|
|
.Sy M-
|
|
and
|
|
.Sy S-
|
|
represent the control, meta and shift modifiers,
|
|
respectively.
|
|
Special keys are enclosed in
|
|
.Aq angle brackets .
|
|
.
|
|
.Ss View Keys
|
|
.Bl -tag -width <PageDown>
|
|
.It Sy C-l
|
|
Redraw the UI.
|
|
.
|
|
.It Sy M-m
|
|
Insert a blank line in the view.
|
|
.
|
|
.It Sy M-0 .. Sy M-9
|
|
Switch to view by number.
|
|
See
|
|
.Ic /view .
|
|
.
|
|
.It Sy S- Ns Aq Sy Left
|
|
Scroll view up by one line.
|
|
.
|
|
.It Sy S- Ns Aq Sy Right
|
|
Scroll view down by one line.
|
|
.
|
|
.It Aq Sy PageUp
|
|
Scroll view up by half a page.
|
|
.
|
|
.It Aq Sy PageDown
|
|
Scroll view down by half a page.
|
|
.El
|
|
.
|
|
.Ss Line Editing
|
|
.Bl -tag -width "C-f, <Right>"
|
|
.It Sy C-b , Aq Sy Left
|
|
Move cursor left.
|
|
.
|
|
.It Sy C-f , Aq Sy Right
|
|
Move cursor right.
|
|
.
|
|
.It Sy C-a , Aq Sy Home
|
|
Move cursor to beginning of line.
|
|
.
|
|
.It Sy C-e , Aq Sy End
|
|
Move cursor to end of line.
|
|
.
|
|
.It Sy M-b
|
|
Move cursor to beginning of word.
|
|
.
|
|
.It Sy M-f
|
|
Move cursor to end of word.
|
|
.
|
|
.It Aq Sy Backspace
|
|
Delete character before cursor.
|
|
.
|
|
.It Sy C-d , Aq Sy Delete
|
|
Delete character under cursor.
|
|
.
|
|
.It Sy C-w , Sy M- Ns Aq Sy Backspace
|
|
Delete word before cursor.
|
|
.
|
|
.It Sy M-d
|
|
Delete word after cursor.
|
|
.
|
|
.It Sy C-k
|
|
Delete line after cursor.
|
|
.
|
|
.It Aq Sy Tab
|
|
Cycle through completions
|
|
for commands, nicks and channels.
|
|
.
|
|
.It Sy M-?
|
|
ROT13-encode line.
|
|
.El
|
|
.
|
|
.Ss IRC Formatting
|
|
.Bl -tag -width Ds
|
|
.It Sy C-n
|
|
Reset formatting.
|
|
.
|
|
.It Sy C-o
|
|
Toggle bold.
|
|
Note: this may need to be typed as
|
|
.Sy C-v C-o .
|
|
.
|
|
.It Sy C-t
|
|
Toggle italic.
|
|
.
|
|
.It Sy C-u
|
|
Toggle underline.
|
|
.
|
|
.It Sy C-v
|
|
Toggle reverse video.
|
|
Note: this must usually be typed as
|
|
.Sy C-v C-v .
|
|
.
|
|
.It Sy C-r
|
|
Set or reset color.
|
|
.El
|
|
.
|
|
.Pp
|
|
To reset color,
|
|
follow
|
|
.Sy C-r
|
|
by a non-digit.
|
|
To set the foreground color,
|
|
follow
|
|
.Sy C-r
|
|
by one or two digits.
|
|
To set the foreground and background colors,
|
|
follow
|
|
.Sy C-r
|
|
by one or two digits,
|
|
a comma,
|
|
and one or two digits.
|
|
.
|
|
.Pp
|
|
The colors are as follows:
|
|
.Pp
|
|
.Bl -tag -width Ds -compact
|
|
.It 0
|
|
white
|
|
.It 1
|
|
black
|
|
.It 2
|
|
blue
|
|
.It 3
|
|
green
|
|
.It 4
|
|
red
|
|
.It 5
|
|
brown (dark red)
|
|
.It 6
|
|
magenta
|
|
.It 7
|
|
orange (dark yellow)
|
|
.It 8
|
|
yellow
|
|
.It 9
|
|
light green
|
|
.It 10
|
|
cyan
|
|
.It 11
|
|
light cyan
|
|
.It 12
|
|
light blue
|
|
.It 13
|
|
pink (light magenta)
|
|
.It 14
|
|
gray
|
|
.It 15
|
|
light gray
|
|
.El
|
|
.
|
|
.Sh ENVIRONMENT
|
|
.Bl -tag -width SSH_CLIENT
|
|
.It Ev SSH_CLIENT
|
|
If
|
|
.Fl W
|
|
is passed and
|
|
.Ev SSH_CLIENT
|
|
is set,
|
|
the
|
|
.Ql WEBIRC
|
|
command is used
|
|
to set the hostname
|
|
to the first word of
|
|
.Ev SSH_CLIENT ,
|
|
usually the client IP address.
|
|
.El
|
|
.
|
|
.Sh EXAMPLES
|
|
.Dl catgirl -h ascii.town -j '&town'
|
|
.
|
|
.Sh STANDARDS
|
|
.Nm
|
|
is a partial implementation of the following:
|
|
.
|
|
.Bl -item
|
|
.It
|
|
.Rs
|
|
.%A C. Kalt
|
|
.%T Internet Relay Chat: Client Protocol
|
|
.%I IETF
|
|
.%N RFC 2812
|
|
.%D April 2000
|
|
.%U https://tools.ietf.org/html/rfc2812
|
|
.Re
|
|
.
|
|
.It
|
|
.Rs
|
|
.%A Kevin L. Mitchell
|
|
.%A Perry Lorier
|
|
.%A Lee Hardy
|
|
.%A William Pitcock
|
|
.%T IRCv3.1 Client Capability Negotiation
|
|
.%I IRCv3 Working Group
|
|
.%U https://ircv3.net/specs/core/capability-negotiation-3.1.html
|
|
.Re
|
|
.
|
|
.It
|
|
.Rs
|
|
.%A Jilles Tjoelker
|
|
.%A William Pitcock
|
|
.%T IRCv3.1 SASL Authentication
|
|
.%I IRCv3 Working Group
|
|
.%U https://ircv3.net/specs/extensions/sasl-3.1.html
|
|
.Re
|
|
.
|
|
.It
|
|
.Rs
|
|
.%A K. Zeilenga, Ed.
|
|
.%Q OpenLDAP Foundation
|
|
.%T The PLAIN Simple Authentication and Security Layer (SASL) Mechanism
|
|
.%I IETF
|
|
.%N RFC 4616
|
|
.%D August 2006
|
|
.%U https://tools.ietf.org/html/rfc4616
|
|
.Re
|
|
.
|
|
.It
|
|
.Rs
|
|
.%A S. Josefsson
|
|
.%Q SJD
|
|
.%T The Base16, Base32, and Base64 Data Encodings
|
|
.%I IETF
|
|
.%N RFC 4648
|
|
.%D October 2006
|
|
.%U https://tools.ietf.org/html/rfc4648
|
|
.Re
|
|
.El
|
|
.
|
|
.Sh CAVEATS
|
|
.Nm
|
|
does not support unencrypted connections.
|