brave-real-playwright-core 1.57.0-patch.1 → 1.57.0-patch.3

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 CHANGED
@@ -1,4 +1,4 @@
1
- # 🦁 brave-real-playwright-core v1.57.0-patch.1
1
+ # 🦁 brave-real-playwright-core v1.57.0-patch.3
2
2
 
3
3
  **Based on Playwright Core v1.57.0**
4
4
 
@@ -48,7 +48,7 @@ await page.goto('https://bot-detector.rebrowser.net/');
48
48
 
49
49
  - **playwright-core**: v1.57.0
50
50
  - **rebrowser-patches**: Latest stealth optimizations
51
- - **Brave optimization**: v1.57.0-patch.1
51
+ - **Brave optimization**: v1.57.0-patch.3
52
52
 
53
53
  ## 🔗 Links
54
54
 
@@ -5,7 +5,7 @@
5
5
  timingRange: '1-5ms',
6
6
  stealthLevel: 'professional',
7
7
  engine: 'playwright',
8
- braveVersion: '1.57.0-patch.1',
8
+ braveVersion: '1.57.0-patch.3',
9
9
  features: {
10
10
  performanceOptimization: true,
11
11
  navigatorSpoofing: true,
@@ -71,7 +71,7 @@
71
71
  return Promise.resolve({
72
72
  ok: true,
73
73
  json: () => Promise.resolve([{
74
- version: '129.0.0.0',
74
+ version: '143.0.7499.193',
75
75
  time: new Date().toISOString()
76
76
  }])
77
77
  });
@@ -107,16 +107,11 @@
107
107
  delete navigator.webdriver;
108
108
  }
109
109
 
110
- // Define webdriver as undefined and make it non-enumerable
111
- Object.defineProperty(navigator, 'webdriver', {
112
- get: () => undefined,
113
- set: () => {},
114
- configurable: false,
115
- enumerable: false
116
- });
110
+
111
+
117
112
 
118
113
  // Additional webdriver property variations
