@browserless.io/browserless 2.31.0 → 2.31.1-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.
Files changed (138) hide show
  1. package/build/browserless.d.ts +1 -1
  2. package/build/browserless.js +20 -17
  3. package/build/routes/chrome/http/scrape.post.body.json +8 -8
  4. package/build/routes/chromium/http/content.post.body.json +8 -8
  5. package/build/routes/chromium/http/pdf.post.body.json +8 -8
  6. package/build/routes/chromium/http/scrape.post.body.json +8 -8
  7. package/build/routes/chromium/http/screenshot.post.body.json +8 -8
  8. package/build/routes/edge/http/content.post.body.json +8 -8
  9. package/build/routes/edge/http/pdf.post.body.json +8 -8
  10. package/build/routes/edge/http/scrape.post.body.json +8 -8
  11. package/build/routes/edge/http/screenshot.post.body.json +8 -8
  12. package/extensions/ublocklite/_locales/ar/messages.json +1 -1
  13. package/extensions/ublocklite/_locales/cs/messages.json +9 -9
  14. package/extensions/ublocklite/_locales/gl/messages.json +3 -3
  15. package/extensions/ublocklite/_locales/ka/messages.json +9 -9
  16. package/extensions/ublocklite/_locales/sq/messages.json +4 -4
  17. package/extensions/ublocklite/_locales/zh_CN/messages.json +2 -2
  18. package/extensions/ublocklite/js/background.js +7 -0
  19. package/extensions/ublocklite/js/report.js +6 -1
  20. package/extensions/ublocklite/js/ruleset-manager.js +4 -3
  21. package/extensions/ublocklite/js/scripting-manager.js +2 -2
  22. package/extensions/ublocklite/lib/codemirror/cm6.bundle.ubol.min.js +1 -1
  23. package/extensions/ublocklite/manifest.json +1 -1
  24. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +6 -3
  25. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +4 -3
  26. package/extensions/ublocklite/rulesets/main/chn-0.json +7 -7
  27. package/extensions/ublocklite/rulesets/main/cze-0.json +1 -1
  28. package/extensions/ublocklite/rulesets/main/deu-0.json +2 -3
  29. package/extensions/ublocklite/rulesets/main/easylist.json +8 -3
  30. package/extensions/ublocklite/rulesets/main/easyprivacy.json +11 -3
  31. package/extensions/ublocklite/rulesets/main/ind-0.json +6 -1
  32. package/extensions/ublocklite/rulesets/main/jpn-1.json +12 -8
  33. package/extensions/ublocklite/rulesets/main/kor-1.json +1 -0
  34. package/extensions/ublocklite/rulesets/main/nor-0.json +1 -7
  35. package/extensions/ublocklite/rulesets/main/rus-0.json +1 -2
  36. package/extensions/ublocklite/rulesets/main/rus-1.json +1 -1
  37. package/extensions/ublocklite/rulesets/main/spa-1.json +3 -1
  38. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +1526 -73
  39. package/extensions/ublocklite/rulesets/main/swe-1.json +6 -5
  40. package/extensions/ublocklite/rulesets/main/ublock-badware.json +0 -2
  41. package/extensions/ublocklite/rulesets/main/ublock-filters.json +9 -10
  42. package/extensions/ublocklite/rulesets/main/ukr-0.json +1 -1
  43. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +69 -155
  44. package/extensions/ublocklite/rulesets/main/vie-1.json +7 -7
  45. package/extensions/ublocklite/rulesets/modify-headers/chn-0.json +4 -0
  46. package/extensions/ublocklite/rulesets/redirect/ublock-filters.json +1 -1
  47. package/extensions/ublocklite/rulesets/regex/deu-0.json +0 -1
  48. package/extensions/ublocklite/rulesets/regex/easylist.json +1 -1
  49. package/extensions/ublocklite/rulesets/regex/nor-0.json +0 -14
  50. package/extensions/ublocklite/rulesets/ruleset-details.json +98 -98
  51. package/extensions/ublocklite/rulesets/scripting/declarative/adguard-mobile.js +3 -3
  52. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-cookies.js +3 -3
  53. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-overlays.js +3 -3
  54. package/extensions/ublocklite/rulesets/scripting/declarative/cze-0.js +3 -3
  55. package/extensions/ublocklite/rulesets/scripting/declarative/jpn-1.js +3 -3
  56. package/extensions/ublocklite/rulesets/scripting/declarative/rus-0.js +1 -1
  57. package/extensions/ublocklite/rulesets/scripting/declarative/rus-1.js +3 -3
  58. package/extensions/ublocklite/rulesets/scripting/declarative/swe-1.js +3 -3
  59. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +1 -1
  60. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +1 -1
  61. package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +1 -1
  62. package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +2 -2
  63. package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +1 -1
  64. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +2 -2
  65. package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +3 -0
  66. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  67. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  68. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +1 -1
  69. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  70. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  71. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +2 -2
  72. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  73. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
  74. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-node-text.js +1 -1
  75. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.set-constant.js +2 -2
  76. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +2 -2
  77. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +1 -1
  78. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +3 -3
  79. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +2 -2
  80. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +1 -1
  81. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +2 -2
  82. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.abort-current-script.js +1 -1
  83. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  84. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +1 -1
  85. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +1 -1
  86. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +1 -1
  87. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.nowebrtc.js +1 -1
  88. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +2 -2
  89. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +3 -3
  90. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +2 -2
  91. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +1 -1
  92. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  93. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-local-storage-item.js +1 -1
  94. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +2 -2
  95. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-constant.js +2 -2
  96. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +2 -2
  97. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  98. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +1 -1
  99. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  100. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  101. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  102. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  103. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  104. package/extensions/ublocklite/rulesets/scripting/specific/cze-0.js +3 -3
  105. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  106. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  107. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  108. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  109. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  110. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  111. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  112. package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
  113. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  114. package/extensions/ublocklite/rulesets/scripting/specific/spa-0.js +3 -3
  115. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  116. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  117. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  118. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  119. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +2 -2
  120. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  121. package/extensions/ublocklite/rulesets/scriptlet-details.json +55 -56
  122. package/extensions/ublocklite/rulesets/strictblock/annoyances-widgets.json +1 -0
  123. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +24 -0
  124. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  125. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +6 -1
  126. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +5 -5
  127. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +1526 -73
  128. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +1 -2
  129. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +23 -24
  130. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +1 -1
  131. package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +4 -0
  132. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +69 -155
  133. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +2 -0
  134. package/extensions/ublocklite/ublock.zip +0 -0
  135. package/package.json +1 -1
  136. package/src/browserless.ts +38 -32
  137. package/static/docs/swagger.json +1 -1
  138. package/static/docs/swagger.min.json +1 -1
