v0.1.0 Release Notes
v0.0.0 -> v0.1.0
Split out from the rod sub-package of pardnchiu/go-pkg@v0.13.0 into a standalone repo.
Features
- One-shot
Fetch— Chromium +go-readability; output as markdown / HTML / JSON perOption.Type. - Interactive tab API —
CreateTab/CloseTabplusTabSnapshot/TabClick/TabType/TabScroll/TabNavigate/TabEval; functional form, friendly for LLM tool-calling. - Shared real-Chrome login session —
SameSession=truewithProfileselecting the source profile. Flow: copy the Cookies DB → fetch the master key from keychain / libsecret → PBKDF2-SHA1 → AES-128-CBC decrypt (handling Chrome M126+SHA256(host_key) || actual_valueplaintext layout) → CDPNetwork.setCookiesinject into a fresh instance. - Anti-detection — bundled stealth.js; scroll-to-bottom × 3 with 1-5s random interval;
<time>element replaced by a text node so ISO timestamps survive readability filtering. - Concurrency — global fetch semaphore (default 8); tune via
SetMaxConcurrency(n).
Platform Support
| OS | Status |
|---|---|
| macOS (Darwin) | Supported — security CLI pulls the master key from Keychain |
| Linux | Supported — secret-tool pulls the master key from libsecret |
External CLI dependencies: sqlite3 (shipped with macOS / Linux), security (macOS) / secret-tool (Linux).
Primary Dependencies
github.com/go-rod/rod v0.116.2github.com/go-shiori/go-readabilitygolang.org/x/net
Install
go get github.com/pardnchiu/go-browser@v0.1.0
Migration (from pardnchiu/go-pkg@<= v0.12.x)
Import path moves to the new repo; type names dropped the Fetch prefix (the goBrowser package namespace already implies the context):
- import rod "github.com/pardnchiu/go-pkg/rod"
+ import goBrowser "github.com/pardnchiu/go-browser"
- rod.Fetch(ctx, href, timeout, &rod.FetchOption{...})
+ goBrowser.Fetch(ctx, href, timeout, &goBrowser.Option{...})
- *rod.FetchResult
+ *goBrowser.Result
- *rod.FetchError
+ *goBrowser.Error
pardnchiu/go-pkg/rod is removed from v0.13.0 onward; legacy versions (≤ v0.12.x) remain available at the old import path.
Generated by SKILL