Skip to content

Latest commit

 

History

History
66 lines (50 loc) · 2.42 KB

README.md

File metadata and controls

66 lines (50 loc) · 2.42 KB

Fleetspeak (for Rust)

CI status Crate Documentation

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.