aboutsummaryrefslogtreecommitdiff
path: root/network/ssh-chat
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2020-11-20 20:10:15 +0000
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2020-11-22 01:14:22 +0700
commit85d4ec0fe0f76dd93ed2163494af3ed50bf2699f (patch)
treea0efaa28a3875ea2ae65a6cf3577e5285793d2f6 /network/ssh-chat
parentd1246370e2f9cb50311c21c482126044e82962f3 (diff)
network/ssh-chat: Added (IRC-like chat server using ssh as a client)
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'network/ssh-chat')
-rw-r--r--network/ssh-chat/README23
-rw-r--r--network/ssh-chat/slack-desc19
-rw-r--r--network/ssh-chat/ssh-chat.8116
-rw-r--r--network/ssh-chat/ssh-chat.SlackBuild62
-rw-r--r--network/ssh-chat/ssh-chat.info10
-rw-r--r--network/ssh-chat/ssh-chat.rst104
6 files changed, 334 insertions, 0 deletions
diff --git a/network/ssh-chat/README b/network/ssh-chat/README
new file mode 100644
index 0000000000000..839acf76eecf1
--- /dev/null
+++ b/network/ssh-chat/README
@@ -0,0 +1,23 @@
+ssh-chat (IRC-like chat server using ssh as a client)
+
+ssh-chat is a custom SSH server written in Go. Instead of a shell, you
+get a chat prompt.
+
+Note that this is only the server. There is no dedicated client: users
+just use ssh to connect to the server.
+
+This SlackBuild just repackages the official release binary, and does
+not attempt to compile anything.
+
+There is no startup script; if you want to run ssh-chat as a daemon,
+add something like this to /etc/rc.d/rc.local:
+
+if [ -x /usr/sbin/ssh-chat ]; then
+ cd /
+ /usr/sbin/ssh-chat <options> </dev/null >/dev/null 2>&1 &
+fi
+
+Replace <options> with whatever options you want (one of which should
+be --log). If you'd rather run as a non-root user, prefix the command
+with e.g. "su - nobody -s ", and make sure your --bind has a port
+numbered higher than 1024.
diff --git a/network/ssh-chat/slack-desc b/network/ssh-chat/slack-desc
new file mode 100644
index 0000000000000..6b2b1f2413d89
--- /dev/null
+++ b/network/ssh-chat/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ssh-chat: ssh-chat (IRC-like chat server using ssh as a client)
+ssh-chat:
+ssh-chat: ssh-chat is a custom SSH server written in Go. Instead of a shell, you
+ssh-chat: get a chat prompt.
+ssh-chat:
+ssh-chat: Note that this is only the server. There is no dedicated client: users
+ssh-chat: just use ssh to connect to the server.
+ssh-chat:
+ssh-chat:
+ssh-chat:
+ssh-chat:
diff --git a/network/ssh-chat/ssh-chat.8 b/network/ssh-chat/ssh-chat.8
new file mode 100644
index 0000000000000..a1889dafdbd6d
--- /dev/null
+++ b/network/ssh-chat/ssh-chat.8
@@ -0,0 +1,116 @@
+.\" Man page generated from reStructuredText.
+.
+.TH SSH-CHAT 8 "2020-11-18" "1.10" "SlackBuilds.org"
+.SH NAME
+ssh-chat \- custom ssh server providing IRC-like chat
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" RST source for ssh-chat(1) man page. Convert with:
+.
+.\" rst2man.py ssh-chat.rst > ssh-chat.8
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.SH SYNOPSIS
+.sp
+ssh\-chat [\fI\-options\fP]
+.SH DESCRIPTION
+.sp
+ssh\-chat is a custom SSH server written in Go. Instead of a shell,
+clients get a chat prompt when they connect.
+.sp
+There is no specific client for ssh\-chat; use a standard ssh client to connect.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-v\fP,\fB \-\-verbose
+Show verbose logging.
+.TP
+.B \-\-version
+Print version and exit.
+.TP
+.BI \-i\fP,\fB \-\-identity\fB= file
+Private key to identify server with. (default: ~/.ssh/id_rsa)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-bind=host:port
+Host and port to listen on. (default: 0.0.0.0:2022)
+.UNINDENT
+.INDENT 0.0
+.TP
+.BI \-\-admin\fB= file
+File of public keys who are admins.
+.TP
+.BI \-\-whitelist\fB= file
+Optional file of public keys who are allowed to connect.
+.TP
+.BI \-\-motd\fB= file
+Optional Message of the Day file.
+.TP
+.BI \-\-log\fB= file
+Write chat log to this file.
+.TP
+.BI \-\-pprof\fB= yes
+Enable pprof http server for profiling.
+.TP
+.B \-h\fP,\fB \-\-help
+Show this help message
+.UNINDENT
+.SH DEMO
+.sp
+To connect to the project\(aqs ssh\-chat server:
+.sp
+$ ssh ssh.chat
+.SH EXAMPLES
+.sp
+ssh\-chat \-\-verbose \-\-bind ":22" \-\-identity ~/.ssh/id_dsa
+.sp
+To bind on port 22, you\(aqll need to make sure it\(aqs free (move any other ssh
+daemons to another port) and run ssh\-chat as root (or with sudo).
+.sp
+Note that ssh\-chat doesn\(aqt run in the background. If you want to \(aqdaemonize\(aq it,
+use the \-\-log option, and run it with a command like:
+.sp
+$ cd / ; ssh\-chat [options] \-\-log=logfile </dev/null >/dev/null 2>&1 &
+.SH COPYRIGHT
+.sp
+See the file /usr/doc/ssh\-chat\-1.10/LICENSE for license information.
+.SH AUTHORS
+.sp
+ssh\-chat was written by Andrey Petrov.
+.sp
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.SH SEE ALSO
+.sp
+ssh(1), sshd(1)
+.sp
+The ssh\-chat homepage: \fI\%https://github.com/shazow/ssh\-chat/\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/network/ssh-chat/ssh-chat.SlackBuild b/network/ssh-chat/ssh-chat.SlackBuild
new file mode 100644
index 0000000000000..8227429ec868a
--- /dev/null
+++ b/network/ssh-chat/ssh-chat.SlackBuild
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+# Slackware build script for ssh-chat
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=ssh-chat
+VERSION=${VERSION:-1.10}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+case "$ARCH" in
+ i?86) SRCARCH="386" ;;
+ x86_64) SRCARCH="amd64" ;;
+ *) echo "Unsupported ARCH '$ARCH' (only i586, i686, x864_64 supported)" 1>&2
+ exit 1 ;;
+esac
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+mkdir -p $PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-linux_$SRCARCH.tgz
+cd $PRGNAM
+chown -R root:root .
+
+mkdir -p $PKG/usr/sbin $PKG/usr/doc/$PRGNAM-$VERSION
+install -m0755 $PRGNAM $PKG/usr/sbin
+install -m0644 README* LICENSE* $PKG/usr/doc/$PRGNAM-$VERSION
+
+# man page by SlackBuild author
+mkdir -p $PKG/usr/man/man8
+gzip -9 < $CWD/$PRGNAM.8 > $PKG/usr/man/man8/$PRGNAM.8.gz
+
+# include our README since it has Slack-specific stuff.
+cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README_SBo.txt
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/network/ssh-chat/ssh-chat.info b/network/ssh-chat/ssh-chat.info
new file mode 100644
index 0000000000000..82a1e31182d53
--- /dev/null
+++ b/network/ssh-chat/ssh-chat.info
@@ -0,0 +1,10 @@
+PRGNAM="ssh-chat"
+VERSION="1.10"
+HOMEPAGE="https://github.com/shazow/ssh-chat/"
+DOWNLOAD="https://github.com/shazow/ssh-chat/releases/download/v1.10/ssh-chat-linux_386.tgz"
+MD5SUM="21313e16a3ffcb2659231d93d4010d40"
+DOWNLOAD_x86_64="https://github.com/shazow/ssh-chat/releases/download/v1.10/ssh-chat-linux_amd64.tgz"
+MD5SUM_x86_64="624d31da8f76331bc03bd07f3ff6fd4c"
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/network/ssh-chat/ssh-chat.rst b/network/ssh-chat/ssh-chat.rst
new file mode 100644
index 0000000000000..1e3dfb44ef886
--- /dev/null
+++ b/network/ssh-chat/ssh-chat.rst
@@ -0,0 +1,104 @@
+.. RST source for ssh-chat(1) man page. Convert with:
+.. rst2man.py ssh-chat.rst > ssh-chat.8
+.. rst2man.py comes from the SBo development/docutils package.
+
+.. |version| replace:: 1.10
+.. |date| date::
+
+========
+ssh-chat
+========
+
+-----------------------------------------
+custom ssh server providing IRC-like chat
+-----------------------------------------
+
+:Manual section: 8
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+ssh-chat [*-options*]
+
+DESCRIPTION
+===========
+
+ssh-chat is a custom SSH server written in Go. Instead of a shell,
+clients get a chat prompt when they connect.
+
+There is no specific client for ssh-chat; use a standard ssh client to connect.
+
+OPTIONS
+=======
+
+-v, --verbose
+ Show verbose logging.
+
+--version
+ Print version and exit.
+
+-i, --identity=file
+ Private key to identify server with. (default: ~/.ssh/id_rsa)
+
+--bind=host:port
+ Host and port to listen on. (default: 0.0.0.0:2022)
+
+--admin=file
+ File of public keys who are admins.
+
+--whitelist=file
+ Optional file of public keys who are allowed to connect.
+
+--motd=file
+ Optional Message of the Day file.
+
+--log=file
+ Write chat log to this file.
+
+--pprof=yes
+ Enable pprof http server for profiling.
+
+-h, --help Show this help message
+
+DEMO
+====
+
+To connect to the project's ssh-chat server:
+
+$ ssh ssh.chat
+
+EXAMPLES
+========
+
+ssh-chat --verbose --bind ":22" --identity ~/.ssh/id_dsa
+
+To bind on port 22, you'll need to make sure it's free (move any other ssh
+daemons to another port) and run ssh-chat as root (or with sudo).
+
+Note that ssh-chat doesn't run in the background. If you want to 'daemonize' it,
+use the --log option, and run it with a command like:
+
+$ cd / ; ssh-chat [options] --log=logfile </dev/null >/dev/null 2>&1 &
+
+COPYRIGHT
+=========
+
+See the file /usr/doc/ssh-chat-|version|/LICENSE for license information.
+
+AUTHORS
+=======
+
+ssh-chat was written by Andrey Petrov.
+
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+
+SEE ALSO
+========
+
+ssh(1), sshd(1)
+
+The ssh-chat homepage: https://github.com/shazow/ssh-chat/