bautaDocs

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 | iex

On 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 serve

Each 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.

whenwhat is sent
bauta setup with no accountthis machine's install id (random, made once), the bauta version
bauta activate <key>the license key, the install id, the bauta version
bauta logina GitHub token of the scopes read:user user:email (checked with GitHub, then discarded), the install id, the terms version
bauta statusthe license key
bauta serve, at most once a minutethe license key, the install id, how many personas are active, the bauta version

Nothing about pages, URLs, proxies or personas is sent.

On this page