Skip to content

Repository files navigation

Agent Browser

A GitHub-ready, production-oriented Ubuntu launcher that runs a real, headful Google Chrome with a persistent profile, optional network-namespace execution, and a local-only CDP endpoint.

The point: because it drives a real Chrome (not headless, not "Chrome for Testing", with no automation flags), websites do not automatically flag it as a bot. An agent can attach over CDP and operate freely on a genuine browser session.

Why sites don't auto-detect it

Most automation gets blocked because the browser exposes obvious "tells" (for example Google's "This browser or app may not be secure" page). This launcher avoids those tells:

  • No automation flags — does not pass --enable-automation, so navigator.webdriver stays false.
  • Headful, not headless — runs on a real X display, so the User-Agent is a normal Chrome/... (no HeadlessChrome).
  • Real Chrome, not "Chrome for Testing" — no testing banner / testing-only fingerprint.
  • Persistent real profile — a normal, reused profile carries a believable browser history/session.

The agent never logs in through an automation-controlled browser. A human (or a one-time manual step) signs in on the headful window; afterward the agent attaches to the same real browser via the local CDP endpoint and works on the live session.

Minimal usage

cp browser-vpn.env.example browser-vpn.env
nano browser-vpn.env
source browser-vpn.env
./start-browser-vpn.sh

Do not source browser-vpn.env.example directly in normal use; copy it first and edit the local browser-vpn.env.

What it does

  • launches a real, headful Chrome on an X display
  • reuses an existing healthy CDP endpoint when available
  • optionally runs inside a Linux network namespace
  • preserves browser session state in a configurable profile directory so an agent can keep operating on a real, logged-in session

Security

  • CDP stays loopback-only by default
  • do not commit profiles, logs, private notes, tokens, or credentials
  • treat the persistent profile as secret material (it holds a real, logged-in session)
  • if BROWSER_NETNS is set, connect automation clients from the same namespace

About

Headful real-Chrome launcher so sites don't auto-detect automation and an agent can drive a real session via local CDP

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages