An example chat server in golang.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
991 B

6 years ago
# chat.go
Rudimentary go chat server as a fun project.
# Install
```bash
git clone https://git.coolaj86.com/coolaj86/chat.go.git
go get gopkg.in/yaml.v2
go get github.com/emicklei/go-restful
```
Note: I also copied some code directly from
<https://github.com/polvi/sni/blob/master/sni.go>
# Usage
6 years ago
**Start the server**
```bash
go run -race chatserver*.go -conf ./config.yml
```
6 years ago
See sample config file at `config.sample.yml`.
**Connect clients**
You can connect multiple clients.
```bash
telnet localhost 4080
```
You can also use HTTP. The API docs and examples can be seen at <http://localhost:4080>
```
curl http://localhost:4080
```
Implemented
-----
* [x] Awesome telnet server (would
* [x] HTTP API (no UI for the sake of time)
* [x] Multiplex the same port (because I wanted to learn)
* [x] E-mail "magic link" authentication (minus the link since it's localhost)
Not Implemented
----
* [ ] Write to log file (just `go run ./chatserver.go > /path/to/log`
* [ ] Rooms