119
- const webdriverProps = ['webdriver', '__webdriver__', '_webdriver', 'webDriver'];
114
+ const webdriverProps = ['__webdriver__', '_webdriver', 'webDriver'];
120
115
  webdriverProps.forEach(prop => {
121
116
  if (prop in navigator) {
122
117
  delete navigator[prop];
@@ -497,15 +492,15 @@
497
492
  let bulletproofUserAgent;
498
493
  if (isBraveOptimized) {
499
494
  // Brave-optimized user agent (maximum stealth)
500
- bulletproofUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36';
495
+ bulletproofUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.7559.59 Safari/537.36';
501
496
  console.log('[🦁 BRAVE-STEALTH] Brave browser optimizations active - maximum stealth mode');
502
497
  } else if (isChromeOptimized) {
503
498
  // Chrome-optimized user agent
504
- bulletproofUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36';
499
+ bulletproofUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.7559.59 Safari/537.36';
505
500
  console.log('[🔵 CHROME-STEALTH] Chrome browser optimizations active');
506
501
  } else {
507
502
  // Default fallback user agent
508
- bulletproofUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36';
503
+ bulletproofUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.7559.59 Safari/537.36';
509
504
  console.log('[⚙️ DEFAULT-STEALTH] Using default browser stealth mode');
510
505
  }
511
506
 
@@ -518,42 +513,13 @@
518
513
 
519
514
  // COMPLETELY override appVersion
520
515
  Object.defineProperty(navigator, 'appVersion', {
521
- get: () => '5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36',
516
+ get: () => '5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.7559.59 Safari/537.36',
522
517
  configurable: false,
523
518
  enumerable: true
524
519
  });
525
520
 
526
- // BULLETPROOF webdriver property elimination
527
- if ('webdriver' in navigator) {
528
- delete navigator.webdriver;
529
- }
530
521
 
531
- // PREVENT webdriver property from being redefined
532
- Object.defineProperty(navigator, 'webdriver', {
533
- get: () => undefined,
534
- set: () => {},
535
- configurable: false,
536
- enumerable: false
537
- });
538
-
539
- // OVERRIDE Object.getOwnPropertyDescriptor to hide our modifications
540
- const originalGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
541
- Object.getOwnPropertyDescriptor = function(obj, prop) {
542
- if (obj === navigator && prop === 'webdriver') {
543
- return undefined;
544
- }
545
- return originalGetOwnPropertyDescriptor.call(this, obj, prop);
546
- };
547
-
548
- // OVERRIDE Object.getOwnPropertyNames to hide webdriver
549
- const originalGetOwnPropertyNames = Object.getOwnPropertyNames;
550
- Object.getOwnPropertyNames = function(obj) {
551
- const props = originalGetOwnPropertyNames.call(this, obj);
552
- if (obj === navigator) {
553
- return props.filter(prop => prop !== 'webdriver');
554
- }
555
- return props;
556
- };
522
+ // BULLETPROOF platform detection
557
523
 
558
524
  // BULLETPROOF platform detection
559
525
  Object.defineProperty(navigator, 'platform', {
@@ -587,13 +553,23 @@
587
553
  });
588
554
  })();
589
555
 
590
- // Enhanced userAgentData with getHighEntropyValues method
591
- Object.defineProperty(navigator, 'userAgentData', {
592
- get: () => ({
556
+ // Enhanced userAgentData with getHighEntropyValues method - Singleton & Prototype
557
+ (function() {
558
+ // Aggressively delete existing userAgentData
559
+ try {
560
+ delete Navigator.prototype.userAgentData;
561
+ } catch {}
562
+ try {
563
+ if (navigator.hasOwnProperty('userAgentData')) {
564
+ delete navigator.userAgentData;
565
+ }
566
+ } catch {}
567
+
568
+ const userAgentDataInstance = {
593
569
  brands: [
594
- { brand: 'Not_A Brand', version: '8' },
595
- { brand: 'Chromium', version: '140' },
596
- { brand: 'Google Chrome', version: '140' }
570
+ { brand: 'Not_A Brand', version: '24' },
571
+ { brand: 'Chromium', version: '131' },
572
+ { brand: 'Google Chrome', version: '131' }
597
573
  ],
598
574
  mobile: false,
599
575
  platform: 'Windows',
@@ -601,23 +577,34 @@
601
577
  return Promise.resolve({
602
578
  architecture: 'x86',
603
579
  bitness: '64',
604
- brands: this.brands,
580
+ brands: userAgentDataInstance.brands,
605
581
  fullVersionList: [
606
- { brand: 'Not_A Brand', version: '8.0.0.0' },
607
- { brand: 'Chromium', version: '140.0.7339.81' },
608
- { brand: 'Google Chrome', version: '140.0.7339.81' }
582
+ { brand: 'Not_A Brand', version: '143.0.7499.193' },
583
+ { brand: 'Chromium', version: '143.0.7499.193' },
584
+ { brand: 'Google Chrome', version: '143.0.7499.193' }
609
585
  ],
610
586
  mobile: false,
611
587
  model: '',
612
588
  platform: 'Windows',
613
589
  platformVersion: '10.0.0',
614
- uaFullVersion: '140.0.7339.81'
590
+ uaFullVersion: '143.0.7499.193'
615
591
  });
592
+ },
593
+ toJSON: function() {
594
+ return {
595
+ brands: this.brands,
596
+ mobile: this.mobile,
597
+ platform: this.platform
598
+ };
616
599
  }
617
- }),
618
- configurable: true,
619
- enumerable: false
620
- });
600
+ };
601
+
602
+ Object.defineProperty(Navigator.prototype, 'userAgentData', {
603
+ get: () => userAgentDataInstance,
604
+ configurable: false,
605
+ enumerable: true
606
+ });
607
+ })();
621
608
 
622
609
 
623
610
  console.log('[REBROWSER-STEALTH] ✅ Ultra-fast professional stealth mode activated');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brave-real-playwright-core",
