Skip to content

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 26 Aug 07:17
· 107 commits to main since this release

v0.2.1 — download layer, inline rects, one-line installer

Three batches since v0.2.0: a new download tool (MCP 13→14), a layout fix for flattened inline elements, and self-host onboarding (doctor + installer).

download — streaming HTTP(S) downloads (1af054a)

Agents fetch more than pages. download streams binaries/archives/datasets to disk instead of hauling them through context:

  • New HTTP endpoint POST /download and MCP tool download — tool count 13→14
  • Chunked streaming to disk (no full-buffer), SHA-256 verified on completion
  • Resumable via Range when the server supports it; optional to path, overwrite flag
  • SSRF-guarded by the same resolver rules as /fetch

Fixed: flattened inline elements lost their rect (aa32edd)

Same bug family as obscura#722: plain inline wrappers (<span>, <label>, <a> with no block box) get flattened into the enclosing run during layout — correct for line-breaking, but the element lost its box entirely, so getBoundingClientRect had nothing to report (grid-fallback zeros).

The fix keeps the flatten but synthesizes each flattened element's rect as the union of its hoisted children's absolute boxes. One real bounding box per element — what coordinate-based clicking needs; nested inlines union level by level.

Before → after (16px font, Chrome ref ≈ 48×17):

probe before after
<label>toggle</label><input type=checkbox> grid-fallback [8, 8, 47, 19]
<span> mid-paragraph grid-fallback [60, 16, 65, 19]
nested span outer / inner grid-fallback [21,16,44,19] / [50,16,15,19]
<a>clickme</a> grid-fallback [8, 8, 58, 19]

Live on browser.aginx.net; locked by inline_elements_keep_real_rects_after_flatten.

aginxbrowser doctor + one-line installer (f088692)

Self-hosting used to be "clone, build, and hope". Now:

curl -fsSL https://raw.githubusercontent.com/yinnho/aginxbrowser/main/install.sh -o install.sh
less install.sh && bash install.sh
aginxbrowser doctor
  • install.sh — platform detect → prebuilt tarball → SHA-256 verify → ~/.local/bin, then runs doctor as a self-check (PREFIX= / VERSION= to override)
  • aginxbrowser doctor — new subcommand, runs before the server boots: compiled features, bundled-font ink probe (rasterizes 汉字 and checks real ink, not just a cmap hit), env posture (bind/proxy/SSRF warning), one live egress probe. Exit code 1 on hard failure so containers can gate on it
  • Install docs fixed: prebuilt asset URLs kept the v prefix and 404'd (aginxbrowser-v0.2.0-<target>.tar.gz, not aginxbrowser-0.2.0-…); README build commands now carry --features stealth,screenshot instead of a featureless build that silently loses both

Checksums for this release's tarballs are the matching .sha256 assets.


Full API reference: docs/API.md · Hosted instance: browser.aginx.net · claude mcp add aginxbrowser --transport http https://browser.aginx.net/mcp