# 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.