Skip to content

Releases: Jorji49/streamtop

v1.5.0

Choose a tag to compare

@Jorji49 Jorji49 released this 04 Sep 13:39

streamtop v1.5.0

Hardened wire-probe CLI: pruned speculative QoE simulation, legacy export shims, and noop flags. Summary schema v6.

Changes

  • Removed --simulate-player / throttle / RTT and synthetic_qoe from summary, metrics, and TUI
  • Removed legacy --export-* shims and CLI aliases (--metrics-port, range-probe, matrix, headless)
  • Removed noop --prefer-http2
  • Reason code ERR_TCP_IO_RESET replaces ERR_DPI_TCP_RESET
  • Docker build includes .cargo/config.toml for HTTP/3 (reqwest_unstable)
  • Docs trimmed: no persona table, no SEO keyword block

Install

cargo install streamtop --version 1.5.0

GitHub Release binaries: https://github.com/Jorji49/streamtop/releases/tag/v1.5.0

v1.4.0

Choose a tag to compare

@Jorji49 Jorji49 released this 01 Sep 13:41

streamtop v1.4.0

Terminal HLS, DASH, IPTV, and WHEP stream diagnostics with wire probes, CI export formats, and Prometheus metrics.

Highlights

Transport safety

  • Bounded reads on infinite chunked MPEG-TS responses (PROBE_READ_TIMEOUT_SECS = 4s)
  • Same-origin redirect token preservation; loop detection (ERR_HTTP_REDIRECT_LOOP)
  • SSRF pinning unchanged for webhooks, DRM, and OTLP endpoints

CI integration

  • SARIF 2.1.0: --summary-format sarif or --export sarif:FILE for GitHub Code Scanning
  • GitHub Actions step summary: auto-write SHI, RTF, Part RTF, TR 101 290, ABR, and budget tables when GITHUB_STEP_SUMMARY is set
  • Stream budget: --budget-max-rtf, --budget-max-ttfb, --budget-max-cc-errors, --budget-max-drift with JSON PASS/FAIL verdict
  • Unified export: --export report-html|report-json|curl|har|incident|grafana|sarif[:FILE]

Protocol expansion

  • LL-HLS parts: #EXT-X-PART / PRELOAD-HINT part TTFB, Part RTF, streamtop_part_dl_duration_ratio
  • DoH timing: --doh-provider cloudflare|google|<URL>, doh_ms in wire timing, streamtop_dns_doh_duration_seconds
  • WHEP probe: sub-second SDP signaling check (201/200 answer, codecs, ICE, stream IDs)
  • AES-128-CBC probe decrypt: in-memory #EXT-X-KEY fetch for encrypted TS/fMP4 wire analysis

Transport and CDN

  • HTTP/3 (QUIC) telemetry: reqwest http3 + ALPN; handshake timing on h3; Prometheus streamtop_http_version, streamtop_quic_handshake_seconds, streamtop_quic_stream_resets_total
  • Multi-CDN skew: --multi-cdn URL1,URL2,..., --max-cdn-skew-ms, matrix TUI, ERR_CDN_SYNC_SKEW
  • Middlebox heuristics wired: ERR_DPI_TCP_RESET, redirect cycle/limit ERR_HTTP_REDIRECT_LOOP
  • Zero-heap TUI: UiRenderCache stores pre-built Status and Last Segment Paragraph widgets; draw borrows without per-frame allocation
  • Summary JSON schema v5: http_version, transfer_ms, multi_cdn_skew; ingest_stats removed

Key CLI flags

Flag Purpose
--export FORMAT[:FILE] Unified export (see formats above)
--doh-provider PROVIDER DoH lookup (cloudflare, google, or custom JSON URL)
--summary-format sarif SARIF 2.1.0 on stdout
--github-step-summary FILE GHA step summary markdown
--budget-max-rtf RATIO CI budget: max segment RTF
--budget-max-ttfb DURATION CI budget: max TTFB (250ms, 2s)
--budget-max-cc-errors N CI budget: TR 101 290 CC errors
--budget-max-drift DURATION CI budget: subtitle A/V drift
--multi-cdn URLS Multi-CDN skew matrix (comma-separated or label=URL)
--max-cdn-skew-ms MS Skew threshold for ERR_CDN_SYNC_SKEW (default 3000)
--prefer-http2 Enable reqwest HTTP/2 ALPN stack

