mirror of
https://github.com/shazow/ssh-chat.git
synced 2025-04-12 15:17:16 +03:00
92 lines
3.5 KiB
Markdown
92 lines
3.5 KiB
Markdown
[](https://travis-ci.org/shazow/ssh-chat)
|
|
[](https://godoc.org/github.com/shazow/ssh-chat)
|
|
[](https://github.com/shazow/ssh-chat/releases)
|
|
[](https://www.bountysource.com/teams/ssh-chat/issues?utm_source=ssh-chat&utm_medium=shield&utm_campaign=bounties_received)
|
|
|
|
|
|
# ssh-chat
|
|
|
|
Custom SSH server written in Go. Instead of a shell, you get a chat prompt.
|
|
|
|
## Demo
|
|
|
|
Join the party:
|
|
|
|
``` console
|
|
$ ssh ssh.chat
|
|
```
|
|
|
|
Please abide by our [project's Code of Conduct](https://github.com/shazow/ssh-chat/blob/master/CODE_OF_CONDUCT.md) while participating in chat.
|
|
|
|
The host's public key is `ssh.chat ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKPrQofxXqoz2y9A7NFkkENt6iW8/mvpfes3RY/41Oyt` and the fingerprint is `SHA256:yoqMXkCysMTBsvhu2yRoMUl+EmZKlvkN+ZKmL3115xU` (as of 2021-10-13).
|
|
|
|
If you see something different, you might be [MITM](https://en.wikipedia.org/wiki/Man-in-the-middle_attack)'d.
|
|
|
|
(Apologies if the server is down, try again shortly.)
|
|
|
|
|
|
## Downloading a release
|
|
|
|
Recent releases include builds for MacOS (darwin/amd64) and Linux (386,
|
|
amd64, and ARM6 for your RaspberryPi).
|
|
|
|
**[Grab the latest binary release here](https://github.com/shazow/ssh-chat/releases/)**.
|
|
|
|
Play around with it. Additional [deploy examples are here](https://github.com/shazow/ssh-chat/wiki/Deployment).
|
|
|
|
|
|
## Compiling / Developing
|
|
|
|
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:
|
|
|
|
You can compile ssh-chat by using `make build`. The resulting binary is portable and
|
|
can be run on any system with a similar OS and CPU arch. Go 1.8 or higher is required to compile.
|
|
|
|
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`.
|
|
|
|
|
|
## Quick Start
|
|
|
|
``` console
|
|
Usage:
|
|
ssh-chat [OPTIONS]
|
|
|
|
Application Options:
|
|
-v, --verbose Show verbose logging.
|
|
--version Print version and exit.
|
|
-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.
|
|
--allowlist= Optional file of public keys who are allowed to connect.
|
|
--motd= Optional Message of the Day file.
|
|
--log= Write chat log to this file.
|
|
--pprof= Enable pprof http server for profiling.
|
|
|
|
Help Options:
|
|
-h, --help Show this help message
|
|
```
|
|
|
|
After doing `go get github.com/shazow/ssh-chat/...` on this repo, you should be able
|
|
to run a command like:
|
|
|
|
``` console
|
|
$ 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).
|
|
|
|
## 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.
|
|
|
|
## License
|
|
|
|
MIT
|