brave-real-browser-mcp-server 2.43.3 → 2.43.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -2
- package/package.json +2 -2
- package/packages/brave-real-blocker/README.md +119 -19
- package/packages/brave-real-blocker/package.json +2 -2
- package/packages/brave-real-launcher/package.json +2 -2
- package/packages/brave-real-playwright-core/package.json +1 -1
- package/packages/brave-real-puppeteer-core/package.json +2 -2
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ A production-ready MCP (Model Context Protocol) server that combines Puppeteer w
|
|
|
19
19
|
| **AI Core** | Automatic AI enhancement for all tools (auto-healing, smart retry) |
|
|
20
20
|
| Brave Browser | Uses Brave instead of Chromium for better privacy |
|
|
21
21
|
| 50+ Stealth Features | Passes all major bot detectors |
|
|
22
|
-
| Built-in Ad Blocker |
|
|
22
|
+
| Built-in Ad Blocker | 45+ filter sources, 100/100 score, auto-update |
|
|
23
23
|
| Turnstile Auto-Solver | Cloudflare CAPTCHA bypass |
|
|
24
24
|
| Real Cursor | Ghost-cursor for human-like movements |
|
|
25
25
|
| Plugin Support | Puppeteer-extra plugins compatible |
|
|
@@ -421,7 +421,18 @@ brave-real-browser-mcp-server (Top Level - MCP Server)
|
|
|
421
421
|
| `brave-real-browser-mcp-server` | MCP Server + Puppeteer integration | [](https://www.npmjs.com/package/brave-real-browser-mcp-server) |
|
|
422
422
|
| `brave-real-puppeteer-core` | 50+ stealth patches for Puppeteer/Playwright | [](https://www.npmjs.com/package/brave-real-puppeteer-core) |
|
|
423
423
|
| `brave-real-launcher` | Brave Browser launcher with auto-detection | [](https://www.npmjs.com/package/brave-real-launcher) |
|
|
424
|
-
| `brave-real-blocker` | uBlock Origin-based ad/tracker blocker | [](https://www.npmjs.com/package/brave-real-blocker) |
|
|
424
|
+
| `brave-real-blocker` | uBlock Origin-based ad/tracker blocker (45+ filter sources, 100/100 score) | [](https://www.npmjs.com/package/brave-real-blocker) |
|
|
425
|
+
|
|
426
|
+
### Ad Blocker Features (brave-real-blocker)
|
|
427
|
+
|
|
428
|
+
| Category | Details |
|
|
429
|
+
|----------|---------|
|
|
430
|
+
| **Filter Sources** | 45+ lists (uBlock Origin, EasyList, AdGuard, Anti-Adblock, etc.) |
|
|
431
|
+
| **Built-in Rules** | 200+ aggressive blocking rules |
|
|
432
|
+
| **Protection Layers** | 5 layers (Ad blocking, Stealth, Scriptlets, Cosmetic, Redirect) |
|
|
433
|
+
| **Test Score** | AdBlock Tester: **100/100** |
|
|
434
|
+
| **Auto-Update** | Filter lists cached 7 days, auto-refresh |
|
|
435
|
+
| **Singleton** | Single shared instance across ecosystem |
|
|
425
436
|
|
|
426
437
|
---
|
|
427
438
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brave-real-browser-mcp-server",
|
|
3
|
-
"version": "2.43.
|
|
3
|
+
"version": "2.43.5",
|
|
4
4
|
"description": "MCP Server for Brave Real Browser - Puppeteer with Brave Browser, Stealth Mode, Ad Blocker, and Turnstile Auto-Solver for undetectable web automation.",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/esm/index.mjs",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"license": "ISC",
|
|
75
75
|
"dependencies": {
|
|
76
76
|
"@modelcontextprotocol/sdk": "^1.25.3",
|
|
77
|
-
"brave-real-puppeteer-core": "^24.37.2-brave.
|
|
77
|
+
"brave-real-puppeteer-core": "^24.37.2-brave.11",
|
|
78
78
|
"ghost-cursor": "^1.4.2",
|
|
79
79
|
"puppeteer-extra": "^3.3.6",
|
|
80
80
|
"puppeteer-extra-plugin-stealth": "^2.11.2",
|
|
@@ -3,16 +3,48 @@
|
|
|
3
3
|
A powerful ad-blocking and stealth library for Brave Real Browser, based on uBlock Origin filtering logic.
|
|
4
4
|
This package replaces the traditional uBlock Origin extension with a native Node.js implementation using `@cliqz/adblocker` and custom scriptlet injections.
|
|
5
5
|
|
|
6
|
+
## Ecosystem Chain
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
brave-real-browser-mcp-server (Top Level - MCP Server)
|
|
10
|
+
└── brave-real-puppeteer-core (Stealth patches)
|
|
11
|
+
└── brave-real-launcher (Browser launch)
|
|
12
|
+
└── brave-real-blocker (Ad/Tracker blocking - Singleton) ← You are here
|
|
13
|
+
```
|
|
14
|
+
|
|
6
15
|
## Features
|
|
7
16
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
### 5 Protection Layers
|
|
18
|
+
|
|
19
|
+
| Layer | Description |
|
|
20
|
+
|-------|-------------|
|
|
21
|
+
| **Ad Blocking** | uBlock Origin compatible filter lists with 45+ sources |
|
|
22
|
+
| **Stealth Mode** | Advanced fingerprinting protection (Canvas, WebGL, AudioContext noise) |
|
|
23
|
+
| **Scriptlet Injection** | Blocks forced clicks, auto-tab loops, forced redirects |
|
|
24
|
+
| **Cosmetic Filtering** | Removes "Sponsored" labels, ad placeholders, cookie banners |
|
|
25
|
+
| **Redirect Blocking** | Prevents forced tab openings, cleans tracking parameters |
|
|
26
|
+
|
|
27
|
+
### Filter Lists (45+ Sources)
|
|
28
|
+
|
|
29
|
+
| Category | Lists |
|
|
30
|
+
|----------|-------|
|
|
31
|
+
| **Core uBlock Origin** | 9 lists (filters, badware, privacy, annoyances, etc.) |
|
|
32
|
+
| **EasyList Family** | 6 lists (easylist, easyprivacy, cookie, antiadblock, etc.) |
|
|
33
|
+
| **AdGuard** | 7 lists (base, mobile, tracking, popup, dns, etc.) |
|
|
34
|
+
| **Anti-Adblock Killers** | 3 lists |
|
|
35
|
+
| **Popup/Redirect Blockers** | 4 lists |
|
|
36
|
+
| **Privacy & Tracking** | 4 lists (peter_lowes, disconnect_me, etc.) |
|
|
37
|
+
| **Malware Protection** | 3 lists |
|
|
38
|
+
| **Cookie/GDPR** | 2 lists |
|
|
39
|
+
| **Regional Filters** | 10+ lists (India, Germany, France, China, Russia, Japan, etc.) |
|
|
40
|
+
|
|
41
|
+
### Built-in Rules (200+)
|
|
42
|
+
|
|
43
|
+
- 18+ popup/popunder ad network domains blocked
|
|
44
|
+
- 4 cryptocurrency miner domains blocked
|
|
45
|
+
- 11+ streaming/file hosting site specific rules
|
|
46
|
+
- Cookie consent banner selectors
|
|
47
|
+
- Anti-adblock detection bypass rules
|
|
16
48
|
|
|
17
49
|
## Installation
|
|
18
50
|
|
|
@@ -22,8 +54,22 @@ npm install brave-real-blocker
|
|
|
22
54
|
|
|
23
55
|
## Usage
|
|
24
56
|
|
|
25
|
-
|
|
26
|
-
|
|
57
|
+
### Automatic (via Ecosystem Chain)
|
|
58
|
+
|
|
59
|
+
When using `brave-real-browser-mcp-server` or `brave-real-launcher`, the blocker is **automatically enabled** on all pages via the singleton pattern.
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
import { connect } from 'brave-real-browser-mcp-server';
|
|
63
|
+
|
|
64
|
+
const { browser, page, blocker } = await connect({
|
|
65
|
+
enableBlocker: true // Default: true
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// Blocker is auto-enabled on all pages!
|
|
69
|
+
await page.goto('https://example.com');
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Manual (with Puppeteer)
|
|
27
73
|
|
|
28
74
|
```typescript
|
|
29
75
|
import { BraveBlocker } from 'brave-real-blocker';
|
|
@@ -34,28 +80,62 @@ import puppeteer from 'puppeteer-core';
|
|
|
34
80
|
const page = await browser.newPage();
|
|
35
81
|
|
|
36
82
|
const blocker = new BraveBlocker({
|
|
83
|
+
enableAdBlocking: true,
|
|
37
84
|
enableStealth: true,
|
|
38
|
-
enableScriptlets: true
|
|
85
|
+
enableScriptlets: true,
|
|
86
|
+
enableCosmeticFiltering: true,
|
|
87
|
+
enableRedirectBlocking: true,
|
|
88
|
+
enableFilterAutoUpdate: true
|
|
39
89
|
});
|
|
40
90
|
|
|
41
|
-
await blocker.init(); // Downloads latest lists
|
|
91
|
+
await blocker.init(); // Downloads latest filter lists
|
|
42
92
|
await blocker.enable(page);
|
|
43
93
|
|
|
44
94
|
await page.goto('https://example.com');
|
|
45
95
|
})();
|
|
46
96
|
```
|
|
47
97
|
|
|
98
|
+
### Singleton Pattern
|
|
99
|
+
|
|
100
|
+
The blocker uses a singleton pattern to ensure only one instance exists across the entire workspace:
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
import {
|
|
104
|
+
initBraveBlockerSingleton,
|
|
105
|
+
getBraveBlockerSingleton,
|
|
106
|
+
isBraveBlockerInitialized
|
|
107
|
+
} from 'brave-real-blocker';
|
|
108
|
+
|
|
109
|
+
// Initialize once
|
|
110
|
+
const blocker = await initBraveBlockerSingleton({
|
|
111
|
+
enableStealth: true
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
// Get from anywhere
|
|
115
|
+
if (isBraveBlockerInitialized()) {
|
|
116
|
+
const sameBlocker = getBraveBlockerSingleton();
|
|
117
|
+
}
|
|
118
|
+
```
|
|
48
119
|
|
|
49
120
|
## Configuration
|
|
50
121
|
|
|
51
122
|
| Option | Type | Default | Description |
|
|
52
123
|
|--------|------|---------|-------------|
|
|
53
|
-
| `enableAdBlocking` | boolean | `true` | Enables
|
|
54
|
-
| `enableStealth` | boolean | `true` | Enables anti-fingerprinting and bot evasion
|
|
55
|
-
| `enableScriptlets` | boolean | `true` | Enables injection
|
|
56
|
-
| `enableCosmeticFiltering` | boolean | `true` | Hides cosmetic elements like "Sponsored" labels
|
|
57
|
-
| `enableRedirectBlocking` | boolean | `true` | Prevents forced tab openings
|
|
58
|
-
|
|
124
|
+
| `enableAdBlocking` | boolean | `true` | Enables network request blocking (Ads/Trackers) |
|
|
125
|
+
| `enableStealth` | boolean | `true` | Enables anti-fingerprinting and bot evasion |
|
|
126
|
+
| `enableScriptlets` | boolean | `true` | Enables scriptlet injection to block forced clicks/popups |
|
|
127
|
+
| `enableCosmeticFiltering` | boolean | `true` | Hides cosmetic elements like "Sponsored" labels |
|
|
128
|
+
| `enableRedirectBlocking` | boolean | `true` | Prevents forced tab openings, cleans tracking URLs |
|
|
129
|
+
| `enableFilterAutoUpdate` | boolean | `true` | Auto-updates filter lists (7 day cache) |
|
|
130
|
+
| `customFiltersPath` | string | - | Path to custom filter list file |
|
|
131
|
+
|
|
132
|
+
## Test Results
|
|
133
|
+
|
|
134
|
+
| Test Site | Score |
|
|
135
|
+
|-----------|-------|
|
|
136
|
+
| **AdBlock Tester** | **100/100** (11 services, 22 checks) |
|
|
137
|
+
| **CanYouBlockIt Extreme** | **CLEAN** (no ads visible) |
|
|
138
|
+
| **Bot Detection (SannySoft)** | **All PASSED** |
|
|
59
139
|
|
|
60
140
|
## Testing
|
|
61
141
|
|
|
@@ -71,4 +151,24 @@ npm run visual-test
|
|
|
71
151
|
|
|
72
152
|
## Architecture
|
|
73
153
|
|
|
74
|
-
This package is part of the Brave Real Browser ecosystem
|
|
154
|
+
This package is part of the Brave Real Browser ecosystem:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
brave-real-browser-mcp-server
|
|
158
|
+
↓ uses brave-real-launcher
|
|
159
|
+
brave-real-puppeteer-core
|
|
160
|
+
↓ re-exports from brave-real-launcher
|
|
161
|
+
brave-real-launcher
|
|
162
|
+
↓ imports from brave-real-blocker
|
|
163
|
+
brave-real-blocker (Singleton)
|
|
164
|
+
↓ type-only import from brave-real-puppeteer-core
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
The singleton pattern ensures:
|
|
168
|
+
- Only one blocker instance across entire workspace
|
|
169
|
+
- Filter lists downloaded once and cached
|
|
170
|
+
- Automatic enabling on all new pages via ecosystem chain
|
|
171
|
+
|
|
172
|
+
## License
|
|
173
|
+
|
|
174
|
+
MIT
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brave-real-blocker",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.6",
|
|
4
4
|
"description": "Advanced uBlock Origin management and stealth features for Brave Real Browser",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"@cliqz/adblocker-puppeteer": "^1.34.0",
|
|
57
57
|
"@ghostery/adblocker-puppeteer": "^2.13.4",
|
|
58
58
|
"adm-zip": "^0.5.10",
|
|
59
|
+
"brave-real-puppeteer-core": "^24.37.2-brave.11",
|
|
59
60
|
"cross-fetch": "^4.1.0",
|
|
60
61
|
"fs-extra": "^11.3.3",
|
|
61
62
|
"got": "^13.0.0"
|
|
@@ -64,7 +65,6 @@
|
|
|
64
65
|
"@types/adm-zip": "^0.5.5",
|
|
65
66
|
"@types/fs-extra": "^11.0.4",
|
|
66
67
|
"@types/node": "^20.0.0",
|
|
67
|
-
"brave-real-puppeteer-core": "^24.37.2-brave.9",
|
|
68
68
|
"mocha": "^10.4.0",
|
|
69
69
|
"puppeteer-core": ">=24.0.0",
|
|
70
70
|
"sinon": "^17.0.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brave-real-launcher",
|
|
3
|
-
"version": "1.25.
|
|
3
|
+
"version": "1.25.5",
|
|
4
4
|
"description": "Launch Brave Browser with ease from node. Based on chrome-launcher with Brave-specific support.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"typescript": "^5.0.0"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"brave-real-blocker": "^1.19.
|
|
57
|
+
"brave-real-blocker": "^1.19.6",
|
|
58
58
|
"escape-string-regexp": "^5.0.0",
|
|
59
59
|
"is-wsl": "^3.1.0",
|
|
60
60
|
"which": "^6.0.0"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brave-real-puppeteer-core",
|
|
3
|
-
"version": "24.37.2-brave.
|
|
3
|
+
"version": "24.37.2-brave.11",
|
|
4
4
|
"description": "🦁 Brave Real-World Optimized Puppeteer & Playwright Core with 1-5ms ultra-fast timing, 50+ professional stealth features, intelligent browser auto-detection, and 100% bot detection bypass. Features cross-platform Brave browser integration, comprehensive anti-detection, and breakthrough performance improvements.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"automation",
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
},
|
|
136
136
|
"dependencies": {
|
|
137
137
|
"@puppeteer/browsers": "2.12.0",
|
|
138
|
-
"brave-real-launcher": "^1.25.
|
|
138
|
+
"brave-real-launcher": "^1.25.5",
|
|
139
139
|
"chromium-bidi": "13.1.1",
|
|
140
140
|
"debug": "^4.4.3",
|
|
141
141
|
"devtools-protocol": "0.0.1566079",
|