Examples

# CI budget + SARIF + step summary
streamtop "$URL" --budget-max-rtf 1.0 --budget-max-ttfb 500ms --budget-duration 30
streamtop "$URL" --export sarif:streamtop.sarif --timeout 15

# LL-HLS with DoH
streamtop "$URL" --doh-provider cloudflare --probe-headers --summary --summary-format json

# WHEP signaling check
streamtop "https://origin.example/whep/feed"

Deprecated

  • --export-curl, --export-har, --export-report, --export-grafana, --export-incident -> use --export
  • srt:// / rtmp:// URLs are rejected at startup; use WHEP HTTP endpoints

Removed

  • --anti-dpi active raw socket stub
  • Raw srt:// / rtmp:// ingest probes and ingest_stats summary field

Quality gates

  • 190 tests passing (cargo test --locked --all-targets)
  • Zero clippy warnings (-D warnings -W clippy::pedantic -W clippy::nursery)
  • Summary JSON validated against schemas/summary.v1.json (schema version 5)

Full changelog

See CHANGELOG.md.

streamtop v1.3.2

Choose a tag to compare

@github-actions github-actions released this 30 Aug 13:08

Full Changelog: v1.3.1...v1.3.2

streamtop v1.3.1

Choose a tag to compare

@Jorji49 Jorji49 released this 30 Aug 11:31

Full Changelog: v1.3.0...v1.3.1

streamtop v1.3.0

Choose a tag to compare

@github-actions github-actions released this 29 Aug 21:18

Full Changelog: v1.1.2...v1.3.0

streamtop v1.1.2

Choose a tag to compare

@github-actions github-actions released this 29 Aug 15:56

Full Changelog: v1.1.1...v1.1.2

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 29 Aug 13:40

streamtop v1.1.1

Install: cargo install streamtop · cargo binstall streamtop · see README for Scoop / Winget / AUR / Docker / Homebrew.

Assets

  • Friendly zips: streamtop-*-<platform>-*.zip (binary + README/LICENSE/CHANGELOG)
  • cargo-binstall: streamtop-<rust-target>.tar.gz (Unix) / .zip (Windows)

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 29 Aug 13:13

streamtop v1.1.0

Install: cargo install streamtop · cargo binstall streamtop · see README for Scoop / Winget / AUR / Docker / Homebrew.

Assets

  • Friendly zips: streamtop-*-<platform>-*.zip (binary + README/LICENSE/CHANGELOG)
  • cargo-binstall: streamtop-<rust-target>.tar.gz (Unix) / .zip (Windows)

Full Changelog: v1.0.1...v1.1.0

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 28 Aug 23:42

streamtop v1.0.1

Install: cargo install streamtop · cargo binstall streamtop · see README for Scoop / Winget / AUR / Docker / Homebrew.

Assets

  • Friendly zips: streamtop-*-<platform>-*.zip (binary + README/LICENSE/CHANGELOG)
  • cargo-binstall: streamtop-<rust-target>.tar.gz (Unix) / .zip (Windows)

Full Changelog: v1.0.0...v1.0.1

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 28 Aug 22:12

streamtop v1.0.0

Install: cargo install streamtop · cargo binstall streamtop · see README for Scoop / Winget / AUR / Docker / Homebrew.

Assets

  • Friendly zips: streamtop-*-<platform>-*.zip (binary + README/LICENSE/CHANGELOG)
  • cargo-binstall: streamtop-<rust-target>.tar.gz (Unix) / .zip (Windows)

Full Changelog: v0.3.4...v1.0.0