Install
openclaw skills install lock-me-inRemote browser login and session persistence for headless servers. Start an interactive browser session via a temporary public URL (cloudflared tunnel), let...
openclaw skills install lock-me-inRemote browser login via temporary public URL. The user logs in visually; cookies persist for future automation.
# Start a login session
node <skill-dir>/scripts/browser-login.mjs <url> <session-name>
# Examples
node <skill-dir>/scripts/browser-login.mjs https://linkedin.com/login linkedin
node <skill-dir>/scripts/browser-login.mjs https://github.com/login github
node <skill-dir>/scripts/browser-login.mjs https://mail.google.com gmail
Run in background with nohup, capture the tunnel URL from stdout:
nohup node <skill-dir>/scripts/browser-login.mjs <url> <name> > /tmp/lock-me-in.log 2>&1 &
# Wait for URL:
grep -m1 'LOGIN URL' /tmp/lock-me-in.log
Send the tunnel URL to the user via their messaging channel.
To use a saved session in Playwright automation:
import { chromium } from 'playwright-core';
const browser = await chromium.launch({ executablePath: CHROME_PATH, headless: true, args: ['--no-sandbox'] });
const context = await browser.newContext({
storageState: '/data/home/.browser-sessions/<session-name>/storage.json'
});
const page = await context.newPage();
await page.goto('https://linkedin.com/feed'); // Already logged in!
Sessions persist at /data/home/.browser-sessions/<name>/:
storage.json — Cookies + localStorage (Playwright format)meta.json — Session metadata (last URL, timestamp, cookie count)List saved sessions: ls /data/home/.browser-sessions/
Environment variables:
LOCK_ME_IN_SESSIONS_DIR — Override sessions dir (default: /data/home/.browser-sessions)LOCK_ME_IN_CHROME_PATH — Override Chrome path (auto-detected from Playwright)LOCK_ME_IN_PORT — Override local proxy port (default: 18850)OPENCLAW_PROXY_URL — HTTP proxy for browser traffic (auto-parsed for auth)Script flags:
--port=N — Local proxy port--timeout=N — Auto-close after N seconds (default: 900 = 15 min)npx playwright install chromium)cloudflared binary for tunneling (install: curl -sL https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /usr/local/bin/cloudflared && chmod +x /usr/local/bin/cloudflared)storage.json as sensitive