summaryrefslogtreecommitdiffstats
path: root/README.md
blob: c24b68bd05f370bdd72fb055826250d714b50de3 (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.sr.ht/~rctt/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 handshake process
	- Design basic messaging
	- Maybe put payload type and length into same bytes?

- Server
	- Put server stuff into a package
	- Create handlers

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