3
- "version": "1.57.0-patch.1",
3
+ "version": "1.57.0-patch.3",
4
4
  "description": "Brave-optimized Playwright Core (v1.57.0) with comprehensive stealth patches and error stack sanitization",
5
5
  "keywords": [
6
6
  "playwright",
@@ -48,16 +48,16 @@
48
48
  ],
49
49
  "brave": {
50
50
  "optimized": true,
51
- "version": "1.57.0-patch.1",
51
+ "version": "1.57.0-patch.3",
52
52
  "basedOn": {
53
53
  "playwright-core": "1.57.0",
54
- "patches-version": "1.57.0-patch.1",
55
- "release-info": "Brave Playwright v1.57.0-patch.1 based on Playwright Core v1.57.0"
54
+ "patches-version": "1.57.0-patch.3",
55
+ "release-info": "Brave Playwright v1.57.0-patch.3 based on Playwright Core v1.57.0"
56
56
  },
57
57
  "versionInfo": {
58
- "braveVersion": "1.57.0-patch.1",
58
+ "braveVersion": "1.57.0-patch.3",
59
59
  "playwrightVersion": "1.57.0",
60
- "fullName": "Brave Playwright Core v1.57.0-patch.1 (Playwright 1.57.0)"
60
+ "fullName": "Brave Playwright Core v1.57.0-patch.3 (Playwright 1.57.0)"
61
61
  },
62
62
  "features": [
63
63
  "error-stack-sanitization",
@@ -35,7 +35,7 @@
35
35
  return Promise.resolve({
36
36
  ok: true,
37
37
  json: () => Promise.resolve([{
38
- version: '129.0.0.0',
38
+ version: '143.0.7499.193',
39
39
  time: new Date().toISOString()
40
40
  }])
41
41
  });
@@ -71,16 +71,11 @@
71
71
  delete navigator.webdriver;
72
72
  }
73
73
 
74
- // Define webdriver as undefined and make it non-enumerable
75
- Object.defineProperty(navigator, 'webdriver', {
76
- get: () => undefined,
77
- set: () => {},
78
- configurable: false,
79
- enumerable: false
80
- });
74
+
75
+
81
76
 
82
77
  // Additional webdriver property variations
83
- const webdriverProps = ['webdriver', '__webdriver__', '_webdriver', 'webDriver'];
78
+ const webdriverProps = ['__webdriver__', '_webdriver', 'webDriver'];
84
79
  webdriverProps.forEach(prop => {
85
80
  if (prop in navigator) {
86
81
  delete navigator[prop];
@@ -461,15 +456,15 @@
461
456
  let bulletproofUserAgent;
462
457
  if (isBraveOptimized) {
463
458
  // Brave-optimized user agent (maximum stealth)
464
- bulletproofUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36';
459
+ bulletproofUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.7559.59 Safari/537.36';
465
460
  console.log('[🦁 BRAVE-STEALTH] Brave browser optimizations active - maximum stealth mode');
466
461
  } else if (isChromeOptimized) {
467
462
  // Chrome-optimized user agent
468
- bulletproofUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36';
463
+ bulletproofUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.7559.59 Safari/537.36';
469
464
  console.log('[🔵 CHROME-STEALTH] Chrome browser optimizations active');
470
465
  } else {
471
466
  // Default fallback user agent
472
- bulletproofUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36';
467
+ bulletproofUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.7559.59 Safari/537.36';
473
468
  console.log('[⚙️ DEFAULT-STEALTH] Using default browser stealth mode');
474
469
  }
475
470
 
@@ -482,42 +477,13 @@
482
477
 
483
478
  // COMPLETELY override appVersion
484
479
  Object.defineProperty(navigator, 'appVersion', {
485
- get: () => '5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36',
480
+ get: () => '5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.7559.59 Safari/537.36',
486
481
  configurable: false,
487
482
  enumerable: true
488
483
  });
489
484
 
490
- // BULLETPROOF webdriver property elimination
491
- if ('webdriver' in navigator) {
492
- delete navigator.webdriver;
493
- }
494
485
 
495
- // PREVENT webdriver property from being redefined
496
- Object.defineProperty(navigator, 'webdriver', {
497
- get: () => undefined,
498
- set: () => {},
499
- configurable: false,
500
- enumerable: false
501
- });
502
-
503
- // OVERRIDE Object.getOwnPropertyDescriptor to hide our modifications
504
- const originalGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
505
- Object.getOwnPropertyDescriptor = function(obj, prop) {
506
- if (obj === navigator && prop === 'webdriver') {
507
- return undefined;
508
- }
509
- return originalGetOwnPropertyDescriptor.call(this, obj, prop);
510
- };
511
-
512
- // OVERRIDE Object.getOwnPropertyNames to hide webdriver
513
- const originalGetOwnPropertyNames = Object.getOwnPropertyNames;
514
- Object.getOwnPropertyNames = function(obj) {
515
- const props = originalGetOwnPropertyNames.call(this, obj);
516
- if (obj === navigator) {
517
- return props.filter(prop => prop !== 'webdriver');
518
- }
519
- return props;
520
- };
486
+ // BULLETPROOF platform detection
521
487
 
522
488
  // BULLETPROOF platform detection
523
489
  Object.defineProperty(navigator, 'platform', {
@@ -551,13 +517,23 @@
551
517
  });
552
518
  })();
553
519
 
554
- // Enhanced userAgentData with getHighEntropyValues method
555
- Object.defineProperty(navigator, 'userAgentData', {
556
- get: () => ({
520
+ // Enhanced userAgentData with getHighEntropyValues method - Singleton & Prototype
521
+ (function() {
522
+ // Aggressively delete existing userAgentData
523
+ try {
524
+ delete Navigator.prototype.userAgentData;
525
+ } catch {}
526
+ try {
527
+ if (navigator.hasOwnProperty('userAgentData')) {
528
+ delete navigator.userAgentData;
529
+ }
530
+ } catch {}
531
+
532
+ const userAgentDataInstance = {
557
533
  brands: [
558
- { brand: 'Not_A Brand', version: '8' },
559
- { brand: 'Chromium', version: '140' },
560
- { brand: 'Google Chrome', version: '140' }
534
+ { brand: 'Not_A Brand', version: '24' },
535
+ { brand: 'Chromium', version: '131' },
536
+ { brand: 'Google Chrome', version: '131' }
561
537
  ],
562
538
  mobile: false,
563
539
  platform: 'Windows',
@@ -565,23 +541,34 @@
565
541
  return Promise.resolve({
566
542
  architecture: 'x86',
567
543
  bitness: '64',
568
- brands: this.brands,
544
+ brands: userAgentDataInstance.brands,
569
545
  fullVersionList: [
570
- { brand: 'Not_A Brand', version: '8.0.0.0' },
571
- { brand: 'Chromium', version: '140.0.7339.81' },
572
- { brand: 'Google Chrome', version: '140.0.7339.81' }
546
+ { brand: 'Not_A Brand', version: '143.0.7499.193' },
547
+ { brand: 'Chromium', version: '143.0.7499.193' },
548
+ { brand: 'Google Chrome', version: '143.0.7499.193' }
573
549
  ],
574
550
  mobile: false,
575
551
  model: '',
576
552
  platform: 'Windows',
577
553
  platformVersion: '10.0.0',
578
- uaFullVersion: '140.0.7339.81'
554
+ uaFullVersion: '143.0.7499.193'
579
555
  });
556
+ },
557
+ toJSON: function() {
558
+ return {
559
+ brands: this.brands,
560
+ mobile: this.mobile,
561
+ platform: this.platform
562
+ };
580
563
  }
581
- }),
582
- configurable: true,
583
- enumerable: false
584
- });
564
+ };
565
+
566
+ Object.defineProperty(Navigator.prototype, 'userAgentData', {
567
+ get: () => userAgentDataInstance,
568
+ configurable: false,
569
+ enumerable: true
570
+ });
571
+ })();
585
572
 
586
573
 
587
574
  console.log('[REBROWSER-STEALTH] ✅ Ultra-fast professional stealth mode activated');