github h5i-dev/h5i v0.3.9
h5i v0.3.9

5 hours ago

Install

One binary. h5i is the confined development environment, and it
carries its own browser engine.

Linux / macOS:

curl -L https://github.com/h5i-dev/h5i/releases/download/v0.3.9/h5i-v0.3.9-<TARGET>.tar.gz | tar -xz
sudo mv h5i /usr/local/bin/

Windows: download the .zip, extract h5i.exe, and add it to your PATH.

The browser

h5i browser open https://example.com
h5i browser snapshot
h5i browser requests     # what it asked for, and what was refused
h5i browser audit        # the whole session, afterwards

The rendering engine is part of this binary. It used to ship as a
second archive (h5i-browser-light); h5i browser execs itself to
become it now, and h5i __engine reaches its own CLI for the cases
that want it directly.

Every request it makes is checked against an allowlist — every
request and every redirect hop — and written to the log before any
bytes move. A request that is not in h5i browser requests did not
happen. What a box adds, with --in, is that the record gains a
witness outside the browser; on a bare host that part is not
claimed.

Available targets

Target Platform
x86_64-unknown-linux-musl Linux x86_64 (static, glibc-free)
aarch64-unknown-linux-musl Linux arm64 (static, glibc-free)
aarch64-apple-darwin macOS Apple Silicon (arm64)
x86_64-pc-windows-msvc Windows x86_64

Intel Macs have no published build: Rosetta 2 translates x86_64 to
arm64, not the reverse, so the aarch64-apple-darwin archive will
not run there. Build from source instead:
cargo install --git https://github.com/h5i-dev/h5i

Each archive is accompanied by a .sha256 checksum file.

What's Changed

  • browser: the half that parses the page holds none of the decisions by @Koukyosyumei in #564
  • Update README with forum commands by @Koukyosyumei in #565
  • browser: a handler that read back as a function and never ran, and a harness that never noticed by @Koukyosyumei in #566
  • Update section title from 'A browser session' to 'A headless browser' by @Koukyosyumei in #567
  • Update README with new demo image for h5i by @Koukyosyumei in #568
  • browser: instruments, the WPT core push (49.7% → 66.2%), and frames as content by @Koukyosyumei in #569
  • browser: the WPT core push to ~75%, and :has() without the fork by @Koukyosyumei in #570
  • browser: a text node that was the document, and the fixed cost of reading a page by @Koukyosyumei in #571
  • docs: the features page led by the browser, the Lean 4 model removed, and h5i man retired by @Koukyosyumei in #572
  • browser: what a page's media says, a yt-dlp lane that is not the engine, and the workflow page retired into the blog by @Koukyosyumei in #573
  • browser: the page a session was opened on, a helper run with no sessi… by @Koukyosyumei in #574
  • browser: the prelude compiled once and hidden inside the fetch, a Boa fork of one commit, and a crash that only happened at thread exit by @Koukyosyumei in #576
  • docs: the roadmap split from its own history, and the comments that h… by @Koukyosyumei in #577
  • improve pitch deck by @Koukyosyumei in #578
  • docs: the breadcrumb that was a nav menu, one product entity, and dat… by @Koukyosyumei in #579
  • docs: the demo cut to 58 seconds, the lightweight browser put first, and every diagram removed by @Koukyosyumei in #580
  • browser: the WPT core push to 76.4%, and the instrument that was measuring a coin toss by @Koukyosyumei in #581
  • docs: the benchmark numbers that changed without their fingerprints by @Koukyosyumei in #582
  • bump to v0.3.9 by @Koukyosyumei in #583

Full Changelog: v0.3.8...v0.3.9

Don't miss a new h5i release

NewReleases is sending notifications on new releases.