Add Brave CDP automation, replace Oracle browser mode

Connects to user's running Brave via Chrome DevTools Protocol
to automate ChatGPT interaction. Uses puppeteer-core to open a
tab, send the prompt, wait for response, and extract the result.

No cookies, no separate profiles, no copy/paste. Just connects
to the browser where the user is already logged in.

One-time setup: relaunch Brave with --remote-debugging-port=9222

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Taylor Eernisse
2026-02-07 16:16:41 -05:00
parent d776a266a8
commit e7882b917b
4163 changed files with 782828 additions and 148 deletions

22
node_modules/proxy-agent/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,22 @@
(The MIT License)
Copyright (c) 2013 Nathan Rajlich <nathan@tootallnate.net>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

59
node_modules/proxy-agent/README.md generated vendored Normal file
View File

@@ -0,0 +1,59 @@
proxy-agent
===========
### Maps proxy protocols to `http.Agent` implementations
This module provides an `http.Agent` implementation which automatically uses
proxy servers based off of the various proxy-related environment variables
(`HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` among others).
Which proxy is used for each HTTP request is determined by the
[`proxy-from-env`](https://www.npmjs.com/package/proxy-from-env) module, so
check its documentation for instructions on configuring your environment variables.
An LRU cache is used so that `http.Agent` instances are transparently re-used for
subsequent HTTP requests to the same proxy server.
The currently implemented protocol mappings are listed in the table below:
| Protocol | Proxy Agent for `http` requests | Proxy Agent for `https` requests | Example
|:----------:|:-------------------------------:|:--------------------------------:|:--------:
| `http` | [http-proxy-agent][] | [https-proxy-agent][] | `http://proxy-server-over-tcp.com:3128`
| `https` | [http-proxy-agent][] | [https-proxy-agent][] | `https://proxy-server-over-tls.com:3129`
| `socks(v5)`| [socks-proxy-agent][] | [socks-proxy-agent][] | `socks://username:password@some-socks-proxy.com:9050` (username & password are optional)
| `socks5` | [socks-proxy-agent][] | [socks-proxy-agent][] | `socks5://username:password@some-socks-proxy.com:9050` (username & password are optional)
| `socks4` | [socks-proxy-agent][] | [socks-proxy-agent][] | `socks4://some-socks-proxy.com:9050`
| `pac-*` | [pac-proxy-agent][] | [pac-proxy-agent][] | `pac+http://www.example.com/proxy.pac`
Example
-------
```ts
import * as https from 'https';
import { ProxyAgent } from 'proxy-agent';
// The correct proxy `Agent` implementation to use will be determined
// via the `http_proxy` / `https_proxy` / `no_proxy` / etc. env vars
const agent = new ProxyAgent();
// The rest works just like any other normal HTTP request
https.get('https://jsonip.com', { agent }, (res) => {
console.log(res.statusCode, res.headers);
res.pipe(process.stdout);
});
```
API
---
### new ProxyAgent(options?: ProxyAgentOptions)
Creates an `http.Agent` instance which relies on the various proxy-related
environment variables. An LRU cache is used, so the same `http.Agent` instance
will be returned if identical args are passed in.
[http-proxy-agent]: ../http-proxy-agent
[https-proxy-agent]: ../https-proxy-agent
[socks-proxy-agent]: ../socks-proxy-agent
[pac-proxy-agent]: ../pac-proxy-agent

62
node_modules/proxy-agent/dist/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,62 @@
/// <reference types="node" />
import * as http from 'http';
import LRUCache from 'lru-cache';
import { Agent, AgentConnectOpts } from 'agent-base';
import type { PacProxyAgent, PacProxyAgentOptions } from 'pac-proxy-agent';
import type { HttpProxyAgent, HttpProxyAgentOptions } from 'http-proxy-agent';
import type { HttpsProxyAgent, HttpsProxyAgentOptions } from 'https-proxy-agent';
import type { SocksProxyAgent, SocksProxyAgentOptions } from 'socks-proxy-agent';
type ValidProtocol = (typeof HttpProxyAgent.protocols)[number] | (typeof HttpsProxyAgent.protocols)[number] | (typeof SocksProxyAgent.protocols)[number] | (typeof PacProxyAgent.protocols)[number];
type AgentConstructor = new (proxy: string, proxyAgentOptions?: ProxyAgentOptions) => Agent;
type GetProxyForUrlCallback = (url: string, req: http.ClientRequest) => string | Promise<string>;
/**
* Supported proxy types.
*/
export declare const proxies: {
[P in ValidProtocol]: [
() => Promise<AgentConstructor>,
() => Promise<AgentConstructor>
];
};
export type ProxyAgentOptions = HttpProxyAgentOptions<''> & HttpsProxyAgentOptions<''> & SocksProxyAgentOptions & PacProxyAgentOptions<''> & {
/**
* Default `http.Agent` instance to use when no proxy is
* configured for a request. Defaults to a new `http.Agent()`
* instance with the proxy agent options passed in.
*/
httpAgent?: http.Agent;
/**
* Default `http.Agent` instance to use when no proxy is
* configured for a request. Defaults to a new `https.Agent()`
* instance with the proxy agent options passed in.
*/
httpsAgent?: http.Agent;
/**
* A callback for dynamic provision of proxy for url.
* Defaults to standard proxy environment variables,
* see https://www.npmjs.com/package/proxy-from-env for details
*/
getProxyForUrl?: GetProxyForUrlCallback;
};
/**
* Uses the appropriate `Agent` subclass based off of the "proxy"
* environment variables that are currently set.
*
* An LRU cache is used, to prevent unnecessary creation of proxy
* `http.Agent` instances.
*/
export declare class ProxyAgent extends Agent {
/**
* Cache for `Agent` instances.
*/
cache: LRUCache<string, Agent>;
connectOpts?: ProxyAgentOptions;
httpAgent: http.Agent;
httpsAgent: http.Agent;
getProxyForUrl: GetProxyForUrlCallback;
constructor(opts?: ProxyAgentOptions);
connect(req: http.ClientRequest, opts: AgentConnectOpts): Promise<http.Agent>;
destroy(): void;
}
export {};
//# sourceMappingURL=index.d.ts.map

1
node_modules/proxy-agent/dist/index.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EACX,eAAe,EACf,sBAAsB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACX,eAAe,EACf,sBAAsB,EACtB,MAAM,mBAAmB,CAAC;AAI3B,KAAK,aAAa,GACf,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GACzC,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAC1C,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAC1C,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,KAAK,gBAAgB,GAAG,KACvB,KAAK,EAAE,MAAM,EACb,iBAAiB,CAAC,EAAE,iBAAiB,KACjC,KAAK,CAAC;AAEX,KAAK,sBAAsB,GAAG,CAC7B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,IAAI,CAAC,aAAa,KACnB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAc9B;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE;KACpB,CAAC,IAAI,aAAa,GAAG;QACrB,MAAM,OAAO,CAAC,gBAAgB,CAAC;QAC/B,MAAM,OAAO,CAAC,gBAAgB,CAAC;KAC/B;CAcD,CAAC;AAMF,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,EAAE,CAAC,GACxD,sBAAsB,CAAC,EAAE,CAAC,GAC1B,sBAAsB,GACtB,oBAAoB,CAAC,EAAE,CAAC,GAAG;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;IACvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACxC,CAAC;AAEH;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACpC;;OAEG;IACH,KAAK,0BAGF;IAEH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;IACtB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC;IACvB,cAAc,EAAE,sBAAsB,CAAC;gBAE3B,IAAI,CAAC,EAAE,iBAAiB;IAU9B,OAAO,CACZ,GAAG,EAAE,IAAI,CAAC,aAAa,EACvB,IAAI,EAAE,gBAAgB,GACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IA2CtB,OAAO,IAAI,IAAI;CAMf"}

138
node_modules/proxy-agent/dist/index.js generated vendored Normal file
View File

@@ -0,0 +1,138 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProxyAgent = exports.proxies = void 0;
const http = __importStar(require("http"));
const https = __importStar(require("https"));
const url_1 = require("url");
const lru_cache_1 = __importDefault(require("lru-cache"));
const agent_base_1 = require("agent-base");
const debug_1 = __importDefault(require("debug"));
const proxy_from_env_1 = require("proxy-from-env");
const debug = (0, debug_1.default)('proxy-agent');
/**
* Shorthands for built-in supported types.
* Lazily loaded since some of these imports can be quite expensive
* (in particular, pac-proxy-agent).
*/
const wellKnownAgents = {
http: async () => (await Promise.resolve().then(() => __importStar(require('http-proxy-agent')))).HttpProxyAgent,
https: async () => (await Promise.resolve().then(() => __importStar(require('https-proxy-agent')))).HttpsProxyAgent,
socks: async () => (await Promise.resolve().then(() => __importStar(require('socks-proxy-agent')))).SocksProxyAgent,
pac: async () => (await Promise.resolve().then(() => __importStar(require('pac-proxy-agent')))).PacProxyAgent,
};
/**
* Supported proxy types.
*/
exports.proxies = {
http: [wellKnownAgents.http, wellKnownAgents.https],
https: [wellKnownAgents.http, wellKnownAgents.https],
socks: [wellKnownAgents.socks, wellKnownAgents.socks],
socks4: [wellKnownAgents.socks, wellKnownAgents.socks],
socks4a: [wellKnownAgents.socks, wellKnownAgents.socks],
socks5: [wellKnownAgents.socks, wellKnownAgents.socks],
socks5h: [wellKnownAgents.socks, wellKnownAgents.socks],
'pac+data': [wellKnownAgents.pac, wellKnownAgents.pac],
'pac+file': [wellKnownAgents.pac, wellKnownAgents.pac],
'pac+ftp': [wellKnownAgents.pac, wellKnownAgents.pac],
'pac+http': [wellKnownAgents.pac, wellKnownAgents.pac],
'pac+https': [wellKnownAgents.pac, wellKnownAgents.pac],
};
function isValidProtocol(v) {
return Object.keys(exports.proxies).includes(v);
}
/**
* Uses the appropriate `Agent` subclass based off of the "proxy"
* environment variables that are currently set.
*
* An LRU cache is used, to prevent unnecessary creation of proxy
* `http.Agent` instances.
*/
class ProxyAgent extends agent_base_1.Agent {
constructor(opts) {
super(opts);
/**
* Cache for `Agent` instances.
*/
this.cache = new lru_cache_1.default({
max: 20,
dispose: (agent) => agent.destroy(),
});
debug('Creating new ProxyAgent instance: %o', opts);
this.connectOpts = opts;
this.httpAgent = opts?.httpAgent || new http.Agent(opts);
this.httpsAgent =
opts?.httpsAgent || new https.Agent(opts);
this.getProxyForUrl = opts?.getProxyForUrl || proxy_from_env_1.getProxyForUrl;
}
async connect(req, opts) {
const { secureEndpoint } = opts;
const isWebSocket = req.getHeader('upgrade') === 'websocket';
const protocol = secureEndpoint
? isWebSocket
? 'wss:'
: 'https:'
: isWebSocket
? 'ws:'
: 'http:';
const host = req.getHeader('host');
const url = new url_1.URL(req.path, `${protocol}//${host}`).href;
const proxy = await this.getProxyForUrl(url, req);
if (!proxy) {
debug('Proxy not enabled for URL: %o', url);
return secureEndpoint ? this.httpsAgent : this.httpAgent;
}
debug('Request URL: %o', url);
debug('Proxy URL: %o', proxy);
// attempt to get a cached `http.Agent` instance first
const cacheKey = `${protocol}+${proxy}`;
let agent = this.cache.get(cacheKey);
if (!agent) {
const proxyUrl = new url_1.URL(proxy);
const proxyProto = proxyUrl.protocol.replace(':', '');
if (!isValidProtocol(proxyProto)) {
throw new Error(`Unsupported protocol for proxy URL: ${proxy}`);
}
const ctor = await exports.proxies[proxyProto][secureEndpoint || isWebSocket ? 1 : 0]();
agent = new ctor(proxy, this.connectOpts);
this.cache.set(cacheKey, agent);
}
else {
debug('Cache hit for proxy URL: %o', proxy);
}
return agent;
}
destroy() {
for (const agent of this.cache.values()) {
agent.destroy();
}
super.destroy();
}
}
exports.ProxyAgent = ProxyAgent;
//# sourceMappingURL=index.js.map

1
node_modules/proxy-agent/dist/index.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}

