π¨ Custom client#
Warning
This page is not a tutorial. Writing your own client is a complex procedure and we recommend, as much as possible, to use one of our client libraries:
Note
We try, on this page, to list elements to know before diving into writing your own client. This list is non-exhaustive.
If you wish to contribute to this page, you can open an issue or a pull request by clicking on the GitHub button in the top bar, or contact us by email: bot@olvid.io.
Buf#
To compile our protobuf files, we use the tool Buf. Itβs possible to do it differently (with protoc), but this makes the task much easier.
Our Protobuf files are available here: Olvid-Bot-Protobuf
Here is an example of a buf file used for our Python client: buf.gen.yaml.
Authentication#
To connect to the daemon, your client will need to communicate its client key. We use gRPCβs HTTP headers to communicate this information in each request.
We use two headers. The first one, mandatory, to pass the client key. The second one, optional, to pass identity id to use in case of an admin client key.
# header to pass client key
daemon-client-key: 00000000-0000-0000-0000-000000000000
# header to pass identity id to use (for admin client keys only)
daemon-identity-id: 1