Getting Started
Install bauta, activate your license, make a persona, and connect Playwright or Puppeteer to it.
1. Install
The installer downloads bauta for your platform and checks it against the release's signed checksums.
# Linux and macOS
curl -fsSL https://bauta.dev/install.sh | bash# Windows (PowerShell)
irm https://bauta.dev/install.ps1 | iexOn a terminal it then runs bauta setup, which activates a free session on this machine and offers a free
account with GitHub.
2. Activate your license
With an account, your license key is on your dashboard. Activate it once per machine:
bauta activate <license key>In Docker and CI, set BAUTA_LICENSE_KEY instead; it wins over a key activated on the machine.
3. Make a persona and start the gateway
A persona is one identity: its device, its locale and timezone, its proxy and its storage. Make one from a built-in persona and start the gateway:
bauta geo update # the database that places a proxy's exit
bauta persona new shop --from win-intel
bauta serveEach persona is then a CDP endpoint of its own, on 127.0.0.1:9222.
4. Connect your script
Only the connect call changes; the rest of your code stays as it is.
browser = playwright.chromium.connect_over_cdp("http://127.0.0.1:9222/persona/shop")const browser = await puppeteer.connect({ browserWSEndpoint: "ws://127.0.0.1:9222/persona/shop" });Or launch from Python or Node.js
The bautabrowser packages reach the gateway on this machine, or start it, make the persona and connect for
you:
from bautabrowser import launch
browser = launch(proxy="http://user:pass@host:port", humanize=True)
page = browser.new_page()
page.goto("https://example.com")
browser.close()const { launch } = require("bautabrowser");
const browser = await launch({ proxy: "http://user:pass@host:port", humanize: true });
const page = await browser.newPage();
await page.goto("https://example.com");
await browser.close();What is sent to our server
Only bauta and its gateway talk to our server; the browser never does.
| when | what is sent |
|---|---|
bauta setup with no account | this machine's install id (random, made once), the bauta version |
bauta activate <key> | the license key, the install id, the bauta version |
bauta login | a GitHub token of the scopes read:user user:email (checked with GitHub, then discarded), the install id, the terms version |
bauta status | the license key |
bauta serve, at most once a minute | the license key, the install id, how many personas are active, the bauta version |
Nothing about pages, URLs, proxies or personas is sent.