60
node_modules/proxy-agent/package.json generated vendored Normal file
View File

@@ -0,0 +1,60 @@
{
"name": "proxy-agent",
"version": "6.5.0",
"description": "Maps proxy protocols to `http.Agent` implementations",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"files": [
"dist"
],
"engines": {
"node": ">= 14"
},
"repository": {
"type": "git",
"url": "https://github.com/TooTallNate/proxy-agents.git",
"directory": "packages/proxy-agent"
},
"keywords": [
"http",
"https",
"socks",
"agent",
"mapping",
"proxy"
],
"author": "Nathan Rajlich <nathan@tootallnate.net> (http://n8.io/)",
"license": "MIT",
"dependencies": {
"agent-base": "^7.1.2",
"debug": "^4.3.4",
"http-proxy-agent": "^7.0.1",
"https-proxy-agent": "^7.0.6",
"lru-cache": "^7.14.1",
"pac-proxy-agent": "^7.1.0",
"proxy-from-env": "^1.1.0",
"socks-proxy-agent": "^8.0.5"
},
"devDependencies": {
"@types/agent-base": "^4.2.0",
"@types/debug": "^4.1.7",
"@types/jest": "^29.5.1",
"@types/node": "^14.18.45",
"@types/proxy-from-env": "^1.0.1",
"@types/ws": "^8.5.4",
"async-listen": "^3.0.0",
"jest": "^29.5.0",
"socksv5": "github:TooTallNate/socksv5#fix/dstSock-close-event",
"ts-jest": "^29.1.0",
"typescript": "^5.0.4",
"ws": "^8.13.0",
"proxy": "2.2.0",
"tsconfig": "0.0.0"
},
"scripts": {
"build": "tsc",
"test": "jest --env node --verbose --bail",
"lint": "eslint . --ext .ts",
"pack": "node ../../scripts/pack.mjs"
}
}