summaryrefslogtreecommitdiffstats
path: root/README.md
blob: 58345e6ac8b6cbbbd676a08781f0e0d55f732220 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# solec

* [Protocol spec](https://git.sr.ht/~rctt/solec/tree/main/item/PROTOCOL.md)

## Running the daemon

You'll need Go toolchain. Get it [here](https://go.dev/dl/)

```
git clone https://git.rctt.net/solec
cd solec
go run cmd/daemon/main.go
```

## Development

Use following to setup Git hooks:
`git config --local core.hooksPath hooks`

* `tools/run.sh` - build and start server and few clients
* `tools/build-spec.sh` - build Kaitai spec

## Wireshark plugin

To build wireshark plugin you'll need Kaitai Struct Compiler.
KSC currently doesn't support Wireshark plugin generation but
[there is a discussion]("https://github.com/kaitai-io/kaitai_struct/issues/50#issuecomment-1485044090").
After building foked KSC use `./tools/build_spec.sh` to build the plugin and then put
it into Wireshark plugins directory.

There is a problem with dissecting specific payloads.

## TODO

- Protocol
	- Design authentication process
	- Desing messages history sync

- Server
	- User to user messaging
	- User to channel messaging
	- Better error handling

- Network library
	- Handle partial TCP packets
	- Better error handling