@browserless.io/browserless 2.16.1 → 2.17.0-beta-2
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/build/browserless.js +1 -1
- package/build/browsers/browsers.cdp.js +5 -0
- package/build/config.d.ts +6 -0
- package/build/config.js +6 -0
- package/build/routes/chrome/http/content.post.body.json +8 -8
- package/build/routes/chrome/http/pdf.post.body.json +8 -8
- package/build/routes/chrome/http/scrape.post.body.json +8 -8
- package/build/routes/chrome/http/screenshot.post.body.json +8 -8
- package/build/routes/chromium/http/content.post.body.json +8 -8
- package/build/routes/chromium/http/pdf.post.body.json +8 -8
- package/build/routes/chromium/http/scrape.post.body.json +8 -8
- package/build/routes/chromium/http/screenshot.post.body.json +8 -8
- package/build/server.js +1 -1
- package/package.json +3 -3
- package/src/browserless.ts +1 -4
- package/src/browsers/browsers.cdp.ts +6 -0
- package/src/config.ts +9 -0
- package/src/server.ts +1 -3
- package/static/docs/swagger.json +9 -9
- package/static/docs/swagger.min.json +9 -9
package/build/browserless.js
CHANGED
|
@@ -135,7 +135,7 @@ export class Browserless extends EventEmitter {
|
|
|
135
135
|
const [[internalHttpRouteFiles, internalWsRouteFiles], installedBrowsers] = await Promise.all([getRouteFiles(this.config), availableBrowsers]);
|
|
136
136
|
const hasDebugger = await this.config.hasDebugger();
|
|
137
137
|
const debuggerURL = hasDebugger &&
|
|
138
|
-
makeExternalURL(this.config.getExternalAddress(), `/debugger/?token
|
|
138
|
+
makeExternalURL(this.config.getExternalAddress(), `/debugger/?token=xxx`);
|
|
139
139
|
const docsLink = makeExternalURL(this.config.getExternalAddress(), '/docs');
|
|
140
140
|
this.logger.info(printLogo(docsLink, debuggerURL));
|
|
141
141
|
this.logger.info(`Running as user "${userInfo().username}"`);
|
|
@@ -121,6 +121,11 @@ export class ChromiumCDP extends EventEmitter {
|
|
|
121
121
|
this.blockAds ? ublockPath : null,
|
|
122
122
|
extensionLaunchArgs ? extensionLaunchArgs.split('=')[1] : null,
|
|
123
123
|
].filter((_) => !!_);
|
|
124
|
+
// Bypass the host we bind to so things like /function can work with proxies
|
|
125
|
+
if (options.args?.some((arg) => arg.includes('--proxy-server'))) {
|
|
126
|
+
const bypassList = [this.config.getHost()];
|
|
127
|
+
options.args.push(`--proxy-bypass-list=${bypassList.join(',')}`);
|
|
128
|
+
}
|
|
124
129
|
const finalOptions = {
|
|
125
130
|
...options,
|
|
126
131
|
args: [
|
package/build/config.d.ts
CHANGED
|
@@ -24,6 +24,9 @@ export declare class Config extends EventEmitter {
|
|
|
24
24
|
protected allowCors: boolean;
|
|
25
25
|
protected corsMethods: string;
|
|
26
26
|
protected corsOrigin: string;
|
|
27
|
+
protected corsHeaders: string;
|
|
28
|
+
protected corsCredentials: string;
|
|
29
|
+
protected corsExposeHeaders: string;
|
|
27
30
|
protected corsMaxAge: number;
|
|
28
31
|
protected maxCpu: number;
|
|
29
32
|
protected maxMemory: number;
|
|
@@ -162,8 +165,11 @@ export declare class Config extends EventEmitter {
|
|
|
162
165
|
* and `CORS_MAX_AGE`
|
|
163
166
|
*/
|
|
164
167
|
getCORSHeaders(): {
|
|
168
|
+
'Access-Control-Allow-Credentials': string;
|
|
169
|
+
'Access-Control-Allow-Headers': string;
|
|
165
170
|
'Access-Control-Allow-Methods': string;
|
|
166
171
|
'Access-Control-Allow-Origin': string;
|
|
172
|
+
'Access-Control-Expose-Headers': string;
|
|
167
173
|
'Access-Control-Max-Age': number;
|
|
168
174
|
};
|
|
169
175
|
/**
|
package/build/config.js
CHANGED
|
@@ -132,6 +132,9 @@ export class Config extends EventEmitter {
|
|
|
132
132
|
allowCors = !!parseEnvVars(false, 'CORS', 'ENABLE_CORS');
|
|
133
133
|
corsMethods = process.env.CORS_ALLOW_METHODS ?? 'OPTIONS, POST, GET';
|
|
134
134
|
corsOrigin = process.env.CORS_ALLOW_ORIGIN ?? '*';
|
|
135
|
+
corsHeaders = process.env.CORS_ALLOW_HEADERS ?? '*';
|
|
136
|
+
corsCredentials = process.env.CORS_ALLOW_CREDENTIALS ?? 'true';
|
|
137
|
+
corsExposeHeaders = process.env.CORS_EXPOSE_HEADERS ?? '*';
|
|
135
138
|
corsMaxAge = +(process.env.CORS_MAX_AGE ?? '2592000');
|
|
136
139
|
maxCpu = +(process.env.MAX_CPU_PERCENT ?? '99');
|
|
137
140
|
maxMemory = +(process.env.MAX_MEMORY_PERCENT ?? '99');
|
|
@@ -443,8 +446,11 @@ export class Config extends EventEmitter {
|
|
|
443
446
|
*/
|
|
444
447
|
getCORSHeaders() {
|
|
445
448
|
return {
|
|
449
|
+
'Access-Control-Allow-Credentials': this.corsCredentials,
|
|
450
|
+
'Access-Control-Allow-Headers': this.corsHeaders,
|
|
446
451
|
'Access-Control-Allow-Methods': this.corsMethods,
|
|
447
452
|
'Access-Control-Allow-Origin': this.corsOrigin,
|
|
453
|
+
'Access-Control-Expose-Headers': this.corsExposeHeaders,
|
|
448
454
|
'Access-Control-Max-Age': this.corsMaxAge,
|
|
449
455
|
};
|
|
450
456
|
}
|
|
@@ -438,14 +438,14 @@
|
|
|
438
438
|
"length": {
|
|
439
439
|
"type": "number"
|
|
440
440
|
},
|
|
441
|
-
"__@toStringTag@
|
|
441
|
+
"__@toStringTag@11909": {
|
|
442
442
|
"type": "string",
|
|
443
443
|
"const": "Uint8Array"
|
|
444
444
|
}
|
|
445
445
|
},
|
|
446
446
|
"required": [
|
|
447
447
|
"BYTES_PER_ELEMENT",
|
|
448
|
-
"__@toStringTag@
|
|
448
|
+
"__@toStringTag@11909",
|
|
449
449
|
"buffer",
|
|
450
450
|
"byteLength",
|
|
451
451
|
"byteOffset",
|
|
@@ -480,13 +480,13 @@
|
|
|
480
480
|
"byteLength": {
|
|
481
481
|
"type": "number"
|
|
482
482
|
},
|
|
483
|
-
"__@toStringTag@
|
|
483
|
+
"__@toStringTag@11909": {
|
|
484
484
|
"type": "string"
|
|
485
485
|
}
|
|
486
486
|
},
|
|
487
487
|
"additionalProperties": false,
|
|
488
488
|
"required": [
|
|
489
|
-
"__@toStringTag@
|
|
489
|
+
"__@toStringTag@11909",
|
|
490
490
|
"byteLength"
|
|
491
491
|
]
|
|
492
492
|
},
|
|
@@ -496,18 +496,18 @@
|
|
|
496
496
|
"byteLength": {
|
|
497
497
|
"type": "number"
|
|
498
498
|
},
|
|
499
|
-
"__@species@
|
|
499
|
+
"__@species@11948": {
|
|
500
500
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
501
501
|
},
|
|
502
|
-
"__@toStringTag@
|
|
502
|
+
"__@toStringTag@11909": {
|
|
503
503
|
"type": "string",
|
|
504
504
|
"const": "SharedArrayBuffer"
|
|
505
505
|
}
|
|
506
506
|
},
|
|
507
507
|
"additionalProperties": false,
|
|
508
508
|
"required": [
|
|
509
|
-
"__@species@
|
|
510
|
-
"__@toStringTag@
|
|
509
|
+
"__@species@11948",
|
|
510
|
+
"__@toStringTag@11909",
|
|
511
511
|
"byteLength"
|
|
512
512
|
]
|
|
513
513
|
},
|
|
@@ -583,14 +583,14 @@
|
|
|
583
583
|
"length": {
|
|
584
584
|
"type": "number"
|
|
585
585
|
},
|
|
586
|
-
"__@toStringTag@
|
|
586
|
+
"__@toStringTag@94678": {
|
|
587
587
|
"type": "string",
|
|
588
588
|
"const": "Uint8Array"
|
|
589
589
|
}
|
|
590
590
|
},
|
|
591
591
|
"required": [
|
|
592
592
|
"BYTES_PER_ELEMENT",
|
|
593
|
-
"__@toStringTag@
|
|
593
|
+
"__@toStringTag@94678",
|
|
594
594
|
"buffer",
|
|
595
595
|
"byteLength",
|
|
596
596
|
"byteOffset",
|
|
@@ -625,13 +625,13 @@
|
|
|
625
625
|
"byteLength": {
|
|
626
626
|
"type": "number"
|
|
627
627
|
},
|
|
628
|
-
"__@toStringTag@
|
|
628
|
+
"__@toStringTag@94678": {
|
|
629
629
|
"type": "string"
|
|
630
630
|
}
|
|
631
631
|
},
|
|
632
632
|
"additionalProperties": false,
|
|
633
633
|
"required": [
|
|
634
|
-
"__@toStringTag@
|
|
634
|
+
"__@toStringTag@94678",
|
|
635
635
|
"byteLength"
|
|
636
636
|
]
|
|
637
637
|
},
|
|
@@ -641,18 +641,18 @@
|
|
|
641
641
|
"byteLength": {
|
|
642
642
|
"type": "number"
|
|
643
643
|
},
|
|
644
|
-
"__@species@
|
|
644
|
+
"__@species@94717": {
|
|
645
645
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
646
646
|
},
|
|
647
|
-
"__@toStringTag@
|
|
647
|
+
"__@toStringTag@94678": {
|
|
648
648
|
"type": "string",
|
|
649
649
|
"const": "SharedArrayBuffer"
|
|
650
650
|
}
|
|
651
651
|
},
|
|
652
652
|
"additionalProperties": false,
|
|
653
653
|
"required": [
|
|
654
|
-
"__@species@
|
|
655
|
-
"__@toStringTag@
|
|
654
|
+
"__@species@94717",
|
|
655
|
+
"__@toStringTag@94678",
|
|
656
656
|
"byteLength"
|
|
657
657
|
]
|
|
658
658
|
},
|
|
@@ -485,14 +485,14 @@
|
|
|
485
485
|
"length": {
|
|
486
486
|
"type": "number"
|
|
487
487
|
},
|
|
488
|
-
"__@toStringTag@
|
|
488
|
+
"__@toStringTag@118478": {
|
|
489
489
|
"type": "string",
|
|
490
490
|
"const": "Uint8Array"
|
|
491
491
|
}
|
|
492
492
|
},
|
|
493
493
|
"required": [
|
|
494
494
|
"BYTES_PER_ELEMENT",
|
|
495
|
-
"__@toStringTag@
|
|
495
|
+
"__@toStringTag@118478",
|
|
496
496
|
"buffer",
|
|
497
497
|
"byteLength",
|
|
498
498
|
"byteOffset",
|
|
@@ -527,13 +527,13 @@
|
|
|
527
527
|
"byteLength": {
|
|
528
528
|
"type": "number"
|
|
529
529
|
},
|
|
530
|
-
"__@toStringTag@
|
|
530
|
+
"__@toStringTag@118478": {
|
|
531
531
|
"type": "string"
|
|
532
532
|
}
|
|
533
533
|
},
|
|
534
534
|
"additionalProperties": false,
|
|
535
535
|
"required": [
|
|
536
|
-
"__@toStringTag@
|
|
536
|
+
"__@toStringTag@118478",
|
|
537
537
|
"byteLength"
|
|
538
538
|
]
|
|
539
539
|
},
|
|
@@ -543,18 +543,18 @@
|
|
|
543
543
|
"byteLength": {
|
|
544
544
|
"type": "number"
|
|
545
545
|
},
|
|
546
|
-
"__@species@
|
|
546
|
+
"__@species@118517": {
|
|
547
547
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
548
548
|
},
|
|
549
|
-
"__@toStringTag@
|
|
549
|
+
"__@toStringTag@118478": {
|
|
550
550
|
"type": "string",
|
|
551
551
|
"const": "SharedArrayBuffer"
|
|
552
552
|
}
|
|
553
553
|
},
|
|
554
554
|
"additionalProperties": false,
|
|
555
555
|
"required": [
|
|
556
|
-
"__@species@
|
|
557
|
-
"__@toStringTag@
|
|
556
|
+
"__@species@118517",
|
|
557
|
+
"__@toStringTag@118478",
|
|
558
558
|
"byteLength"
|
|
559
559
|
]
|
|
560
560
|
},
|
|
@@ -528,14 +528,14 @@
|
|
|
528
528
|
"length": {
|
|
529
529
|
"type": "number"
|
|
530
530
|
},
|
|
531
|
-
"__@toStringTag@
|
|
531
|
+
"__@toStringTag@130556": {
|
|
532
532
|
"type": "string",
|
|
533
533
|
"const": "Uint8Array"
|
|
534
534
|
}
|
|
535
535
|
},
|
|
536
536
|
"required": [
|
|
537
537
|
"BYTES_PER_ELEMENT",
|
|
538
|
-
"__@toStringTag@
|
|
538
|
+
"__@toStringTag@130556",
|
|
539
539
|
"buffer",
|
|
540
540
|
"byteLength",
|
|
541
541
|
"byteOffset",
|
|
@@ -570,13 +570,13 @@
|
|
|
570
570
|
"byteLength": {
|
|
571
571
|
"type": "number"
|
|
572
572
|
},
|
|
573
|
-
"__@toStringTag@
|
|
573
|
+
"__@toStringTag@130556": {
|
|
574
574
|
"type": "string"
|
|
575
575
|
}
|
|
576
576
|
},
|
|
577
577
|
"additionalProperties": false,
|
|
578
578
|
"required": [
|
|
579
|
-
"__@toStringTag@
|
|
579
|
+
"__@toStringTag@130556",
|
|
580
580
|
"byteLength"
|
|
581
581
|
]
|
|
582
582
|
},
|
|
@@ -586,18 +586,18 @@
|
|
|
586
586
|
"byteLength": {
|
|
587
587
|
"type": "number"
|
|
588
588
|
},
|
|
589
|
-
"__@species@
|
|
589
|
+
"__@species@130595": {
|
|
590
590
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
591
591
|
},
|
|
592
|
-
"__@toStringTag@
|
|
592
|
+
"__@toStringTag@130556": {
|
|
593
593
|
"type": "string",
|
|
594
594
|
"const": "SharedArrayBuffer"
|
|
595
595
|
}
|
|
596
596
|
},
|
|
597
597
|
"additionalProperties": false,
|
|
598
598
|
"required": [
|
|
599
|
-
"__@species@
|
|
600
|
-
"__@toStringTag@
|
|
599
|
+
"__@species@130595",
|
|
600
|
+
"__@toStringTag@130556",
|
|
601
601
|
"byteLength"
|
|
602
602
|
]
|
|
603
603
|
},
|
|
@@ -438,14 +438,14 @@
|
|
|
438
438
|
"length": {
|
|
439
439
|
"type": "number"
|
|
440
440
|
},
|
|
441
|
-
"__@toStringTag@
|
|
441
|
+
"__@toStringTag@142544": {
|
|
442
442
|
"type": "string",
|
|
443
443
|
"const": "Uint8Array"
|
|
444
444
|
}
|
|
445
445
|
},
|
|
446
446
|
"required": [
|
|
447
447
|
"BYTES_PER_ELEMENT",
|
|
448
|
-
"__@toStringTag@
|
|
448
|
+
"__@toStringTag@142544",
|
|
449
449
|
"buffer",
|
|
450
450
|
"byteLength",
|
|
451
451
|
"byteOffset",
|
|
@@ -480,13 +480,13 @@
|
|
|
480
480
|
"byteLength": {
|
|
481
481
|
"type": "number"
|
|
482
482
|
},
|
|
483
|
-
"__@toStringTag@
|
|
483
|
+
"__@toStringTag@142544": {
|
|
484
484
|
"type": "string"
|
|
485
485
|
}
|
|
486
486
|
},
|
|
487
487
|
"additionalProperties": false,
|
|
488
488
|
"required": [
|
|
489
|
-
"__@toStringTag@
|
|
489
|
+
"__@toStringTag@142544",
|
|
490
490
|
"byteLength"
|
|
491
491
|
]
|
|
492
492
|
},
|
|
@@ -496,18 +496,18 @@
|
|
|
496
496
|
"byteLength": {
|
|
497
497
|
"type": "number"
|
|
498
498
|
},
|
|
499
|
-
"__@species@
|
|
499
|
+
"__@species@142583": {
|
|
500
500
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
501
501
|
},
|
|
502
|
-
"__@toStringTag@
|
|
502
|
+
"__@toStringTag@142544": {
|
|
503
503
|
"type": "string",
|
|
504
504
|
"const": "SharedArrayBuffer"
|
|
505
505
|
}
|
|
506
506
|
},
|
|
507
507
|
"additionalProperties": false,
|
|
508
508
|
"required": [
|
|
509
|
-
"__@species@
|
|
510
|
-
"__@toStringTag@
|
|
509
|
+
"__@species@142583",
|
|
510
|
+
"__@toStringTag@142544",
|
|
511
511
|
"byteLength"
|
|
512
512
|
]
|
|
513
513
|
},
|
|
@@ -583,14 +583,14 @@
|
|
|
583
583
|
"length": {
|
|
584
584
|
"type": "number"
|
|
585
585
|
},
|
|
586
|
-
"__@toStringTag@
|
|
586
|
+
"__@toStringTag@225292": {
|
|
587
587
|
"type": "string",
|
|
588
588
|
"const": "Uint8Array"
|
|
589
589
|
}
|
|
590
590
|
},
|
|
591
591
|
"required": [
|
|
592
592
|
"BYTES_PER_ELEMENT",
|
|
593
|
-
"__@toStringTag@
|
|
593
|
+
"__@toStringTag@225292",
|
|
594
594
|
"buffer",
|
|
595
595
|
"byteLength",
|
|
596
596
|
"byteOffset",
|
|
@@ -625,13 +625,13 @@
|
|
|
625
625
|
"byteLength": {
|
|
626
626
|
"type": "number"
|
|
627
627
|
},
|
|
628
|
-
"__@toStringTag@
|
|
628
|
+
"__@toStringTag@225292": {
|
|
629
629
|
"type": "string"
|
|
630
630
|
}
|
|
631
631
|
},
|
|
632
632
|
"additionalProperties": false,
|
|
633
633
|
"required": [
|
|
634
|
-
"__@toStringTag@
|
|
634
|
+
"__@toStringTag@225292",
|
|
635
635
|
"byteLength"
|
|
636
636
|
]
|
|
637
637
|
},
|
|
@@ -641,18 +641,18 @@
|
|
|
641
641
|
"byteLength": {
|
|
642
642
|
"type": "number"
|
|
643
643
|
},
|
|
644
|
-
"__@species@
|
|
644
|
+
"__@species@225331": {
|
|
645
645
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
646
646
|
},
|
|
647
|
-
"__@toStringTag@
|
|
647
|
+
"__@toStringTag@225292": {
|
|
648
648
|
"type": "string",
|
|
649
649
|
"const": "SharedArrayBuffer"
|
|
650
650
|
}
|
|
651
651
|
},
|
|
652
652
|
"additionalProperties": false,
|
|
653
653
|
"required": [
|
|
654
|
-
"__@species@
|
|
655
|
-
"__@toStringTag@
|
|
654
|
+
"__@species@225331",
|
|
655
|
+
"__@toStringTag@225292",
|
|
656
656
|
"byteLength"
|
|
657
657
|
]
|
|
658
658
|
},
|
|
@@ -485,14 +485,14 @@
|
|
|
485
485
|
"length": {
|
|
486
486
|
"type": "number"
|
|
487
487
|
},
|
|
488
|
-
"__@toStringTag@
|
|
488
|
+
"__@toStringTag@249086": {
|
|
489
489
|
"type": "string",
|
|
490
490
|
"const": "Uint8Array"
|
|
491
491
|
}
|
|
492
492
|
},
|
|
493
493
|
"required": [
|
|
494
494
|
"BYTES_PER_ELEMENT",
|
|
495
|
-
"__@toStringTag@
|
|
495
|
+
"__@toStringTag@249086",
|
|
496
496
|
"buffer",
|
|
497
497
|
"byteLength",
|
|
498
498
|
"byteOffset",
|
|
@@ -527,13 +527,13 @@
|
|
|
527
527
|
"byteLength": {
|
|
528
528
|
"type": "number"
|
|
529
529
|
},
|
|
530
|
-
"__@toStringTag@
|
|
530
|
+
"__@toStringTag@249086": {
|
|
531
531
|
"type": "string"
|
|
532
532
|
}
|
|
533
533
|
},
|
|
534
534
|
"additionalProperties": false,
|
|
535
535
|
"required": [
|
|
536
|
-
"__@toStringTag@
|
|
536
|
+
"__@toStringTag@249086",
|
|
537
537
|
"byteLength"
|
|
538
538
|
]
|
|
539
539
|
},
|
|
@@ -543,18 +543,18 @@
|
|
|
543
543
|
"byteLength": {
|
|
544
544
|
"type": "number"
|
|
545
545
|
},
|
|
546
|
-
"__@species@
|
|
546
|
+
"__@species@249125": {
|
|
547
547
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
548
548
|
},
|
|
549
|
-
"__@toStringTag@
|
|
549
|
+
"__@toStringTag@249086": {
|
|
550
550
|
"type": "string",
|
|
551
551
|
"const": "SharedArrayBuffer"
|
|
552
552
|
}
|
|
553
553
|
},
|
|
554
554
|
"additionalProperties": false,
|
|
555
555
|
"required": [
|
|
556
|
-
"__@species@
|
|
557
|
-
"__@toStringTag@
|
|
556
|
+
"__@species@249125",
|
|
557
|
+
"__@toStringTag@249086",
|
|
558
558
|
"byteLength"
|
|
559
559
|
]
|
|
560
560
|
},
|
|
@@ -528,14 +528,14 @@
|
|
|
528
528
|
"length": {
|
|
529
529
|
"type": "number"
|
|
530
530
|
},
|
|
531
|
-
"__@toStringTag@
|
|
531
|
+
"__@toStringTag@261161": {
|
|
532
532
|
"type": "string",
|
|
533
533
|
"const": "Uint8Array"
|
|
534
534
|
}
|
|
535
535
|
},
|
|
536
536
|
"required": [
|
|
537
537
|
"BYTES_PER_ELEMENT",
|
|
538
|
-
"__@toStringTag@
|
|
538
|
+
"__@toStringTag@261161",
|
|
539
539
|
"buffer",
|
|
540
540
|
"byteLength",
|
|
541
541
|
"byteOffset",
|
|
@@ -570,13 +570,13 @@
|
|
|
570
570
|
"byteLength": {
|
|
571
571
|
"type": "number"
|
|
572
572
|
},
|
|
573
|
-
"__@toStringTag@
|
|
573
|
+
"__@toStringTag@261161": {
|
|
574
574
|
"type": "string"
|
|
575
575
|
}
|
|
576
576
|
},
|
|
577
577
|
"additionalProperties": false,
|
|
578
578
|
"required": [
|
|
579
|
-
"__@toStringTag@
|
|
579
|
+
"__@toStringTag@261161",
|
|
580
580
|
"byteLength"
|
|
581
581
|
]
|
|
582
582
|
},
|
|
@@ -586,18 +586,18 @@
|
|
|
586
586
|
"byteLength": {
|
|
587
587
|
"type": "number"
|
|
588
588
|
},
|
|
589
|
-
"__@species@
|
|
589
|
+
"__@species@261200": {
|
|
590
590
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
591
591
|
},
|
|
592
|
-
"__@toStringTag@
|
|
592
|
+
"__@toStringTag@261161": {
|
|
593
593
|
"type": "string",
|
|
594
594
|
"const": "SharedArrayBuffer"
|
|
595
595
|
}
|
|
596
596
|
},
|
|
597
597
|
"additionalProperties": false,
|
|
598
598
|
"required": [
|
|
599
|
-
"__@species@
|
|
600
|
-
"__@toStringTag@
|
|
599
|
+
"__@species@261200",
|
|
600
|
+
"__@toStringTag@261161",
|
|
601
601
|
"byteLength"
|
|
602
602
|
]
|
|
603
603
|
},
|
package/build/server.js
CHANGED
|
@@ -24,7 +24,7 @@ export class HTTPServer extends EventEmitter {
|
|
|
24
24
|
this.Logger = Logger;
|
|
25
25
|
this.host = config.getHost();
|
|
26
26
|
this.port = config.getPort();
|
|
27
|
-
this.logger.info(`Server instantiated with host "${this.host}" on port "${this.port}
|
|
27
|
+
this.logger.info(`Server instantiated with host "${this.host}" on port "${this.port}`);
|
|
28
28
|
}
|
|
29
29
|
onHTTPUnauthorized(_req, res) {
|
|
30
30
|
this.logger.error(`HTTP request is not properly authorized, responding with 401`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@browserless.io/browserless",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.17.0-beta-2",
|
|
4
4
|
"license": "SSPL",
|
|
5
5
|
"description": "The browserless platform",
|
|
6
6
|
"author": "browserless.io",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"@types/http-proxy": "^1.17.15",
|
|
77
77
|
"@types/micromatch": "^4.0.9",
|
|
78
78
|
"@types/mocha": "^10.0.7",
|
|
79
|
-
"@types/node": "^22.
|
|
79
|
+
"@types/node": "^22.2.0",
|
|
80
80
|
"@types/sinon": "^17.0.3",
|
|
81
81
|
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
|
82
82
|
"@typescript-eslint/parser": "^7.18.0",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"extract-zip": "^2.0.1",
|
|
92
92
|
"gunzip-maybe": "^1.4.2",
|
|
93
93
|
"marked": "^14.0.0",
|
|
94
|
-
"mocha": "^10.7.
|
|
94
|
+
"mocha": "^10.7.3",
|
|
95
95
|
"move-file": "^3.1.0",
|
|
96
96
|
"prettier": "^3.3.3",
|
|
97
97
|
"sinon": "^18.0.0",
|
package/src/browserless.ts
CHANGED
|
@@ -243,10 +243,7 @@ export class Browserless extends EventEmitter {
|
|
|
243
243
|
const hasDebugger = await this.config.hasDebugger();
|
|
244
244
|
const debuggerURL =
|
|
245
245
|
hasDebugger &&
|
|
246
|
-
makeExternalURL(
|
|
247
|
-
this.config.getExternalAddress(),
|
|
248
|
-
`/debugger/?token=${this.config.getToken()}`,
|
|
249
|
-
);
|
|
246
|
+
makeExternalURL(this.config.getExternalAddress(), `/debugger/?token=xxx`);
|
|
250
247
|
const docsLink = makeExternalURL(this.config.getExternalAddress(), '/docs');
|
|
251
248
|
|
|
252
249
|
this.logger.info(printLogo(docsLink, debuggerURL));
|
|
@@ -193,6 +193,12 @@ export class ChromiumCDP extends EventEmitter {
|
|
|
193
193
|
extensionLaunchArgs ? extensionLaunchArgs.split('=')[1] : null,
|
|
194
194
|
].filter((_) => !!_);
|
|
195
195
|
|
|
196
|
+
// Bypass the host we bind to so things like /function can work with proxies
|
|
197
|
+
if (options.args?.some((arg) => arg.includes('--proxy-server'))) {
|
|
198
|
+
const bypassList = [this.config.getHost()];
|
|
199
|
+
options.args.push(`--proxy-bypass-list=${bypassList.join(',')}`);
|
|
200
|
+
}
|
|
201
|
+
|
|
196
202
|
const finalOptions = {
|
|
197
203
|
...options,
|
|
198
204
|
args: [
|
package/src/config.ts
CHANGED
|
@@ -157,6 +157,9 @@ export class Config extends EventEmitter {
|
|
|
157
157
|
protected corsMethods =
|
|
158
158
|
process.env.CORS_ALLOW_METHODS ?? 'OPTIONS, POST, GET';
|
|
159
159
|
protected corsOrigin = process.env.CORS_ALLOW_ORIGIN ?? '*';
|
|
160
|
+
protected corsHeaders = process.env.CORS_ALLOW_HEADERS ?? '*';
|
|
161
|
+
protected corsCredentials = process.env.CORS_ALLOW_CREDENTIALS ?? 'true';
|
|
162
|
+
protected corsExposeHeaders = process.env.CORS_EXPOSE_HEADERS ?? '*';
|
|
160
163
|
protected corsMaxAge = +(process.env.CORS_MAX_AGE ?? '2592000');
|
|
161
164
|
protected maxCpu = +(process.env.MAX_CPU_PERCENT ?? '99');
|
|
162
165
|
protected maxMemory = +(process.env.MAX_MEMORY_PERCENT ?? '99');
|
|
@@ -526,13 +529,19 @@ export class Config extends EventEmitter {
|
|
|
526
529
|
* and `CORS_MAX_AGE`
|
|
527
530
|
*/
|
|
528
531
|
public getCORSHeaders(): {
|
|
532
|
+
'Access-Control-Allow-Credentials': string;
|
|
533
|
+
'Access-Control-Allow-Headers': string;
|
|
529
534
|
'Access-Control-Allow-Methods': string;
|
|
530
535
|
'Access-Control-Allow-Origin': string;
|
|
536
|
+
'Access-Control-Expose-Headers': string;
|
|
531
537
|
'Access-Control-Max-Age': number;
|
|
532
538
|
} {
|
|
533
539
|
return {
|
|
540
|
+
'Access-Control-Allow-Credentials': this.corsCredentials,
|
|
541
|
+
'Access-Control-Allow-Headers': this.corsHeaders,
|
|
534
542
|
'Access-Control-Allow-Methods': this.corsMethods,
|
|
535
543
|
'Access-Control-Allow-Origin': this.corsOrigin,
|
|
544
|
+
'Access-Control-Expose-Headers': this.corsExposeHeaders,
|
|
536
545
|
'Access-Control-Max-Age': this.corsMaxAge,
|
|
537
546
|
};
|
|
538
547
|
}
|
package/src/server.ts
CHANGED
|
@@ -55,9 +55,7 @@ export class HTTPServer extends EventEmitter {
|
|
|
55
55
|
this.port = config.getPort();
|
|
56
56
|
|
|
57
57
|
this.logger.info(
|
|
58
|
-
`Server instantiated with host "${this.host}" on port "${
|
|
59
|
-
this.port
|
|
60
|
-
}" using token "${this.config.getToken()}"`,
|
|
58
|
+
`Server instantiated with host "${this.host}" on port "${this.port}`,
|
|
61
59
|
);
|
|
62
60
|
}
|
|
63
61
|
|
package/static/docs/swagger.json
CHANGED
|
@@ -255,14 +255,14 @@
|
|
|
255
255
|
"length": {
|
|
256
256
|
"type": "number"
|
|
257
257
|
},
|
|
258
|
-
"__@toStringTag@
|
|
258
|
+
"__@toStringTag@11909": {
|
|
259
259
|
"type": "string",
|
|
260
260
|
"const": "Uint8Array"
|
|
261
261
|
}
|
|
262
262
|
},
|
|
263
263
|
"required": [
|
|
264
264
|
"BYTES_PER_ELEMENT",
|
|
265
|
-
"__@toStringTag@
|
|
265
|
+
"__@toStringTag@11909",
|
|
266
266
|
"buffer",
|
|
267
267
|
"byteLength",
|
|
268
268
|
"byteOffset",
|
|
@@ -297,13 +297,13 @@
|
|
|
297
297
|
"byteLength": {
|
|
298
298
|
"type": "number"
|
|
299
299
|
},
|
|
300
|
-
"__@toStringTag@
|
|
300
|
+
"__@toStringTag@11909": {
|
|
301
301
|
"type": "string"
|
|
302
302
|
}
|
|
303
303
|
},
|
|
304
304
|
"additionalProperties": false,
|
|
305
305
|
"required": [
|
|
306
|
-
"__@toStringTag@
|
|
306
|
+
"__@toStringTag@11909",
|
|
307
307
|
"byteLength"
|
|
308
308
|
]
|
|
309
309
|
},
|
|
@@ -313,18 +313,18 @@
|
|
|
313
313
|
"byteLength": {
|
|
314
314
|
"type": "number"
|
|
315
315
|
},
|
|
316
|
-
"__@species@
|
|
316
|
+
"__@species@11948": {
|
|
317
317
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
318
318
|
},
|
|
319
|
-
"__@toStringTag@
|
|
319
|
+
"__@toStringTag@11909": {
|
|
320
320
|
"type": "string",
|
|
321
321
|
"const": "SharedArrayBuffer"
|
|
322
322
|
}
|
|
323
323
|
},
|
|
324
324
|
"additionalProperties": false,
|
|
325
325
|
"required": [
|
|
326
|
-
"__@species@
|
|
327
|
-
"__@toStringTag@
|
|
326
|
+
"__@species@11948",
|
|
327
|
+
"__@toStringTag@11909",
|
|
328
328
|
"byteLength"
|
|
329
329
|
]
|
|
330
330
|
},
|
|
@@ -969,7 +969,7 @@
|
|
|
969
969
|
},
|
|
970
970
|
"info": {
|
|
971
971
|
"title": "Browserless",
|
|
972
|
-
"version": "2.
|
|
972
|
+
"version": "2.17.0-beta-2",
|
|
973
973
|
"x-logo": {
|
|
974
974
|
"altText": "browserless logo",
|
|
975
975
|
"url": "./docs/browserless-logo-inline.svg"
|
|
@@ -255,14 +255,14 @@
|
|
|
255
255
|
"length": {
|
|
256
256
|
"type": "number"
|
|
257
257
|
},
|
|
258
|
-
"__@toStringTag@
|
|
258
|
+
"__@toStringTag@11909": {
|
|
259
259
|
"type": "string",
|
|
260
260
|
"const": "Uint8Array"
|
|
261
261
|
}
|
|
262
262
|
},
|
|
263
263
|
"required": [
|
|
264
264
|
"BYTES_PER_ELEMENT",
|
|
265
|
-
"__@toStringTag@
|
|
265
|
+
"__@toStringTag@11909",
|
|
266
266
|
"buffer",
|
|
267
267
|
"byteLength",
|
|
268
268
|
"byteOffset",
|
|
@@ -297,13 +297,13 @@
|
|
|
297
297
|
"byteLength": {
|
|
298
298
|
"type": "number"
|
|
299
299
|
},
|
|
300
|
-
"__@toStringTag@
|
|
300
|
+
"__@toStringTag@11909": {
|
|
301
301
|
"type": "string"
|
|
302
302
|
}
|
|
303
303
|
},
|
|
304
304
|
"additionalProperties": false,
|
|
305
305
|
"required": [
|
|
306
|
-
"__@toStringTag@
|
|
306
|
+
"__@toStringTag@11909",
|
|
307
307
|
"byteLength"
|
|
308
308
|
]
|
|
309
309
|
},
|
|
@@ -313,18 +313,18 @@
|
|
|
313
313
|
"byteLength": {
|
|
314
314
|
"type": "number"
|
|
315
315
|
},
|
|
316
|
-
"__@species@
|
|
316
|
+
"__@species@11948": {
|
|
317
317
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
318
318
|
},
|
|
319
|
-
"__@toStringTag@
|
|
319
|
+
"__@toStringTag@11909": {
|
|
320
320
|
"type": "string",
|
|
321
321
|
"const": "SharedArrayBuffer"
|
|
322
322
|
}
|
|
323
323
|
},
|
|
324
324
|
"additionalProperties": false,
|
|
325
325
|
"required": [
|
|
326
|
-
"__@species@
|
|
327
|
-
"__@toStringTag@
|
|
326
|
+
"__@species@11948",
|
|
327
|
+
"__@toStringTag@11909",
|
|
328
328
|
"byteLength"
|
|
329
329
|
]
|
|
330
330
|
},
|
|
@@ -969,7 +969,7 @@
|
|
|
969
969
|
},
|
|
970
970
|
"info": {
|
|
971
971
|
"title": "Browserless",
|
|
972
|
-
"version": "2.
|
|
972
|
+
"version": "2.17.0-beta-2",
|
|
973
973
|
"x-logo": {
|
|
974
974
|
"altText": "browserless logo",
|
|
975
975
|
"url": "./docs/browserless-logo-inline.svg"
|