2014-12-15 03:51:51 +01:00
[![Build Status ](https://travis-ci.org/shazow/ssh-chat.svg?branch=master )](https://travis-ci.org/shazow/ssh-chat)
2015-02-01 02:25:03 +01:00
[![GoDoc ](https://godoc.org/github.com/shazow/ssh-chat?status.svg )](https://godoc.org/github.com/shazow/ssh-chat)
2019-03-25 15:16:12 +01:00
[![Downloads ](https://img.shields.io/github/downloads/shazow/ssh-chat/total.svg?color=orange )](https://github.com/shazow/ssh-chat/releases)
2019-03-25 15:13:54 +01:00
[![Bountysource ](https://www.bountysource.com/badge/team?team_id=52292&style=bounties_received )](https://www.bountysource.com/teams/ssh-chat/issues?utm_source=ssh-chat& utm_medium=shield& utm_campaign=bounties_received)
2014-12-15 03:51:51 +01:00
2014-12-10 03:22:46 +01:00
# ssh-chat
2014-12-10 02:21:52 +01:00
2014-12-12 07:19:04 +01:00
Custom SSH server written in Go. Instead of a shell, you get a chat prompt.
2014-12-13 02:55:19 +01:00
## Demo
Join the party:
```
2019-07-11 20:44:21 +02:00
$ ssh ssh.chat
2014-12-13 02:55:19 +01:00
```
2016-08-04 16:21:10 +02:00
The server's RSA key fingerprint is `MD5:e5:d5:d1:75:90:38:42:f6:c7:03:d7:d0:56:7d:6a:db` or `SHA256:HQDLlZsXL3t0lV5CHM0OXeZ5O6PcfHuzkS8cRbbTLBI` . If you see something different, you might be [MITM ](https://en.wikipedia.org/wiki/Man-in-the-middle_attack )'d.
2014-12-14 23:25:01 +01:00
(Apologies if the server is down, try again shortly.)
2014-12-13 02:55:19 +01:00
2016-07-18 00:07:38 +02:00
## Downloading a release
2016-07-25 18:25:04 +02:00
Recent releases include builds for MacOS (darwin/amd64) and Linux (386,
amd64, and ARM6 for your RaspberryPi).
2016-07-18 00:07:38 +02:00
2019-03-25 15:18:27 +01:00
**[Grab the latest binary release here](https://github.com/shazow/ssh-chat/releases/)**.
2016-07-18 00:07:38 +02:00
2018-02-15 18:47:46 +01:00
Play around with it. Additional [deploy examples are here ](https://github.com/shazow/ssh-chat/wiki/Deployment ).
2016-07-18 00:07:38 +02:00
2014-12-18 04:28:01 +01:00
## Compiling / Developing
2019-03-25 15:18:27 +01:00
Most people just want the [latest binary release ](https://github.com/shazow/ssh-chat/releases/ ). If you're sure you want to compile it from source, read on:
2014-12-18 04:28:01 +01:00
You can compile ssh-chat by using `make build` . The resulting binary is portable and
2017-10-12 19:40:35 +02:00
can be run on any system with a similar OS and CPU arch. Go 1.8 or higher is required to compile.
2014-12-18 04:28:01 +01:00
If you're developing on this repo, there is a handy Makefile that should set
things up with `make run` .
Additionally, `make debug` runs the server with an http `pprof` server. This allows you to open
[http://localhost:6060/debug/pprof/]() and view profiling data. See
[net/http/pprof ](http://golang.org/pkg/net/http/pprof/ ) for more information about `pprof` .
2014-12-12 07:19:04 +01:00
2016-07-18 00:07:38 +02:00
2014-12-12 07:19:04 +01:00
## Quick Start
```
Usage:
ssh-chat [OPTIONS]
Application Options:
2014-12-15 06:03:11 +01:00
-v, --verbose Show verbose logging.
2016-08-16 15:22:44 +02:00
--version Print version and exit.
2019-03-29 19:14:57 +01:00
-i, --identity= Private key to identify server with. (default: ~/.ssh/id_rsa)
--bind= Host and port to listen on. (default: 0.0.0.0:2022)
--admin= File of public keys who are admins.
--whitelist= Optional file of public keys who are allowed to connect.
--motd= Optional Message of the Day file.
2016-08-16 15:22:44 +02:00
--log= Write chat log to this file.
2019-03-29 19:14:57 +01:00
--pprof= Enable pprof http server for profiling.
2014-12-12 07:19:04 +01:00
Help Options:
2014-12-15 06:03:11 +01:00
-h, --help Show this help message
2014-12-12 07:19:04 +01:00
```
2015-08-22 21:16:01 +02:00
After doing `go get github.com/shazow/ssh-chat/...` on this repo, you should be able
2014-12-12 07:19:04 +01:00
to run a command like:
```
2015-01-05 04:57:22 +01:00
$ ssh-chat --verbose --bind ":22" --identity ~/.ssh/id_dsa
2014-12-12 07:19:04 +01:00
```
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).
2016-08-16 20:03:01 +02:00
## Frequently Asked Questions
The FAQs can be found on the project's [Wiki page ](https://github.com/shazow/ssh-chat/wiki/FAQ ).
Feel free to submit more questions to be answered and added to the page.
2014-12-13 06:39:46 +01:00
2014-12-13 02:52:05 +01:00
## License
2014-12-18 04:28:01 +01:00
This project is licensed under the MIT open source license.