Commit Graph
354 Commits
Author SHA1 Message Date
leeguooooo 8aa52d7faa fix(release): 为 fork 预发布设置默认 tag v0.17.0-fork.2 2026-03-10 13:57:30 +09:00
leeguooooo fcd891e8a9 fix(cli): 增加 abs start 并修复 managed 9333 启动链路 2026-03-10 12:45:50 +09:00
leeguooooo 8eee9310a4 fix(cdp): 自动拉起 9333 专用浏览器 2026-03-09 17:45:13 +09:00
leeguooooo b3ed4b63be fix(native): 修复 CDP 附着卡死问题 2026-03-09 17:10:42 +09:00
leeguooooo 5d149afef1 chore(release): bump version to 0.17.0-fork.1 2026-03-09 12:02:00 +09:00
leeguooooo 356e2f5f39 feat(sync): 同步 upstream 改动并升级到 0.16.3-fork.5 2026-03-09 12:00:13 +09:00
Chris Tate 3cbc284076 fix: persist auth cookies on close in native mode (#650)
(cherry picked from commit b7e7a2548e)
2026-03-09 09:38:10 +09:00
Chris Tate bb92e08fdc Fix Chrome extensions not loading by forcing headed mode when extensions present (#652)
* Fix Chrome extensions not loading by forcing headed mode when extensions present

Fixes #640

* Restore wait_or_kill() and add tests for headless+extensions logic

Restore the ChromeProcess::wait_or_kill() method that was accidentally
removed. It is still referenced by BrowserProcess in browser.rs and is
needed for graceful shutdown / cookie persistence (PR #650).

Add unit tests verifying --headless=new is omitted when extensions are
present.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix window-size leak in headed+extensions mode and remove unused channel option

- Skip --window-size=1280,720 when extensions force headed mode (native)
- Remove unexplained channel: 'chromium' from extensions launch path (TS)
- Add window-size assertion to existing extension test

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: ctate <366502+ctate@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 68cebe5192)
2026-03-09 09:37:36 +09:00
Chris Tate 5c142b02b5 Fix: Suppress Google Translate bar in native headless mode (#649)
Fixes #617

(cherry picked from commit 492830accb)
2026-03-09 09:37:33 +09:00
Chris Tate b100870a02 fix: native auth login fails due to incompatible encryption format (#648)
* fix: native auth login fails due to incompatible encryption format

* fixes

* fixes

(cherry picked from commit 7acde7e29a)
2026-03-09 09:37:30 +09:00
leeguooooo b505d00c97 fix: escape compose shell vars to prevent stale multi-platform binaries 2026-03-05 18:55:22 +09:00
leeguooooo 5e0582cede feat: enforce default session daemon isolation and bump 0.16.3-fork.4 2026-03-05 18:44:52 +09:00
leeguooooo 5970579d7c feat: add parallel mode and idle daemon shutdown v0.16.3-fork.3 2026-03-05 13:40:34 +09:00
leeguooooo 8880aa2f35 chore(release): 0.16.3-fork.2
- restore extension mode default to headed when headless is unspecified

- keep explicit headless override behavior
v0.16.3-fork.2
2026-03-05 11:44:47 +09:00
leeguooooo f051e72f85 chore(release): bump to 0.16.3-fork.1 v0.16.3-fork.1 2026-03-05 11:20:06 +09:00
leeguooooo 6ae703565c fix(connection): surface daemon startup stderr during launch 2026-03-05 11:18:21 +09:00
layla d56442cf91 Fix dialog dismiss command parsing (#605) 2026-03-05 11:16:14 +09:00
Li Yang dad7be8c77 fix: use reqwest for CDP port discovery instead of broken hand-rolled HTTP client (#619)
reqwest_get_string() was hand-rolling HTTP/1.1 over raw TCP despite reqwest
being an existing dependency. The hand-rolled implementation had two bugs:

1. URL path parsing: url.find('/') matched the first '/' in 'http://',
   producing path '//127.0.0.1:9222/json/version' instead of '/json/version'

2. read_to_end() hangs: Chrome's DevTools HTTP server ignores Connection: close
   and keeps the socket open, so read_to_end() waits for EOF that never comes

This caused 'agent-browser --cdp <port>' to always timeout when AGENT_BROWSER_NATIVE=1.

Fix: replace 49 lines of broken TCP code with reqwest::get(), which was
already in Cargo.toml.
2026-03-05 11:16:14 +09:00
Chris Tate 7921928ec4 headed mode (#607)
* headed mode

* fixes

* fixes

* docs

* fixes

* fixes

* fixes
2026-03-05 11:15:17 +09:00
leeguooooo a71198d591 fix(stealth): neutralize disable-devtool auto bootstrap v0.16.1-fork.5 2026-03-05 11:11:36 +09:00
leeguooooo 19aefb7eb8 Update binaries for 0.16.1-fork.4 2026-03-04 18:46:17 +09:00
leeguooooo ff2e66c0a1 chore(release): bump to 0.16.1-fork.4 2026-03-04 18:24:10 +09:00
leeguooooo d320e1df47 refactor(cli): ignore --session and enforce default runtime session 2026-03-04 18:19:33 +09:00
leeguooooo 7b454e14ed fix: stabilize native release builds across platforms 2026-03-04 15:44:28 +09:00
leeguooooo 17d44baa2f fix(release): enforce binary version integrity pre/post publish 2026-03-04 15:01:52 +09:00
leeguooooo 59589043db fix(stealth): bypass worker wrapping in cloudflare challenge runtime 2026-03-04 13:48:16 +09:00
leeguooooo 9e7c8937a6 chore: 提交剩余文档与扩展面板资源更新 2026-03-04 11:54:55 +09:00
leeguooooo 2d0d18f0d9 fix(extension): default to high-risk mode by disabling page bridge 2026-03-04 11:46:44 +09:00
leeguooooo ae22bda46c chore(release): bump to 0.16.1-fork.3 v0.16.1-fork.3 2026-03-04 11:35:11 +09:00
leeguooooo d82357fea4 fix(release): enforce bundled binary version checks and bump to 0.16.1-fork.2 v0.16.1-fork.2 2026-03-04 10:25:04 +09:00
leeguooooo 66a39f3c83 feat: add abs alias, refresh extension panel, and bump to 0.16.1-fork.1 v0.16.1-fork.1 2026-03-04 09:57:56 +09:00
leeguooooo eedf824af7 merge: upstream v0.16.1 while preserving fork stealth behaviors v0.16.1-fork.0 2026-03-04 09:48:58 +09:00
leeguooooo c07eb7ee52 chore: 更新 Cloudflare 及浏览器自动化攻防文章并补发 blog 链接 2026-03-04 09:39:38 +09:00
github-actions[bot]andgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> a493d02c66 chore: version packages (#604)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-03 17:59:02 -06:00
Chris Tate c4180c8cb1 chore: add patch changeset for release (#603) 2026-03-03 17:51:29 -06:00
Chris Tate 56260f68b0 Native: auto-detect sandbox/container environments for Chrome launch (#602)
Fixes #600

Three improvements to `--native` Chrome launching:

- `find_chrome()` now falls back to Playwright's browser cache (`~/.cache/ms-playwright/`) when no system Chrome is found
- Auto-detect containers/VMs (root, Docker, Podman, cgroups) and inject `--no-sandbox`
- Chrome stderr is now captured and included in launch error messages, with a hint when sandbox errors are detected
2026-03-03 17:45:23 -06:00
Chris Tate 324a9e4e0c windows 8 cores (#599)
* windows 8 cores

* add workflow dispatch
2026-03-03 17:26:22 -06:00
Chris Tate 7f42eed031 faster ci (#598) 2026-03-03 16:45:57 -06:00
github-actions[bot]andgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> c10981413f chore: version packages (#597)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-03 16:18:08 -06:00
Chris Tate 05018b309a prepare v0.16.0 (#596) 2026-03-03 16:09:39 -06:00
Chris Tate 9d0454d229 fix: switch from native-tls to rustls for cross-compilation (#595)
The native PR introduced tokio-tungstenite and reqwest with native-tls,
which depends on openssl-sys (C library). This breaks the release
workflow's cargo-zigbuild cross-compilation on Linux because zig's C
compiler can't find the system OpenSSL headers.

Switch to rustls (pure Rust TLS) which has zero C dependencies and
cross-compiles trivially. Also shrinks the dependency tree.
2026-03-03 15:45:20 -06:00
Chris Tate 51f5fa484c native (#594)
* Native Rust rewrite of agent-browser daemon

Single-binary Rust implementation replacing the Node.js/Playwright daemon
with direct CDP (Chrome DevTools Protocol) communication. Includes full
command parity, WebDriver/Safari/iOS backend routing, request tracking,
frame context management, CDP protocol codegen, and comprehensive tests.

* improvements

* fix ci

* fixes

* faster builds
2026-03-03 15:15:57 -06:00
github-actions[bot]andgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> 857c0b25df chore: version packages (#591)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-03 08:21:58 -06:00
Chris Tate 62241b50e9 chore: add patch changeset for release (#589) 2026-03-03 08:08:02 -06:00
Chris Tate c6a33b6338 fix(windows): resolve daemon startup failures and Git Bash compatibility (#582)
* fix(windows): resolve daemon startup failures and Git Bash compatibility

Three root causes behind 27 open Windows issues:

1. Path::canonicalize() returns \\?\ prefixed paths on Windows that
   Node.js cannot parse, preventing daemon startup. Strip the prefix
   before passing to Node. (fixes #522, #390, #56, #25, #37, #89)

2. Git Bash/MSYS2 translates Unix-style paths and resolves node to
   a shell wrapper script. Use node.exe explicitly and set
   MSYS_NO_PATHCONV/MSYS2_ARG_CONV_EXCL to prevent argument mangling.
   (fixes #148, #108, #171)

3. postinstall fixWindowsShims() hardcoded x64 arch and did not verify
   the native binary exists before rewriting shims. Now detects arch
   dynamically and validates the binary path. (fixes #262)

Also:
- Error messages now show TCP port on Windows instead of Unix socket path
- Windows CI expanded to test full daemon lifecycle (open, snapshot, close)

* fix(windows): strip \\?\ prefix in auth-cli path (fixes #579)

Same canonicalize() issue as the daemon spawn path, but in
run_auth_cli() which passes the script path to Node.js.
2026-03-03 08:00:14 -06:00
leeguooooo d32a1d046a Detail agent stealth Cloudflare fix 2026-03-03 18:04:44 +09:00
leeguooooo 0c0ed5e72c chore(release): bump version to 0.15.2-fork.2 2026-03-03 17:13:07 +09:00
leeguooooo 34092ec193 fix: prevent stale native version and skip npm-bin rewrite on pnpm 2026-03-03 17:12:17 +09:00
leeguooooo 726377c4c1 feat: add doctor diagnostics and bump to 0.15.2-fork.1 2026-03-03 17:05:42 +09:00
leeguooooo 8e2e4abce6 feat: complete agent-browser-stealth extension controls 2026-03-03 12:33:46 +09:00