@vibetechnologies/browser-sync
v0.3.1
Published
Sync browser cookies and sessions from your local Chrome to OpenClaw cloud browser
Maintainers
Readme
@vibetechnologies/browser-sync
Sync browser cookies and sessions from your local Chrome to your OpenClaw cloud browser.
Why
Cloud browsers can't log into Google, GitHub, or other sites that detect automation. Instead of fighting detection, bring your existing authenticated session to the cloud.
Install
npm install -g @vibetechnologies/browser-syncUsage
1. Authenticate
browser-sync login --token <your-api-token>2. Push cookies to cloud browser
# Sync Google cookies
browser-sync push --domains google.com,gmail.com
# Sync multiple services
browser-sync push --domains google.com,github.com,linkedin.com
# Use a specific Chrome profile
browser-sync push --domains google.com --profile "Profile 1"
# Dry run — see what would be synced
browser-sync push --domains google.com --dry-run3. List Chrome profiles
browser-sync profilesHow it works
- Reads and decrypts cookies from your local Chrome cookie database
- Sends them (encrypted in transit) to the OpenClaw API
- Server injects cookies into your tenant's cloud Chrome via CDP
Network.setCookies - Your cloud browser now has your authenticated sessions
Supported platforms
| OS | Cookie decryption |
|----|-------------------|
| macOS | Keychain → AES-128-CBC |
| Linux | libsecret / fallback → AES-128-CBC |
| Windows | DPAPI → AES-256-GCM (requires win-dpapi) |
Security
- Cookies are only sent to your authenticated tenant
- Transport uses HTTPS
- Local auth token stored with 0600 permissions at
~/.config/browser-sync/auth.json - No cookies are stored server-side — they're injected directly into the browser process
Programmatic API
import { extractStorageState, pushCookies, login } from "@vibetechnologies/browser-sync";
// Extract Google cookies from local Chrome
const state = await extractStorageState([".google.com", ".gmail.com"]);
// Push to cloud
await login("https://console.openclaw.vibebrowser.app", "your-token");
await pushCookies(state);