3c8df8bab1 | ||
---|---|---|
LICENSE | ||
Makefile | ||
README.md | ||
client.go | ||
cmd.go | ||
history.go | ||
history_test.go | ||
logger.go | ||
pty.go | ||
server.go |
README.md
ssh-chat
Custom SSH server written in Go. Instead of a shell, you get a chat prompt.
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:
- Welcome message.
- set term width properly
- client map rather than list
- backfill chat history
- tab completion
- /ban
- /help
- /about
- /list
- /nick
- pubkey fingerprint
- truncate usernames
- rename collision bug
- 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