blob: 13965f3389d3acb5affd23f1abcc05318a7f92bd (
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
|
# solec
* [Protocol documentation](https://git.rctt.net/solec/plain/docs/rfc.txt?h=main)
* [Data format diagram](https://git.rctt.net/solec/plain/docs/protocol.svg?h=main)
## 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/run-many.sh` - build and start two servers and two clients
* `tools/build-spec.sh` - build Kaitai spec
* `GOPROXY=proxy.golang.org go list -m go.rctt.net/solec@v_._._` - publish Go module
## 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.
## TLS
To enable TLS start daemon with following flags:
`solecd -tls -tls-cert cert.pem -tls-key key.pem`
For testing you can use `tools/key-gen.sh` and `/tools/run-tls.sh`.
Client have to be started with `-tls` flag or `-tls -tls-insescure` if the key is self signed.
|