From 85ea911b799181e375b1553458853e54ed25f28f Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Tue, 27 Nov 2018 19:13:27 -0500 Subject: Rename project catgirl This simplifies things. --- .gitignore | 2 +- Makefile | 22 ++-- README | 10 +- catgirl.1 | 380 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ catgirl.7 | 63 ++++++++++ chat.h | 2 +- chatte.1 | 380 ------------------------------------------------------------ chatte.7 | 63 ---------- input.c | 2 +- man.sh | 2 +- sshd_config | 2 +- 11 files changed, 464 insertions(+), 464 deletions(-) create mode 100644 catgirl.1 create mode 100644 catgirl.7 delete mode 100644 chatte.1 delete mode 100644 chatte.7 diff --git a/.gitignore b/.gitignore index d3a0af8..b701a89 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ *.o *.t -chatte +catgirl chroot.tar root tags diff --git a/Makefile b/Makefile index ece6649..3efcbd8 100644 --- a/Makefile +++ b/Makefile @@ -27,12 +27,12 @@ OBJS += url.o TESTS += format.t TESTS += term.t -all: tags chatte test +all: tags catgirl test tags: *.h *.c ctags -w *.h *.c -chatte: $(OBJS) +catgirl: $(OBJS) $(CC) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $@ $(OBJS): chat.h @@ -45,16 +45,16 @@ test: $(TESTS) .c.t: $(CC) $(CFLAGS) -DTEST $(LDFLAGS) $< $(LDLIBS) -o $@ -install: chatte chatte.1 +install: catgirl catgirl.1 install -d $(PREFIX)/bin $(MANPATH)/man1 - install chatte $(PREFIX)/bin/chatte - install -m 644 chatte.1 $(MANPATH)/man1/chatte.1 + install catgirl $(PREFIX)/bin/catgirl + install -m 644 catgirl.1 $(MANPATH)/man1/catgirl.1 uninstall: - rm -f $(PREFIX)/bin/chatte - rm -f $(MANPATH)/man1/chatte.1 + rm -f $(PREFIX)/bin/catgirl + rm -f $(MANPATH)/man1/catgirl.1 -chroot.tar: chatte chatte.1 man.sh +chroot.tar: catgirl catgirl.1 man.sh install -d -o root -g wheel \ root \ root/bin \ @@ -88,7 +88,7 @@ chroot.tar: chatte chatte.1 man.sh tar -c -f chroot.tar -C root bin etc home lib libexec usr clean: - rm -rf tags chatte $(OBJS) $(TESTS) root chroot.tar + rm -rf tags catgirl $(OBJS) $(TESTS) root chroot.tar -README: chatte.7 - mandoc chatte.7 | sed $$'s/.\b//g' > README +README: catgirl.7 + mandoc catgirl.7 | col -b -x > README diff --git a/README b/README index bc7d86c..d060f24 100644 --- a/README +++ b/README @@ -1,10 +1,10 @@ -CHATTE(7) Miscellaneous Information Manual CHATTE(7) +CATGIRL(7) Miscellaneous Information Manual CATGIRL(7) NAME - chatte – IRC for catgirls + catgirl – IRC client DESCRIPTION - chatte is a curses IRC client originally intended for use over anonymous + catgirl is a curses IRC client originally intended for use over anonymous SSH. It requires LibreSSL and targets FreeBSD and Darwin. @@ -29,6 +29,6 @@ FILES man.sh man(1) implementation for chroot SEE ALSO - chatte(1) + catgirl(1) -Causal Agency September 15, 2018 Causal Agency +Causal Agency November 27, 2018 Causal Agency diff --git a/catgirl.1 b/catgirl.1 new file mode 100644 index 0000000..2ffd7d0 --- /dev/null +++ b/catgirl.1 @@ -0,0 +1,380 @@ +.Dd November 27, 2018 +.Dt CATGIRL 1 +.Os "Causal Agency" +. +.Sh NAME +.Nm catgirl +.Nd IRC client +. +.Sh SYNOPSIS +.Nm +.Op Fl Nv +.Op Fl W Ar pass +.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 u Ar user +.Op Fl w Ar pass +. +.Sh DESCRIPTION +.Nm +is a curses IRC client +which only supports TLS. +. +.Pp +The arguments are as follows: +. +.Bl -tag -width Ds +.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 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 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 ~irc +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 +Commands may be entered +as their shortest unique prefix. +A slash followed immediately by a number +is equivalent to +.Ic /view . +. +.Bl -tag +.It Ic /close +Close the current view. +All views after the current one +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 +Open +.Ar range +most recent URLs +appearing in the current view +with +.Xr open 1 . +.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 +Open the most recent URL +appearing in the current view +matching +.Ar substring +with +.Xr open 1 . +. +.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 /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. +.El +. +.Pp +Additionally, +messages entered in the +.Ql ~irc +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. +. +.Ss View Keys +.Bl -tag +.It Aq C-l +Redraw the UI. +. +.It Aq M-m +Insert a blank line in the view. +. +.It Ao M-0 Ac ... Ao M-9 Ac +Switch to view by number. +See +.Ic /view . +. +.It Aq S-Left +Scroll view up by one line. +. +.It Aq S-Right +Scroll view down by one line. +. +.It Aq PageUp +Scroll view up by half a page. +. +.It Aq PageDown +Scroll view down by half a page. +.El +. +.Ss Line Editing +.Bl -tag +.It Ao C-b Ac Ao Left Ac +Move cursor left. +. +.It Ao C-f Ac Ao Right Ac +Move cursor right. +. +.It Ao C-a Ac Ao Home Ac +Move cursor to beginning of line. +. +.It Ao C-e Ac Ao End Ac +Move cursor to end of line. +. +.It Aq M-b +Move cursor to beginning of word. +. +.It Aq M-f +Move cursor to end of word. +. +.It Aq Backspace +Delete character before cursor. +. +.It Ao C-d Ac Ao Delete Ac +Delete character under cursor. +. +.It Ao C-w Ac Ao M-Backspace Ac +Delete word before cursor. +. +.It Aq M-d +Delete word after cursor. +. +.It Aq C-k +Delete line after cursor. +. +.It Aq Tab +Cycle through completions +for commands, nicks and channels. +.El +. +.Ss IRC Formatting +.Bl -tag +.It Aq C-n +Reset formatting. +. +.It Aq C-o +Toggle bold. +Note: this may need to be typed as +.Aq C-v C-o . +. +.It Aq C-t +Toggle italic. +. +.It Aq C-u +Toggle underline. +. +.It Aq C-v +Toggle reverse video. +Note: this must usually be typed as +.Aq C-v C-v . +. +.It Aq C-r +Set or reset color. +.El +. +.Pp +To reset color, +follow +.Aq C-r +by a non-digit. +To set the foreground color, +follow +.Aq C-r +by one or two digits. +To set the foreground and background colors, +follow +.Aq C-r +by one or two digits, +a comma, +and one or two digits. +. +.Pp +The colors are as follows: +.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 +.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 '&catgirl' +. +.Sh STANDARDS +.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 +. +.Sh CAVEATS +.Nm +does not support unencrypted connections. diff --git a/catgirl.7 b/catgirl.7 new file mode 100644 index 0000000..e54d822 --- /dev/null +++ b/catgirl.7 @@ -0,0 +1,63 @@ +.Dd November 27, 2018 +.Dt CATGIRL 7 +.Os "Causal Agency" +. +.Sh NAME +.Nm catgirl +.Nd IRC client +. +.Sh DESCRIPTION +.Nm +is a curses IRC client +originally intended for +use over anonymous SSH. +. +.Pp +It requires LibreSSL +and targets +.Fx +and Darwin. +. +.Sh FILES +.Bl -tag -width format.c -compact +.It Pa chat.h +Shared state and function prototypes +.It Pa chat.c +Command line parsing +.It Pa event.c +Event loop and process spawning +.It Pa tag.c +Tag (channel, query) ID assignment +.It Pa handle.c +Incoming command handling +.It Pa input.c +Input command handling +.It Pa irc.c +TLS client connection +.It Pa format.c +IRC formatting +.It Pa ui.c +Curses UI +.It Pa term.c +Terminal features unsupported by curses +.It Pa edit.c +Line editing +.It Pa tab.c +Tab-complete +.It Pa url.c +URL detection +.It Pa pls.c +Functions which should not have to be written +.El +. +.Pp +.Bl -tag -width sshd_config -compact +.It Pa sshd_config +Anonymous SSH configuration +.It Pa man.sh +.Xr man 1 +implementation for chroot +.El +. +.Sh SEE ALSO +.Xr catgirl 1 diff --git a/chat.h b/chat.h index cb05124..1a56992 100644 --- a/chat.h +++ b/chat.h @@ -14,7 +14,7 @@ * along with this program. If not, see . */ -#define SOURCE_URL "https://code.causal.agency/june/chatte" +#define SOURCE_URL "https://code.causal.agency/june/catgirl" #include #include diff --git a/chatte.1 b/chatte.1 deleted file mode 100644 index f788ff1..0000000 --- a/chatte.1 +++ /dev/null @@ -1,380 +0,0 @@ -.Dd September 8, 2018 -.Dt CHATTE 1 -.Os "Causal Agency" -. -.Sh NAME -.Nm chatte -.Nd IRC for catgirls -. -.Sh SYNOPSIS -.Nm -.Op Fl Nv -.Op Fl W Ar pass -.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 u Ar user -.Op Fl w Ar pass -. -.Sh DESCRIPTION -.Nm -is a curses IRC client -which only supports TLS. -. -.Pp -The arguments are as follows: -. -.Bl -tag -width Ds -.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 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 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 ~irc -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 -Commands may be entered -as their shortest unique prefix. -A slash followed immediately by a number -is equivalent to -.Ic /view . -. -.Bl -tag -.It Ic /close -Close the current view. -All views after the current one -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 -Open -.Ar range -most recent URLs -appearing in the current view -with -.Xr open 1 . -.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 -Open the most recent URL -appearing in the current view -matching -.Ar substring -with -.Xr open 1 . -. -.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 /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. -.El -. -.Pp -Additionally, -messages entered in the -.Ql ~irc -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. -. -.Ss View Keys -.Bl -tag -.It Aq C-l -Redraw the UI. -. -.It Aq M-m -Insert a blank line in the view. -. -.It Ao M-0 Ac ... Ao M-9 Ac -Switch to view by number. -See -.Ic /view . -. -.It Aq S-Left -Scroll view up by one line. -. -.It Aq S-Right -Scroll view down by one line. -. -.It Aq PageUp -Scroll view up by half a page. -. -.It Aq PageDown -Scroll view down by half a page. -.El -. -.Ss Line Editing -.Bl -tag -.It Ao C-b Ac Ao Left Ac -Move cursor left. -. -.It Ao C-f Ac Ao Right Ac -Move cursor right. -. -.It Ao C-a Ac Ao Home Ac -Move cursor to beginning of line. -. -.It Ao C-e Ac Ao End Ac -Move cursor to end of line. -. -.It Aq M-b -Move cursor to beginning of word. -. -.It Aq M-f -Move cursor to end of word. -. -.It Aq Backspace -Delete character before cursor. -. -.It Ao C-d Ac Ao Delete Ac -Delete character under cursor. -. -.It Ao C-w Ac Ao M-Backspace Ac -Delete word before cursor. -. -.It Aq M-d -Delete word after cursor. -. -.It Aq C-k -Delete line after cursor. -. -.It Aq Tab -Cycle through completions -for commands, nicks and channels. -.El -. -.Ss IRC Formatting -.Bl -tag -.It Aq C-n -Reset formatting. -. -.It Aq C-o -Toggle bold. -Note: this may need to be typed as -.Aq C-v C-o . -. -.It Aq C-t -Toggle italic. -. -.It Aq C-u -Toggle underline. -. -.It Aq C-v -Toggle reverse video. -Note: this must usually be typed as -.Aq C-v C-v . -. -.It Aq C-r -Set or reset color. -.El -. -.Pp -To reset color, -follow -.Aq C-r -by a non-digit. -To set the foreground color, -follow -.Aq C-r -by one or two digits. -To set the foreground and background colors, -follow -.Aq C-r -by one or two digits, -a comma, -and one or two digits. -. -.Pp -The colors are as follows: -.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 -.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 chatte -h ascii.town -j '&chatte' -. -.Sh STANDARDS -.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 -. -.Sh CAVEATS -.Nm -does not support unencrypted connections. diff --git a/chatte.7 b/chatte.7 deleted file mode 100644 index 5d5b31c..0000000 --- a/chatte.7 +++ /dev/null @@ -1,63 +0,0 @@ -.Dd September 15, 2018 -.Dt CHATTE 7 -.Os "Causal Agency" -. -.Sh NAME -.Nm chatte -.Nd IRC for catgirls -. -.Sh DESCRIPTION -.Nm -is a curses IRC client -originally intended for -use over anonymous SSH. -. -.Pp -It requires LibreSSL -and targets -.Fx -and Darwin. -. -.Sh FILES -.Bl -tag -width format.c -compact -.It Pa chat.h -Shared state and function prototypes -.It Pa chat.c -Command line parsing -.It Pa event.c -Event loop and process spawning -.It Pa tag.c -Tag (channel, query) ID assignment -.It Pa handle.c -Incoming command handling -.It Pa input.c -Input command handling -.It Pa irc.c -TLS client connection -.It Pa format.c -IRC formatting -.It Pa ui.c -Curses UI -.It Pa term.c -Terminal features unsupported by curses -.It Pa edit.c -Line editing -.It Pa tab.c -Tab-complete -.It Pa url.c -URL detection -.It Pa pls.c -Functions which should not have to be written -.El -. -.Pp -.Bl -tag -width sshd_config -compact -.It Pa sshd_config -Anonymous SSH configuration -.It Pa man.sh -.Xr man 1 -implementation for chroot -.El -. -.Sh SEE ALSO -.Xr chatte 1 diff --git a/input.c b/input.c index 84ca71c..3a3d499 100644 --- a/input.c +++ b/input.c @@ -144,7 +144,7 @@ static void inputClose(struct Tag tag, char *params) { static void inputMan(struct Tag tag, char *params) { (void)tag; (void)params; - eventWait((const char *[]) { "man", "1", "chatte", NULL }); + eventWait((const char *[]) { "man", "1", "catgirl", NULL }); } static const struct { diff --git a/man.sh b/man.sh index 494eeda..9d686f9 100644 --- a/man.sh +++ b/man.sh @@ -1,2 +1,2 @@ #!/bin/sh -exec mandoc /usr/share/man/man1/chatte.1 | LESSSECURE=1 less +exec mandoc /usr/share/man/man1/catgirl.1 | LESSSECURE=1 less diff --git a/sshd_config b/sshd_config index 98a70b6..47b5a33 100644 --- a/sshd_config +++ b/sshd_config @@ -4,7 +4,7 @@ Match User chat PasswordAuthentication yes PermitEmptyPasswords yes ChrootDirectory /home/chat - ForceCommand chatte + ForceCommand catgirl AllowAgentForwarding no AllowTcpForwarding no -- cgit 1.4.1