mirror of
https://github.com/shazow/ssh-chat.git
synced 2025-04-13 15:47:17 +03:00
74 lines
1.4 KiB
Markdown
74 lines
1.4 KiB
Markdown
# ssh-chat
|
|
|
|
Custom SSH server written in Go. Instead of a shell, you get a chat prompt.
|
|
|
|
## Demo
|
|
|
|
Join the party:
|
|
|
|
```
|
|
$ ssh chat.shazow.net
|
|
```
|
|
|
|
(Apologies if the server is down.)
|
|
|
|
|
|
## Quick Start
|
|
|
|
```
|
|
Usage:
|
|
ssh-chat [OPTIONS]
|
|
|
|
Application Options:
|
|
-v, --verbose Show verbose logging.
|
|
-b, --bind= Host and port to listen on. (0.0.0.0:22)
|
|
-i, --identity= Private key to identify server with. (~/.ssh/id_rsa)
|
|
|
|
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:
|
|
|
|
```
|
|
$ ssh-chat --verbose --bind ":2022" --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).
|
|
|
|
|
|
## Developing
|
|
|
|
If you're developing on this repo, there is a handy Makefile that should set
|
|
things up with `make run`.
|
|
|
|
|
|
## TODO:
|
|
|
|
* [x] Welcome message.
|
|
* [x] set term width properly
|
|
* [x] client map rather than list
|
|
* [x] backfill chat history
|
|
* [ ] tab completion
|
|
* [x] /ban
|
|
* [x] /help
|
|
* [x] /about
|
|
* [x] /list
|
|
* [x] /nick
|
|
* [x] pubkey fingerprint
|
|
* [x] truncate usernames
|
|
* [ ] rename collision bug
|
|
* [x] Some tests.
|
|
* [ ] More tests.
|
|
* [ ] Even more tests.
|
|
* [ ] Lots of refactoring
|
|
* [ ] Pull out the chat-related stuff into isolation from the ssh serving
|
|
stuff
|
|
|
|
|
|
## License
|
|
|
|
MIT
|