@@ -19,6 +19,7 @@
19
19
  "aj1047.online",
20
20
  "aj2393.online",
21
21
  "ajsc.yodimedia.com",
22
+ "aker.ajjkmozrreov.top",
22
23
  "amcdn.vn",
23
24
  "api.adfly.vn",
24
25
  "apinas.nct.vn",
@@ -68,6 +69,7 @@
68
69
  "syphonseity.com",
69
70
  "tags.fly-ads.net",
70
71
  "tags.native-ad.net",
72
+ "urgerrebasis.com",
71
73
  "ut.uranininnage.com",
72
74
  "v9banners.com",
73
75
  "vads.net.vn",
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@browserless.io/browserless",
3
- "version": "2.31.0",
3
+ "version": "2.31.1-beta-2",
4
4
  "license": "SSPL",
5
5
  "description": "The browserless platform",
6
6
  "author": "browserless.io",
@@ -42,6 +42,7 @@ const routeSchemas = ['body', 'query'];
42
42
 
43
43
  const isArm64 = process.arch === 'arm64';
44
44
  const isMacOS = process.platform === 'darwin';
45
+ const unavailableARM64Browsers = ['edge', 'chrome'];
45
46
 
46
47
  type Implements<T> = {
47
48
  new (...args: unknown[]): T;
@@ -129,7 +130,7 @@ export class Browserless extends EventEmitter {
129
130
 
130
131
  // Filter out routes that are not able to work on the arm64 architecture
131
132
  // and log a message as to why that is (can't run Chrome on non-apple arm64)
132
- protected filterRoutes(
133
+ protected filterNonMacArm64Browsers(
133
134
  route:
134
135
  | HTTPRoute
135
136
  | BrowserHTTPRoute
@@ -141,10 +142,12 @@ export class Browserless extends EventEmitter {
141
142
  !isMacOS &&
142
143
  'browser' in route &&
143
144
  route.browser &&
144
- route.browser.name.toLowerCase().includes('chrome')
145
+ unavailableARM64Browsers.some((b) =>
146
+ route.browser.name.toLowerCase().includes(b),
147
+ )
145
148
  ) {
146
149
  this.logger.warn(
147
- `Ignoring route "${route.path}" because it is not supported on arm64 platforms (route requires browser "Chrome").`,
150
+ `Ignoring route "${route.path}" because it is not supported on arm64 platforms (route requires browser "${route.browser.name}").`,
148
151
  );
149
152
  return false;
150
153
  }
@@ -379,40 +382,43 @@ export class Browserless extends EventEmitter {
379
382
  }
380
383
  }
381
384
 
382
- const allRoutes = [...httpRoutes, ...wsRoutes];
385
+ const allRoutes: [
386
+ (HTTPRoute | BrowserHTTPRoute)[],
387
+ (WebSocketRoute | BrowserWebsocketRoute)[],
388
+ ] = [
389
+ [...httpRoutes].filter((r) => this.filterNonMacArm64Browsers(r)),
390
+ [...wsRoutes].filter((r) => this.filterNonMacArm64Browsers(r)),
391
+ ];
392
+
383
393
  // Validate that we have the browsers they are asking for
384
- allRoutes.forEach((route) => {
385
- if (
386
- 'browser' in route &&
387
- route.browser &&
388
- internalBrowsers.includes(route.browser) &&
389
- !installedBrowsers.some((b) => b.name === route.browser?.name)
390
- ) {
391
- throw new Error(
392
- dedent(`Couldn't load route "${route.path}" due to missing browser binary for "${route.browser?.name}".
394
+ allRoutes
395
+ .flat()
396
+ .map((route) => {
397
+ if (
398
+ 'browser' in route &&
399
+ route.browser &&
400
+ internalBrowsers.includes(route.browser) &&
401
+ !installedBrowsers.some((b) => b.name === route.browser?.name)
402
+ ) {
403
+ throw new Error(
404
+ dedent(`Couldn't load route "${route.path}" due to missing browser binary for "${route.browser?.name}".
393
405
  Installed Browsers: ${installedBrowsers.map((b) => b.name).join(', ')}`),
394
- );
395
- }
396
- });
397
-
398
- const duplicateNamedRoutes = allRoutes
406
+ );
407
+ }
408
+ return route;
409
+ })
399
410
  .filter((e, i, a) => a.findIndex((r) => r.name === e.name) !== i)
400
- .map((r) => r.name);
401
-
402
- if (duplicateNamedRoutes.length) {
403
- this.logger.warn(
404
- `Found duplicate routing names. Route names must be unique:`,
405
- duplicateNamedRoutes,
406
- );
407
- }
411
+ .map((r) => r.name)
412
+ .forEach((name) => {
413
+ this.logger.warn(
414
+ `Found duplicate routing names. Route names must be unique: ${name}`,
415
+ );
416
+ });
408
417
 
409
- httpRoutes
410
- .filter((r) => this.filterRoutes(r))
411
- .forEach((r) => this.router.registerHTTPRoute(r));
418
+ const [filteredHTTPRoutes, filteredWSRoutes] = allRoutes;
412
419
 
413
- wsRoutes
414
- .filter((r) => this.filterRoutes(r))
415
- .forEach((r) => this.router.registerWebSocketRoute(r));
420
+ filteredHTTPRoutes.forEach((r) => this.router.registerHTTPRoute(r));
421
+ filteredWSRoutes.forEach((r) => this.router.registerWebSocketRoute(r));
416
422
 
417
423
  this.logger.info(
418
424
  `Imported and validated all route files, starting up server.`,
@@ -1014,7 +1014,7 @@
1014
1014
  },
1015
1015
  "info": {
1016
1016
  "title": "Browserless",
1017
- "version": "2.31.0",
1017
+ "version": "2.31.1-beta-2",
1018
1018
  "x-logo": {
1019
1019
  "altText": "browserless logo",
1020
1020
  "url": "./docs/browserless-logo-inline.svg"
@@ -1014,7 +1014,7 @@
1014
1014
  },
1015
1015
  "info": {
1016
1016
  "title": "Browserless",
1017
- "version": "2.31.0",
1017
+ "version": "2.31.1-beta-2",
1018
1018
  "x-logo": {
1019
1019
  "altText": "browserless logo",
1020
1020
  "url": "./docs/browserless-logo-inline.svg"