This repository provides a protocol specification and reference implementations enabling Foxglove to ingest arbitrary “live” streamed data.
A Foxglove WebSocket server can provide multiple data streams, called channels. When a client subscribes to a channel, it begins receiving messages on that channel. This protocol does not prescribe the messages' data format. Instead, the server specifies each channel's encoding, and the client uses this information to determine whether it can decode that channel's messages. Read the Foxglove documentation for more information on which encodings Foxglove supports.
Implementations are available in the following languages:
| Language | Includes | Package name | Version |
|---|---|---|---|
| Python | server + examples | foxglove-websocket |
|
| JavaScript/TypeScript | server + client | @foxglove/ws-protocol |
|
| JavaScript/TypeScript | examples | @foxglove/ws-protocol-examples |
|
| C++ | server + examples | foxglove-websocket |
- https://foxglove.github.io/ws-protocol - Connect to a ws-protocol compliant server and measure data throughput
- eCAL Foxglove Bridge – WebSocket bridge that allows users to connect eCAL systems to Foxglove for easy visualization and debugging

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
