11 releases
new 0.4.2 | Nov 15, 2024 |
---|---|
0.4.1 | Jul 31, 2023 |
0.4.0 | Jun 29, 2023 |
0.3.1 | Aug 26, 2022 |
0.1.1 | Mar 24, 2020 |
#74 in #messages
166 downloads per month
Used in fleetspeak
16KB
Fleetspeak (for Rust)
Fleetspeak is a communication framework with a focus on security monitoring. Currently, it is primarily used in the GRR project (a remote live forensics framework).
This repository contains a library for writing code in the Rust language for client-side Fleetspeak services. In a nutshell, this library is just a set of functions for sending and receiving messages from the Fleetspeak client.
Currently there are no plans to provide capabilities for writing server-side services as well. Since server-side services communicate with the Fleetspeak server through gRPC, having a sufficiently ergonomic gRPC library should be more than enough for such purposes.
This project is not an official Google product, is under heavy development and should not be used for any production code. It is merely a proof of concept and part of the experiment of rewriting the GRR client in Rust.
Using
To write your service, first add this library to dependencies in your project's
Cargo.toml
file:
[dependencies]
fleetspeak = "0.4.0"
Now, in your project, you can use functions such as fleetspeak::send
and
fleetspeak::receive
to communicate with the Fleetspeak client. Consult the
documentation about the details. You can also
checkout the example.
Read the Fleetspeak manual to learn how to make the Fleetspeak client aware of your service and launch it as a daemon.
FAQ
- What are the build requirements?
This library uses Protocol Buffers to communicate with Fleetspeak. To work with proto messages in Rust, it uses the rust-protobuf crate and compiles needed proto files to Rust code.
Dependencies
~1.6–3.5MB
~65K SLoC