# Install fstrm with Homebrew

Frame Streams implementation in C. Version 0.6.1 via Homebrew; verified 2026-06-19.

## Install

```sh
sudo av install brew:fstrm
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install fstrm
```

  Evidence: provider-native install command

## Package facts

- **Package key:** brew:fstrm
- **Package manager:** Homebrew
- **Version:** 0.6.1
- **Source summary:** Frame Streams implementation in C
- **Homepage:** <https://github.com/farsightsec/fstrm>
- **Repository:** <https://github.com/farsightsec/fstrm>
- **Last updated:** 2026-06-19T12:30:41-07:00
- **Generated:** 2026-08-03T00:40:33+00:00

## Executables

- fstrm_capture (alias)
- fstrm_dump (alias)
- fstrm_replay (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.6.1
## Project history and usage

fstrm is Farsight Security's C implementation of the Frame Streams data transport protocol, with a library and small reference programs.

### Project history

The repository was created in 2014. The README describes Frame Streams as a lightweight, binary-clean framing protocol for sequences of encoded payloads, usable over reliable byte streams and as a file format.

The upstream ChangeLog records fstrm 0.1.0 as the initial release in February 2014, followed by 0.2.0 in November 2014 with API and protocol changes, Doxygen documentation, and the fstrm_capture utility.

### Adoption history

fstrm was originally written to support high-speed binary logging in C DNS servers using the dnstap log format. The supplied package data shows broad packaging across Alpine, Homebrew, Debian, Fedora, MacPorts, Nix, Arch, Ubuntu, and openSUSE families.

### How it is used

Developers include fstrm.h, compile with pkg-config --cflags libfstrm, and link with pkg-config --libs libfstrm. The library provides APIs for a dedicated Frame Streams I/O thread and asynchronous frame submission from worker threads.

The package also ships fstrm_capture, fstrm_dump, and fstrm_replay. Later ChangeLog entries added TCP support, replay support, capture options, output rotation, and portability fixes.

### Why package nerds care

fstrm is a package-nerd package because it is infrastructure glue: small, C, ABI-conscious, and important to DNS telemetry stacks even though end users rarely invoke it directly. Its pkg-config workflow and reference tools make it easy for distributions to package and for C projects to consume.

### Timeline

- 2014: Public GitHub repository created.
- 2014: fstrm 0.1.0 initial release.
- 2014: fstrm 0.2.0 added Doxygen documentation and fstrm_capture.
- 2016: fstrm 0.3.0 added OS X build support and output flush/rotation fixes.
- 2017: fstrm 0.4.0 added fstrm_replay, TCP support, and manual pages for reference programs.

### Related projects

- The README names dnstap as the logging format that motivated fstrm.
- Frame Streams is designed to carry arbitrary encodings such as Protocol Buffers, XML, JSON, MessagePack, and YAML.

### Sources

- <https://api.github.com/repos/farsightsec/fstrm>
- <https://farsightsec.github.io/fstrm>
- <https://github.com/farsightsec/fstrm>
- <https://raw.githubusercontent.com/farsightsec/fstrm/master/ChangeLog>
- <https://raw.githubusercontent.com/farsightsec/fstrm/master/README.md>


## Security Notes

broad file, network, media, or database tool signal. generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- broad file, network, media, or database tool signal
- generalized runtime or code generation signal


## Combined YAML source

View the package source record on GitHub. [combined/fstrm.yml](https://github.com/automic-vault/db/blob/main/combined/fstrm.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
