Shared library family for Rust-based packet & system observation tools.
obs is a Cargo workspace hosting a set of independently-versioned library crates that
power td, ngr,
and iop. Each crate is published to crates.io
under its own semver; this repository is the shared development home.
| Crate | Purpose | Phase |
|---|---|---|
obs-core |
Event types, error types, shared serde wrappers | P1 |
obs-capture |
Layer-1: packet capture trait + libpcap / AF_PACKET backends | P1 |
obs-capture-ebpf |
eBPF skb capture program (aya, no_std) |
P2 |
obs-decode |
Layer-2: protocol decoding + TCP reassembly + HTTP/1, HTTP/2, DNS | P1 |
obs-tls |
TLS 1.2/1.3 decryption via SSLKEYLOGFILE |
P1 |
obs-render |
Layer-3: human / JSON / NDJSON / pcapng output | P1 |
obs-tui |
Shared ratatui widgets |
P1.5 |
obs-proc |
/proc and cgroup helpers |
P3 |
obs-io-ebpf |
block_rq_* tracepoint eBPF program |
P3 |
🚧 Pre-1.0. API is allowed to break across minor versions until 0.x → 1.0.
MIT OR Apache-2.0 at your option.