feat(cloudflare): cf-status preflight — skip re-solving when cf_clearance is still valid
Passing a Cloudflare challenge mints an HttpOnly cf_clearance cookie bound to IP+UA. 'chrome-use cf-status' (aliases cf/cloudflare-status/clearance) reports whether the active page is currently a CF challenge and whether a still-valid cf_clearance exists (read via CDP — HttpOnly is invisible to document.cookie), plus CF_VERIFIED_DEVICE trust, and a recommendation: proceed (already cleared, don't re-solve) / solve (challenge up, no clearance) / reissue (clearance present but page still blocks → IP/UA drifted). Lets an agent avoid re-solving what it already cleared — the persistence optimization. Pure helpers unit-tested; live -verified on a real cf_clearance.
This commit is contained in:
@@ -1078,6 +1078,14 @@ fn parse_command_inner(args: &[String], flags: &Flags) -> Result<Value, ParseErr
|
||||
Ok(json!({ "id": id, "action": "stealth_status" }))
|
||||
}
|
||||
|
||||
// `cf-status` — Cloudflare challenge/clearance preflight: is the page
|
||||
// currently a CF challenge, and is there a still-valid cf_clearance (the
|
||||
// HttpOnly persistence cookie)? Lets an agent SKIP re-solving when already
|
||||
// cleared, and know when it must solve. Persistence optimization.
|
||||
"cf-status" | "cf" | "cloudflare-status" | "clearance" => {
|
||||
Ok(json!({ "id": id, "action": "cf_status" }))
|
||||
}
|
||||
|
||||
// === Close ===
|
||||
"close" | "quit" | "exit" => {
|
||||
// `close <tab>` closes only that tab (and the output says "Tab
|
||||
|
||||
Reference in New Issue
Block a user