brave-real-launcher 1.2.33 → 1.2.35
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 +1 -76
- package/dist/stealth-utils.js +10 -7
- package/dist/stealth-utils.mjs +10 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,54 +20,6 @@ Launch Brave Browser with ease from Node.js. Based on [chrome-launcher](https://
|
|
|
20
20
|
npm install brave-real-launcher
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
## Quick Start
|
|
24
|
-
|
|
25
|
-
```javascript
|
|
26
|
-
const { launch } = require('brave-real-launcher');
|
|
27
|
-
|
|
28
|
-
// Basic launch
|
|
29
|
-
const brave = await launch({
|
|
30
|
-
startingUrl: 'https://example.com',
|
|
31
|
-
logLevel: 'info'
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
console.log('Brave is running on port', brave.port);
|
|
35
|
-
brave.kill();
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### With uBlock Origin Ad Blocker
|
|
39
|
-
|
|
40
|
-
```javascript
|
|
41
|
-
const brave = await launch({
|
|
42
|
-
startingUrl: 'https://example.com',
|
|
43
|
-
autoLoadUBlock: true, // Auto-downloads and loads uBlock Origin
|
|
44
|
-
logLevel: 'info'
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
console.log('Extensions loaded:', brave.extensions);
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### With Stealth Mode (Anti-Bot Detection)
|
|
51
|
-
|
|
52
|
-
```javascript
|
|
53
|
-
const brave = await launch({
|
|
54
|
-
startingUrl: 'https://example.com',
|
|
55
|
-
enableStealth: true, // Enables stealth mode
|
|
56
|
-
autoLoadUBlock: true,
|
|
57
|
-
logLevel: 'info'
|
|
58
|
-
});
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Auto-Install Brave (if not present)
|
|
62
|
-
|
|
63
|
-
```javascript
|
|
64
|
-
const brave = await launch({
|
|
65
|
-
startingUrl: 'https://example.com',
|
|
66
|
-
autoInstall: true, // Auto-installs Brave if not found
|
|
67
|
-
logLevel: 'info'
|
|
68
|
-
});
|
|
69
|
-
```
|
|
70
|
-
|
|
71
23
|
## API
|
|
72
24
|
|
|
73
25
|
### `launch(options)`
|
|
@@ -102,33 +54,6 @@ Launches Brave Browser with the specified options.
|
|
|
102
54
|
|
|
103
55
|
Returns the path to the Brave Browser executable.
|
|
104
56
|
|
|
105
|
-
### `BraveInstaller`
|
|
106
|
-
|
|
107
|
-
Programmatic Brave installation:
|
|
108
|
-
|
|
109
|
-
```javascript
|
|
110
|
-
const { BraveInstaller } = require('brave-real-launcher');
|
|
111
|
-
|
|
112
|
-
const installer = new BraveInstaller();
|
|
113
|
-
const result = await installer.install();
|
|
114
|
-
|
|
115
|
-
if (result.success) {
|
|
116
|
-
console.log('Installed at:', result.bravePath);
|
|
117
|
-
}
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### `ExtensionManager`
|
|
121
|
-
|
|
122
|
-
Manage extensions:
|
|
123
|
-
|
|
124
|
-
```javascript
|
|
125
|
-
const { ExtensionManager } = require('brave-real-launcher');
|
|
126
|
-
|
|
127
|
-
const manager = new ExtensionManager();
|
|
128
|
-
const ublock = await manager.getUBlockOrigin();
|
|
129
|
-
console.log('uBlock version:', ublock.version);
|
|
130
|
-
```
|
|
131
|
-
|
|
132
57
|
## Platform Support
|
|
133
58
|
|
|
134
59
|
### Auto-Install Behavior
|
|
@@ -203,4 +128,4 @@ This project automatically syncs with chrome-launcher updates while preserving B
|
|
|
203
128
|
|
|
204
129
|
## License
|
|
205
130
|
|
|
206
|
-
Apache-2.0 - Based on chrome-launcher by The Chromium Authors
|
|
131
|
+
Apache-2.0 - Based on chrome-launcher by The Chromium Authors
|
package/dist/stealth-utils.js
CHANGED
|
@@ -13,16 +13,19 @@ exports.getStealthScript = exports.getStealthFlags = exports.USER_AGENTS = expor
|
|
|
13
13
|
* These help bypass basic bot detection
|
|
14
14
|
*/
|
|
15
15
|
exports.STEALTH_FLAGS = [
|
|
16
|
-
// Disable automation info bar (safe, no warning)
|
|
17
|
-
'--disable-infobars',
|
|
18
|
-
// Disable popup blocking
|
|
19
16
|
'--disable-popup-blocking',
|
|
20
|
-
// Disable password save prompt
|
|
21
17
|
'--disable-save-password-bubble',
|
|
22
|
-
// Disable first run welcome
|
|
23
18
|
'--no-first-run',
|
|
24
|
-
// Disable default browser check
|
|
25
19
|
'--no-default-browser-check',
|
|
20
|
+
// Anti-detection (CRITICAL)
|
|
21
|
+
'--disable-blink-features=AutomationControlled',
|
|
22
|
+
// Media stream bypass
|
|
23
|
+
'--use-fake-device-for-media-stream',
|
|
24
|
+
'--use-fake-ui-for-media-stream',
|
|
25
|
+
// Notifications disable
|
|
26
|
+
'--disable-notifications',
|
|
27
|
+
// Autoplay without gesture
|
|
28
|
+
'--autoplay-policy=no-user-gesture-required',
|
|
26
29
|
];
|
|
27
30
|
/**
|
|
28
31
|
* JavaScript code to inject for stealth mode
|
|
@@ -207,4 +210,4 @@ exports.default = {
|
|
|
207
210
|
getStealthFlags,
|
|
208
211
|
getStealthScript
|
|
209
212
|
};
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlYWx0aC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGVhbHRoLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILFlBQVksQ0FBQzs7O0FBRWI7OztHQUdHO0FBQ1UsUUFBQSxhQUFhLEdBQTBCO0lBQ2xELDBCQUEwQjtJQUMxQixnQ0FBZ0M7SUFDaEMsZ0JBQWdCO0lBQ2hCLDRCQUE0QjtJQUU1Qiw0QkFBNEI7SUFDNUIsK0NBQStDO0lBRS9DLHNCQUFzQjtJQUN0QixvQ0FBb0M7SUFDcEMsZ0NBQWdDO0lBRWhDLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFFekIsMkJBQTJCO0lBQzNCLDRDQUE0QztDQUM3QyxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxlQUFlLEdBQUc7SUFDN0I7O09BRUc7SUFDSCxpQkFBaUIsRUFBRTs7Ozs7R0FLbEI7SUFFRDs7T0FFRztJQUNILGVBQWUsRUFBRTs7Ozs7Ozs7Ozs7OztHQWFoQjtJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLEVBQUU7Ozs7O0dBS2xCO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUIsRUFBRTs7Ozs7OztHQU9wQjtJQUVEOztPQUVHO0lBQ0gscUJBQXFCLEVBQUU7Ozs7Ozs7R0FPdEI7SUFFRDs7T0FFRztJQUNILGVBQWUsRUFBRTs7Ozs7Ozs7R0FRaEI7SUFFRDs7T0FFRztJQUNILGNBQWMsRUFBRTs7Ozs7Ozs7Ozs7Ozs7O0dBZWY7SUFFRDs7T0FFRztJQUNILGFBQWEsRUFBRTs7Ozs7Ozs7Ozs7R0FXZDtJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLEVBQUU7Ozs7Ozs7R0FPbkI7SUFFRDs7T0FFRztJQUNILElBQUksV0FBVztRQUNiLE9BQU87WUFDTCxJQUFJLENBQUMsaUJBQWlCO1lBQ3RCLElBQUksQ0FBQyxlQUFlO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUI7WUFDdEIsSUFBSSxDQUFDLG1CQUFtQjtZQUN4QixJQUFJLENBQUMscUJBQXFCO1lBQzFCLElBQUksQ0FBQyxlQUFlO1lBQ3BCLElBQUksQ0FBQyxjQUFjO1lBQ25CLElBQUksQ0FBQyxhQUFhO1lBQ2xCLElBQUksQ0FBQyxrQkFBa0I7U0FDeEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxXQUFXLEdBQUc7SUFDekIsT0FBTyxFQUFFLGlIQUFpSDtJQUMxSCxLQUFLLEVBQUUsdUhBQXVIO0lBQzlILEtBQUssRUFBRSx1R0FBdUc7SUFFOUc7O09BRUc7SUFDSCxJQUFJLE9BQU87UUFDVCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2xDLFFBQVEsUUFBUSxFQUFFO1lBQ2hCLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2xDLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ2pDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUM1QjtJQUNILENBQUM7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDSCxTQUFnQixlQUFlLENBQUMsU0FBa0I7SUFDaEQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLHFCQUFhLENBQUMsQ0FBQztJQUVqQyxJQUFJLFNBQVMsRUFBRTtRQUNiLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLFNBQVMsRUFBRSxDQUFDLENBQUM7S0FDekM7U0FBTTtRQUNMLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLG1CQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztLQUNuRDtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVZELDBDQVVDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0I7SUFDOUIsT0FBTyx1QkFBZSxDQUFDLFdBQVcsQ0FBQztBQUNyQyxDQUFDO0FBRkQsNENBRUM7QUFFRCxrQkFBZTtJQUNiLGFBQWEsRUFBYixxQkFBYTtJQUNiLGVBQWUsRUFBZix1QkFBZTtJQUNmLFdBQVcsRUFBWCxtQkFBVztJQUNYLGVBQWU7SUFDZixnQkFBZ0I7Q0FDakIsQ0FBQyJ9
|
package/dist/stealth-utils.mjs
CHANGED
|
@@ -11,16 +11,19 @@
|
|
|
11
11
|
* These help bypass basic bot detection
|
|
12
12
|
*/
|
|
13
13
|
export const STEALTH_FLAGS = [
|
|
14
|
-
// Disable automation info bar (safe, no warning)
|
|
15
|
-
'--disable-infobars',
|
|
16
|
-
// Disable popup blocking
|
|
17
14
|
'--disable-popup-blocking',
|
|
18
|
-
// Disable password save prompt
|
|
19
15
|
'--disable-save-password-bubble',
|
|
20
|
-
// Disable first run welcome
|
|
21
16
|
'--no-first-run',
|
|
22
|
-
// Disable default browser check
|
|
23
17
|
'--no-default-browser-check',
|
|
18
|
+
// Anti-detection (CRITICAL)
|
|
19
|
+
'--disable-blink-features=AutomationControlled',
|
|
20
|
+
// Media stream bypass
|
|
21
|
+
'--use-fake-device-for-media-stream',
|
|
22
|
+
'--use-fake-ui-for-media-stream',
|
|
23
|
+
// Notifications disable
|
|
24
|
+
'--disable-notifications',
|
|
25
|
+
// Autoplay without gesture
|
|
26
|
+
'--autoplay-policy=no-user-gesture-required',
|
|
24
27
|
];
|
|
25
28
|
/**
|
|
26
29
|
* JavaScript code to inject for stealth mode
|
|
@@ -203,4 +206,4 @@ export default {
|
|
|
203
206
|
getStealthFlags,
|
|
204
207
|
getStealthScript
|
|
205
208
|
};
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlYWx0aC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGVhbHRoLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILFlBQVksQ0FBQztBQUViOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMEI7SUFDbEQsMEJBQTBCO0lBQzFCLGdDQUFnQztJQUNoQyxnQkFBZ0I7SUFDaEIsNEJBQTRCO0lBRTVCLDRCQUE0QjtJQUM1QiwrQ0FBK0M7SUFFL0Msc0JBQXNCO0lBQ3RCLG9DQUFvQztJQUNwQyxnQ0FBZ0M7SUFFaEMsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUV6QiwyQkFBMkI7SUFDM0IsNENBQTRDO0NBQzdDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0I7O09BRUc7SUFDSCxpQkFBaUIsRUFBRTs7Ozs7R0FLbEI7SUFFRDs7T0FFRztJQUNILGVBQWUsRUFBRTs7Ozs7Ozs7Ozs7OztHQWFoQjtJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLEVBQUU7Ozs7O0dBS2xCO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUIsRUFBRTs7Ozs7OztHQU9wQjtJQUVEOztPQUVHO0lBQ0gscUJBQXFCLEVBQUU7Ozs7Ozs7R0FPdEI7SUFFRDs7T0FFRztJQUNILGVBQWUsRUFBRTs7Ozs7Ozs7R0FRaEI7SUFFRDs7T0FFRztJQUNILGNBQWMsRUFBRTs7Ozs7Ozs7Ozs7Ozs7O0dBZWY7SUFFRDs7T0FFRztJQUNILGFBQWEsRUFBRTs7Ozs7Ozs7Ozs7R0FXZDtJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLEVBQUU7Ozs7Ozs7R0FPbkI7SUFFRDs7T0FFRztJQUNILElBQUksV0FBVztRQUNiLE9BQU87WUFDTCxJQUFJLENBQUMsaUJBQWlCO1lBQ3RCLElBQUksQ0FBQyxlQUFlO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUI7WUFDdEIsSUFBSSxDQUFDLG1CQUFtQjtZQUN4QixJQUFJLENBQUMscUJBQXFCO1lBQzFCLElBQUksQ0FBQyxlQUFlO1lBQ3BCLElBQUksQ0FBQyxjQUFjO1lBQ25CLElBQUksQ0FBQyxhQUFhO1lBQ2xCLElBQUksQ0FBQyxrQkFBa0I7U0FDeEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLE9BQU8sRUFBRSxpSEFBaUg7SUFDMUgsS0FBSyxFQUFFLHVIQUF1SDtJQUM5SCxLQUFLLEVBQUUsdUdBQXVHO0lBRTlHOztPQUVHO0lBQ0gsSUFBSSxPQUFPO1FBQ1QsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNsQyxRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNsQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNqQyxPQUFPLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDNUI7SUFDSCxDQUFDO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxTQUFrQjtJQUNoRCxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUM7SUFFakMsSUFBSSxTQUFTLEVBQUU7UUFDYixLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixTQUFTLEVBQUUsQ0FBQyxDQUFDO0tBQ3pDO1NBQU07UUFDTCxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztLQUNuRDtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQjtJQUM5QixPQUFPLGVBQWUsQ0FBQyxXQUFXLENBQUM7QUFDckMsQ0FBQztBQUVELGVBQWU7SUFDYixhQUFhO0lBQ2IsZUFBZTtJQUNmLFdBQVc7SUFDWCxlQUFlO0lBQ2YsZ0JBQWdCO0NBQ2pCLENBQUMifQ==
|
package/package.json
CHANGED