@prosopo/provider 5.16.0 → 5.17.1

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 (56) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +9 -9
  2. package/.turbo/turbo-build$colon$tsc.log +28 -28
  3. package/.turbo/turbo-build.log +9 -9
  4. package/CHANGELOG.md +74 -0
  5. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +1 -0
  6. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -1
  7. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js +7 -2
  8. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -1
  9. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  10. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +6 -5
  11. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  12. package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts +7 -2
  13. package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts.map +1 -1
  14. package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js +14 -4
  15. package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js.map +1 -1
  16. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
  17. package/dist/api/captcha/getPuzzleCaptchaChallenge.js +3 -1
  18. package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
  19. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs +6 -0
  20. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +4 -3
  21. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.cjs +14 -3
  22. package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +3 -1
  23. package/dist/cjs/tasks/captchaTypeSelection.cjs +10 -0
  24. package/dist/cjs/tasks/dnsEvent/enrichDnsEvent.cjs +4 -3
  25. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +14 -3
  26. package/dist/cjs/tasks/spam/checkTrafficFilter.cjs +8 -4
  27. package/dist/tasks/captchaTypeSelection.d.ts +1 -0
  28. package/dist/tasks/captchaTypeSelection.d.ts.map +1 -1
  29. package/dist/tasks/captchaTypeSelection.js +10 -1
  30. package/dist/tasks/captchaTypeSelection.js.map +1 -1
  31. package/dist/tasks/dnsEvent/enrichDnsEvent.d.ts.map +1 -1
  32. package/dist/tasks/dnsEvent/enrichDnsEvent.js +5 -4
  33. package/dist/tasks/dnsEvent/enrichDnsEvent.js.map +1 -1
  34. package/dist/tasks/frictionless/frictionlessTasks.d.ts +2 -0
  35. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  36. package/dist/tasks/frictionless/frictionlessTasks.js +15 -4
  37. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  38. package/dist/tasks/spam/checkTrafficFilter.d.ts +1 -0
  39. package/dist/tasks/spam/checkTrafficFilter.d.ts.map +1 -1
  40. package/dist/tasks/spam/checkTrafficFilter.js +8 -5
  41. package/dist/tasks/spam/checkTrafficFilter.js.map +1 -1
  42. package/dist/tests/integration/clientSettingsPersistence.integration.test.js +2 -0
  43. package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
  44. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js +29 -3
  45. package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js.map +1 -1
  46. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +53 -0
  47. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
  48. package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js +17 -1
  49. package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js.map +1 -1
  50. package/dist/tests/unit/tasks/dnsEvent/enrichDnsEvent.unit.test.js +30 -0
  51. package/dist/tests/unit/tasks/dnsEvent/enrichDnsEvent.unit.test.js.map +1 -1
  52. package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js +26 -1
  53. package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js.map +1 -1
  54. package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.js +67 -2
  55. package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.js.map +1 -1
  56. package/package.json +29 -29
@@ -1,3 +1,4 @@
1
+ import { CaptchaType } from "@prosopo/types";
1
2
  //#region src/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.ts
2
3
  /**
3
4
  * Work out where a refresh sits in its chain from the session it replaced.
@@ -11,10 +12,19 @@ var resolveRefreshLineage = async (db, refreshOf, siteKey, now) => {
11
12
  const replaced = await db.getSessionRecordBySessionId(refreshOf);
12
13
  if (!replaced || replaced.siteKey !== siteKey) return void 0;
13
14
  return {
14
- refreshOf,
15
- refreshCount: (replaced.refreshCount ?? 0) + 1,
16
- refreshedAfterMs: Math.max(0, now.getTime() - new Date(replaced.createdAt).getTime())
15
+ lineage: {
16
+ refreshOf,
17
+ refreshCount: (replaced.refreshCount ?? 0) + 1,
18
+ refreshedAfterMs: Math.max(0, now.getTime() - new Date(replaced.createdAt).getTime())
19
+ },
20
+ replacedCaptchaType: replaced.captchaType
17
21
  };
18
22
  };
23
+ /**
24
+ * Whether to honour the user's request to swap their puzzle for an image
25
+ * challenge: the request must be a genuine refresh of a puzzle session on
26
+ * this site, and the site must have the switch enabled.
27
+ */
28
+ var isImageSwitchRequestValid = (switchToImage, refresh, switchEnabled) => true === switchToImage && switchEnabled && CaptchaType.puzzle === refresh?.replacedCaptchaType;
19
29
  //#endregion
20
- export { resolveRefreshLineage };
30
+ export { isImageSwitchRequestValid, resolveRefreshLineage };
@@ -1 +1 @@
1
- {"version":3,"file":"refreshLineage.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.ts"],"names":[],"mappings":"AA4BA,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACzC,EAA0D,EAC1D,SAA6B,EAC7B,OAAe,EACf,GAAS,EAC6B,EAAE;IACxC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO;QACN,SAAS;QACT,YAAY,EAAE,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC;QAC9C,gBAAgB,EAAE,IAAI,CAAC,GAAG,CACzB,CAAC,EACD,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CACtD;KACD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"refreshLineage.js","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAgB,MAAM,gBAAgB,CAAC;AAmB3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACzC,EAA0D,EAC1D,SAA6B,EAC7B,OAAe,EACf,GAAS,EAC8B,EAAE;IACzC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO;QACN,OAAO,EAAE;YACR,SAAS;YACT,YAAY,EAAE,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC;YAC9C,gBAAgB,EAAE,IAAI,CAAC,GAAG,CACzB,CAAC,EACD,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CACtD;SACD;QACD,mBAAmB,EAAE,QAAQ,CAAC,WAAW;KACzC,CAAC;AACH,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,aAAkC,EAClC,OAAoC,EACpC,aAAsB,EACZ,EAAE,CACZ,IAAI,KAAK,aAAa;IACtB,aAAa;IACb,WAAW,CAAC,MAAM,KAAK,OAAO,EAAE,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPuzzleCaptchaChallenge.d.ts","sourceRoot":"","sources":["../../../src/api/captcha/getPuzzleCaptchaChallenge.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;8BAuJhE,mBAAmB,0BACA,kBAAkB;AAF3C,wBAUI"}
1
+ {"version":3,"file":"getPuzzleCaptchaChallenge.d.ts","sourceRoot":"","sources":["../../../src/api/captcha/getPuzzleCaptchaChallenge.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;8BA2JhE,mBAAmB,0BACA,kBAAkB;AAF3C,wBAUI"}
@@ -1,6 +1,7 @@
1
1
  import { renderPuzzleImages, resolvePuzzlePieceSize, resolvePuzzleRenderSettings } from "../../tasks/puzzle/puzzleRenderer.js";
2
2
  import { interactiveChallengeHandler } from "./interactiveCaptchaChallenge.js";
3
3
  import { buildPuzzleMaintenanceResponse } from "./maintenanceModeResponses.js";
4
+ import { isPuzzleImageSwitchAvailable } from "./getFrictionlessCaptchaChallenge/constants.js";
4
5
  import { ApiParams, CaptchaType } from "@prosopo/types";
5
6
  import { DEFAULT_GEOMETRY } from "@prosopo/puzzle-assets";
6
7
  //#region src/api/captcha/getPuzzleCaptchaChallenge.ts
@@ -54,7 +55,8 @@ var issuePuzzleChallenge = async ({ tasks, user, dapp, origin, clientSettings, s
54
55
  [ApiParams.originX]: challenge.originX,
55
56
  [ApiParams.originY]: challenge.originY,
56
57
  [ApiParams.timestamp]: challenge.requestedAtTimestamp.toString(),
57
- [ApiParams.signature]: { [ApiParams.provider]: { [ApiParams.challenge]: challenge.providerSignature } }
58
+ [ApiParams.signature]: { [ApiParams.provider]: { [ApiParams.challenge]: challenge.providerSignature } },
59
+ ...isPuzzleImageSwitchAvailable(clientSettings?.settings ?? {}) && { [ApiParams.imageSwitchAvailable]: true }
58
60
  }
59
61
  };
60
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getPuzzleCaptchaChallenge.js","sourceRoot":"","sources":["../../../src/api/captcha/getPuzzleCaptchaChallenge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPuzzleCaptchaChallenge.js","sourceRoot":"","sources":["../../../src/api/captcha/getPuzzleCaptchaChallenge.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,11 @@ var resolveSiteAllowedCaptchaTypes = (settings) => (0, _prosopo_types.resolveAll
22
22
  ...(!settings.captchaType || settings.captchaType === _prosopo_types.CaptchaType.frictionless) && { frictionlessTypes: settings.frictionlessTypes }
23
23
  });
24
24
  /**
25
+ * Whether a user on this site may swap a puzzle for an image challenge: the
26
+ * switch is on and the site may be served image challenges at all.
27
+ */
28
+ var isPuzzleImageSwitchAvailable = (settings) => (0, _prosopo_types.isWidgetFeatureEnabled)("puzzleImageSwitch", settings.widgetFeatureFlags) && resolveSiteAllowedCaptchaTypes(settings).image;
29
+ /**
25
30
  * Size an image challenge by how much was actually found. `base` is the
26
31
  * sitekey's ordinary image round count; each triggered signal adds a round,
27
32
  * capped by `MAX_DETECTOR_EXTRA_IMAGE_ROUNDS`. A session with nothing
@@ -32,5 +37,6 @@ var resolveSiteAllowedCaptchaTypes = (settings) => (0, _prosopo_types.resolveAll
32
37
  var getRoundsFromTriggeredDetectors = (base, triggeredDetectors) => base + Math.min(triggeredDetectors?.length ?? 0, 6);
33
38
  //#endregion
34
39
  exports.getRoundsFromTriggeredDetectors = getRoundsFromTriggeredDetectors;
40
+ exports.isPuzzleImageSwitchAvailable = isPuzzleImageSwitchAvailable;
35
41
  exports.resolveScoreLadder = resolveScoreLadder;
36
42
  exports.resolveSiteAllowedCaptchaTypes = resolveSiteAllowedCaptchaTypes;
@@ -41,7 +41,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
41
41
  }
42
42
  }));
43
43
  });
44
- const { token, headHash, dapp, user, mode, simdReadings, detectorSessionId, currentUrl: reportedCurrentUrl, iframeUrl: reportedIframeUrl, clientSessionId, refreshOf } = _prosopo_types.GetFrictionlessCaptchaChallengeRequestBody.parse(req.body);
44
+ const { token, headHash, dapp, user, mode, simdReadings, detectorSessionId, currentUrl: reportedCurrentUrl, iframeUrl: reportedIframeUrl, clientSessionId, refreshOf, switchToImage } = _prosopo_types.GetFrictionlessCaptchaChallengeRequestBody.parse(req.body);
45
45
  const currentUrl = (0, _prosopo_util.sanitisePageUrl)(reportedCurrentUrl);
46
46
  const iframeUrl = (0, _prosopo_util.sanitisePageUrl)(reportedIframeUrl);
47
47
  const isProtect = (0, _prosopo_util.isProtectDeployment)(currentUrl, iframeUrl);
@@ -238,6 +238,8 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
238
238
  ...req.chelloToHandshakeUs !== void 0 && { chelloToHandshakeUs: req.chelloToHandshakeUs },
239
239
  ...require_rawTlsSignalsMiddleware.rawTlsSignalsForSession(req)
240
240
  };
241
+ const refresh = await require_refreshLineage.resolveRefreshLineage(tasks.db, refreshOf, dapp, /* @__PURE__ */ new Date());
242
+ tasks.frictionlessManager.setImageSwitchRequested(require_refreshLineage.isImageSwitchRequestValid(switchToImage, refresh, require_constants.isPuzzleImageSwitchAvailable(clientRecord.settings)));
241
243
  const shortCircuitResponse = await require_shortCircuit.runConfiguredCaptchaTypeShortCircuit(shortCircuitInput, res);
242
244
  if (shortCircuitResponse) return shortCircuitResponse;
243
245
  const emptyPoolResponse = await require_shortCircuit.runEmptyDetectorPoolPowFallback(shortCircuitInput, res);
@@ -316,7 +318,6 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
316
318
  ...triggeredDetectors && triggeredDetectors.length > 0 && { triggeredDetectors },
317
319
  ...shadowDomPenalty !== void 0 && { shadowDomPenalty }
318
320
  };
319
- const refreshLineage = await require_refreshLineage.resolveRefreshLineage(tasks.db, refreshOf, dapp, /* @__PURE__ */ new Date());
320
321
  tasks.frictionlessManager.setSessionParams({
321
322
  token: sessionToken,
322
323
  score: botScore,
@@ -337,7 +338,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
337
338
  ...decodedSimdReadings && { simdReadings: decodedSimdReadings },
338
339
  ...d !== void 0 && { d },
339
340
  ...clientSessionId && { clientMetaData: { clientSessionId } },
340
- ...refreshLineage,
341
+ ...refresh?.lineage,
341
342
  ...req.tcpToChelloUs !== void 0 && { tcpToChelloUs: req.tcpToChelloUs },
342
343
  ...req.chelloToHandshakeUs !== void 0 && { chelloToHandshakeUs: req.chelloToHandshakeUs },
343
344
  ...require_rawTlsSignalsMiddleware.rawTlsSignalsForSession(req)
@@ -1,3 +1,4 @@
1
+ let _prosopo_types = require("@prosopo/types");
1
2
  //#region src/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.ts
2
3
  /**
3
4
  * Work out where a refresh sits in its chain from the session it replaced.
@@ -11,10 +12,20 @@ var resolveRefreshLineage = async (db, refreshOf, siteKey, now) => {
11
12
  const replaced = await db.getSessionRecordBySessionId(refreshOf);
12
13
  if (!replaced || replaced.siteKey !== siteKey) return void 0;
13
14
  return {
14
- refreshOf,
15
- refreshCount: (replaced.refreshCount ?? 0) + 1,
16
- refreshedAfterMs: Math.max(0, now.getTime() - new Date(replaced.createdAt).getTime())
15
+ lineage: {
16
+ refreshOf,
17
+ refreshCount: (replaced.refreshCount ?? 0) + 1,
18
+ refreshedAfterMs: Math.max(0, now.getTime() - new Date(replaced.createdAt).getTime())
19
+ },
20
+ replacedCaptchaType: replaced.captchaType
17
21
  };
18
22
  };
23
+ /**
24
+ * Whether to honour the user's request to swap their puzzle for an image
25
+ * challenge: the request must be a genuine refresh of a puzzle session on
26
+ * this site, and the site must have the switch enabled.
27
+ */
28
+ var isImageSwitchRequestValid = (switchToImage, refresh, switchEnabled) => true === switchToImage && switchEnabled && _prosopo_types.CaptchaType.puzzle === refresh?.replacedCaptchaType;
19
29
  //#endregion
30
+ exports.isImageSwitchRequestValid = isImageSwitchRequestValid;
20
31
  exports.resolveRefreshLineage = resolveRefreshLineage;
@@ -1,6 +1,7 @@
1
1
  const require_puzzleRenderer = require("../../tasks/puzzle/puzzleRenderer.cjs");
2
2
  const require_interactiveCaptchaChallenge = require("./interactiveCaptchaChallenge.cjs");
3
3
  const require_maintenanceModeResponses = require("./maintenanceModeResponses.cjs");
4
+ const require_constants = require("./getFrictionlessCaptchaChallenge/constants.cjs");
4
5
  let _prosopo_types = require("@prosopo/types");
5
6
  let _prosopo_puzzle_assets = require("@prosopo/puzzle-assets");
6
7
  //#region src/api/captcha/getPuzzleCaptchaChallenge.ts
@@ -54,7 +55,8 @@ var issuePuzzleChallenge = async ({ tasks, user, dapp, origin, clientSettings, s
54
55
  [_prosopo_types.ApiParams.originX]: challenge.originX,
55
56
  [_prosopo_types.ApiParams.originY]: challenge.originY,
56
57
  [_prosopo_types.ApiParams.timestamp]: challenge.requestedAtTimestamp.toString(),
57
- [_prosopo_types.ApiParams.signature]: { [_prosopo_types.ApiParams.provider]: { [_prosopo_types.ApiParams.challenge]: challenge.providerSignature } }
58
+ [_prosopo_types.ApiParams.signature]: { [_prosopo_types.ApiParams.provider]: { [_prosopo_types.ApiParams.challenge]: challenge.providerSignature } },
59
+ ...require_constants.isPuzzleImageSwitchAvailable(clientSettings?.settings ?? {}) && { [_prosopo_types.ApiParams.imageSwitchAvailable]: true }
58
60
  }
59
61
  };
60
62
  };
@@ -76,6 +76,16 @@ var coerceToEnabledCaptchaType = (requested, allowedTypes, logger) => {
76
76
  * turned off is exactly what `coerceToEnabledCaptchaType` exists to stop.
77
77
  */
78
78
  var switchTypeAfterRefreshes = (resolved, refreshCount, allowedTypes) => _prosopo_types.CaptchaType.puzzle === resolved && (refreshCount ?? 0) >= 3 && (0, _prosopo_types.resolveFrictionlessTypes)(allowedTypes).image ? _prosopo_types.CaptchaType.image : resolved;
79
+ /**
80
+ * Swap a puzzle for an image challenge because the user asked for one.
81
+ *
82
+ * Same one-way rule as `switchTypeAfterRefreshes`: the request is
83
+ * client-reported, so it may only ever earn a harder challenge. Whatever the
84
+ * routing settled on other than a puzzle stands, and so does a site that may
85
+ * not be served image challenges.
86
+ */
87
+ var switchTypeOnUserRequest = (resolved, switchToImage, allowedTypes) => _prosopo_types.CaptchaType.puzzle === resolved && true === switchToImage && (0, _prosopo_types.resolveFrictionlessTypes)(allowedTypes).image ? _prosopo_types.CaptchaType.image : resolved;
79
88
  //#endregion
80
89
  exports.coerceToEnabledCaptchaType = coerceToEnabledCaptchaType;
81
90
  exports.switchTypeAfterRefreshes = switchTypeAfterRefreshes;
91
+ exports.switchTypeOnUserRequest = switchTypeOnUserRequest;
@@ -66,8 +66,9 @@ var extraIpInfosFromEnrichedDnsEvent = (enriched) => {
66
66
  *
67
67
  * `pathValid` is a protocol signal, not a category — it always contributes
68
68
  * regardless of trafficFilter. When `trafficFilter` is omitted, all
69
- * datacenter / abuser flags count (preserves the pre-gating behaviour for
70
- * admin / diagnostic recompute callers).
69
+ * datacenter / abuser flags count except iCloud Private Relay's datacenter
70
+ * flag (preserves the pre-gating behaviour for admin / diagnostic recompute
71
+ * callers).
71
72
  */
72
73
  var computeDnsAsymmetry = (enriched, clientIpInfo, trafficFilter) => {
73
74
  if (!enriched) return 0;
@@ -75,7 +76,7 @@ var computeDnsAsymmetry = (enriched, clientIpInfo, trafficFilter) => {
75
76
  if (enriched.pathValid === false) score += .3;
76
77
  const countDc = (ip) => {
77
78
  if (!ip?.isValid || !ip.isDatacenter) return false;
78
- if (!trafficFilter) return true;
79
+ if (!trafficFilter) return !require_checkTrafficFilter.isPrivateRelay(ip);
79
80
  if (trafficFilter.datacenter === void 0) return false;
80
81
  if (require_checkTrafficFilter.isDatacenterDenylisted(ip, trafficFilter.datacenterNameDenylist)) return true;
81
82
  if (ip.isVPN && trafficFilter.vpn === void 0 || ip.isProxy && trafficFilter.proxy === void 0 || ip.isTor && trafficFilter.tor === void 0 || ip.isCrawler && trafficFilter.crawler === void 0) return false;
@@ -23,6 +23,7 @@ var FrictionlessManager = class extends require_captchaManager.CaptchaManager {
23
23
  constructor(db, pair, config, logger, writeQueue, decisionMachineRunner, usageCounters) {
24
24
  super(db, pair, config, logger, writeQueue);
25
25
  this.audioAlternativeEnabled = false;
26
+ this.imageSwitchRequested = false;
26
27
  this.config = config;
27
28
  this.decisionMachineRunner = decisionMachineRunner ?? new require_decisionMachineRunner.DecisionMachineRunner(db);
28
29
  this.usageCounters = usageCounters ?? null;
@@ -49,6 +50,14 @@ var FrictionlessManager = class extends require_captchaManager.CaptchaManager {
49
50
  this.allowedCaptchaTypes = allowed;
50
51
  }
51
52
  /**
53
+ * Record that the user asked to swap their puzzle for an image challenge.
54
+ * Only call this once the request has been checked as a refresh of a
55
+ * puzzle on a site with the switch enabled.
56
+ */
57
+ setImageSwitchRequested(requested) {
58
+ this.imageSwitchRequested = requested;
59
+ }
60
+ /**
52
61
  * Evaluate the configured routing machine without going through
53
62
  * `sendCaptcha`. Returns the supplied baseline on any failure (no machine,
54
63
  * machine throws, counter fetch failure), matching applyRouter's contract.
@@ -259,13 +268,15 @@ var FrictionlessManager = class extends require_captchaManager.CaptchaManager {
259
268
  };
260
269
  const routed = this.routingContext ? await require_routingMachine.applyRouter(this.decisionMachineRunner, this.usageCounters, baseline, this.routingContext, this.logger) : baseline;
261
270
  const enabledCaptchaType = require_captchaTypeSelection.coerceToEnabledCaptchaType(routed.captchaType, this.allowedCaptchaTypes, this.logger);
262
- const finalCaptchaType = require_captchaTypeSelection.switchTypeAfterRefreshes(enabledCaptchaType, effectiveParams.refreshCount, this.allowedCaptchaTypes);
263
- const switchedByRefreshes = finalCaptchaType !== enabledCaptchaType;
271
+ const userSwitchedCaptchaType = require_captchaTypeSelection.switchTypeOnUserRequest(enabledCaptchaType, this.imageSwitchRequested, this.allowedCaptchaTypes);
272
+ const switchedByUser = userSwitchedCaptchaType !== enabledCaptchaType;
273
+ const finalCaptchaType = require_captchaTypeSelection.switchTypeAfterRefreshes(userSwitchedCaptchaType, effectiveParams.refreshCount, this.allowedCaptchaTypes);
274
+ const switchedByRefreshes = finalCaptchaType !== userSwitchedCaptchaType;
264
275
  const requestedSolvedImagesCount = routed.solvedImagesCount ?? effectiveParams.solvedImagesCount;
265
276
  const imageRoundsBounds = this.routingContext ?? {};
266
277
  const finalSolvedImagesCount = finalCaptchaType === _prosopo_types.CaptchaType.image ? requestedSolvedImagesCount !== void 0 ? (0, _prosopo_types.clampImageRounds)(requestedSolvedImagesCount, imageRoundsBounds) : requestedSolvedImagesCount : void 0;
267
278
  const finalPowDifficulty = finalCaptchaType === _prosopo_types.CaptchaType.pow ? routed.powDifficulty ?? effectiveParams.powDifficulty : void 0;
268
- const finalReason = switchedByRefreshes ? _prosopo_types.FrictionlessReason.PUZZLE_REFRESH_LIMIT : routed.reason ?? effectiveParams.reason;
279
+ const finalReason = switchedByUser ? _prosopo_types.FrictionlessReason.PUZZLE_USER_SWITCH : switchedByRefreshes ? _prosopo_types.FrictionlessReason.PUZZLE_REFRESH_LIMIT : routed.reason ?? effectiveParams.reason;
269
280
  const finalPuzzleOverrides = finalCaptchaType === _prosopo_types.CaptchaType.puzzle ? (() => {
270
281
  const maxLevel = (0, _prosopo_captcha_severity.resolveMaxEscalationLevel)(this.routingContext?.puzzleMaxDifficulty ?? _prosopo_types.puzzleMaxDifficultyDefault, this.routingContext?.platform.isMobile ?? false);
271
282
  const level = finalReason !== void 0 && _prosopo_types.NO_MEASUREMENT_REASONS.has(finalReason) ? 0 : (0, _prosopo_captcha_severity.severityToPuzzleDifficulty)(requestedSolvedImagesCount, this.routingContext?.baseImageRounds ?? this.config.captchas.solved.count, maxLevel);
@@ -27,7 +27,9 @@ var matchesDatacenterNameList = (ipInfo, list) => {
27
27
  const normalisedList = list.map((entry) => entry.trim().toLowerCase());
28
28
  return candidates.some((c) => normalisedList.includes(c));
29
29
  };
30
- var isDatacenterAllowlisted = (ipInfo, allowlist) => matchesDatacenterNameList(ipInfo, allowlist);
30
+ var DEFAULT_DATACENTER_ALLOWLIST = ["iCloud Private Relay"];
31
+ var isPrivateRelay = (ipInfo) => matchesDatacenterNameList(ipInfo, DEFAULT_DATACENTER_ALLOWLIST);
32
+ var isDatacenterAllowlisted = (ipInfo, allowlist) => isPrivateRelay(ipInfo) || matchesDatacenterNameList(ipInfo, allowlist);
31
33
  var isDatacenterDenylisted = (ipInfo, denylist) => matchesDatacenterNameList(ipInfo, denylist);
32
34
  var isEffectivelyDatacenter = (ipInfo, trafficFilter) => {
33
35
  if (!ipInfo.isDatacenter) return false;
@@ -59,6 +61,7 @@ var evaluateIpInfo = (ipInfo, trafficFilter, isDnsExtra = false) => {
59
61
  push(matches, "datacenter", trafficFilter.datacenter);
60
62
  return matches;
61
63
  }
64
+ if (ipInfo.isDatacenter && isPrivateRelay(ipInfo)) return matches;
62
65
  if (ipInfo.isAbuser) {
63
66
  const threshold = trafficFilter.abuserScoreThreshold ?? _prosopo_types.trafficFilterAbuserScoreThresholdDefault;
64
67
  if (Math.max(ipInfo.abuserScore ?? 0, ipInfo.companyAbuserScore ?? 0) >= threshold) {
@@ -103,9 +106,9 @@ var evaluateIpInfo = (ipInfo, trafficFilter, isDnsExtra = false) => {
103
106
  * crawlers.
104
107
  *
105
108
  * Datacenter name lists: `datacenterNameAllowlist` lets operators opt named
106
- * consumer relays (e.g. iCloud Private Relay) out of the datacenter rule;
107
- * `datacenterNameDenylist` opts named providers back in even when the ISP
108
- * heuristic would exempt them.
109
+ * consumer relays out of the datacenter rule (iCloud Private Relay is out by
110
+ * default); `datacenterNameDenylist` opts named providers back in, including
111
+ * iCloud Private Relay, and even when the ISP heuristic would exempt them.
109
112
  *
110
113
  * When `trafficFilter.skipExtrasOnValidDnsPath` is on and the catcher
111
114
  * confirmed the DNS path matched the connection path (`pathValid: true`),
@@ -198,5 +201,6 @@ exports.checkTrafficFilter = checkTrafficFilter;
198
201
  exports.isDatacenterAllowlisted = isDatacenterAllowlisted;
199
202
  exports.isDatacenterDenylisted = isDatacenterDenylisted;
200
203
  exports.isEffectivelyDatacenter = isEffectivelyDatacenter;
204
+ exports.isPrivateRelay = isPrivateRelay;
201
205
  exports.resolveChallengePolicy = resolveChallengePolicy;
202
206
  exports.resolvePadBytes = resolvePadBytes;
@@ -4,4 +4,5 @@ export type ConcreteCaptchaType = CaptchaType.pow | CaptchaType.image | CaptchaT
4
4
  export declare const coerceToEnabledCaptchaType: (requested: ConcreteCaptchaType, allowedTypes: Partial<IFrictionlessTypes> | undefined, logger?: Logger) => ConcreteCaptchaType;
5
5
  export declare const PUZZLE_REFRESHES_BEFORE_IMAGE = 3;
6
6
  export declare const switchTypeAfterRefreshes: (resolved: ConcreteCaptchaType, refreshCount: number | undefined, allowedTypes: Partial<IFrictionlessTypes> | undefined) => ConcreteCaptchaType;
7
+ export declare const switchTypeOnUserRequest: (resolved: ConcreteCaptchaType, switchToImage: boolean | undefined, allowedTypes: Partial<IFrictionlessTypes> | undefined) => ConcreteCaptchaType;
7
8
  //# sourceMappingURL=captchaTypeSelection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"captchaTypeSelection.d.ts","sourceRoot":"","sources":["../../src/tasks/captchaTypeSelection.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,WAAW,EACX,KAAK,kBAAkB,EAGvB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,MAAM,mBAAmB,GAC5B,WAAW,CAAC,GAAG,GACf,WAAW,CAAC,KAAK,GACjB,WAAW,CAAC,MAAM,GAClB,WAAW,CAAC,SAAS,CAAC;AA4BzB,eAAO,MAAM,0BAA0B,cAC3B,mBAAmB,gBAChB,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,WAC5C,MAAM,KACb,mBAiDF,CAAC;AAMF,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAiB/C,eAAO,MAAM,wBAAwB,aAC1B,mBAAmB,gBACf,MAAM,GAAG,SAAS,gBAClB,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,KACnD,mBAKS,CAAC"}
1
+ {"version":3,"file":"captchaTypeSelection.d.ts","sourceRoot":"","sources":["../../src/tasks/captchaTypeSelection.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,WAAW,EACX,KAAK,kBAAkB,EAGvB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,MAAM,mBAAmB,GAC5B,WAAW,CAAC,GAAG,GACf,WAAW,CAAC,KAAK,GACjB,WAAW,CAAC,MAAM,GAClB,WAAW,CAAC,SAAS,CAAC;AA4BzB,eAAO,MAAM,0BAA0B,cAC3B,mBAAmB,gBAChB,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,WAC5C,MAAM,KACb,mBAiDF,CAAC;AAMF,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAiB/C,eAAO,MAAM,wBAAwB,aAC1B,mBAAmB,gBACf,MAAM,GAAG,SAAS,gBAClB,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,KACnD,mBAKS,CAAC;AAUb,eAAO,MAAM,uBAAuB,aACzB,mBAAmB,iBACd,OAAO,GAAG,SAAS,gBACpB,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,KACnD,mBAKS,CAAC"}
@@ -76,5 +76,14 @@ var coerceToEnabledCaptchaType = (requested, allowedTypes, logger) => {
76
76
  * turned off is exactly what `coerceToEnabledCaptchaType` exists to stop.
77
77
  */
78
78
  var switchTypeAfterRefreshes = (resolved, refreshCount, allowedTypes) => CaptchaType.puzzle === resolved && (refreshCount ?? 0) >= 3 && resolveFrictionlessTypes(allowedTypes).image ? CaptchaType.image : resolved;
79
+ /**
80
+ * Swap a puzzle for an image challenge because the user asked for one.
81
+ *
82
+ * Same one-way rule as `switchTypeAfterRefreshes`: the request is
83
+ * client-reported, so it may only ever earn a harder challenge. Whatever the
84
+ * routing settled on other than a puzzle stands, and so does a site that may
85
+ * not be served image challenges.
86
+ */
87
+ var switchTypeOnUserRequest = (resolved, switchToImage, allowedTypes) => CaptchaType.puzzle === resolved && true === switchToImage && resolveFrictionlessTypes(allowedTypes).image ? CaptchaType.image : resolved;
79
88
  //#endregion
80
- export { coerceToEnabledCaptchaType, switchTypeAfterRefreshes };
89
+ export { coerceToEnabledCaptchaType, switchTypeAfterRefreshes, switchTypeOnUserRequest };
@@ -1 +1 @@
1
- {"version":3,"file":"captchaTypeSelection.js","sourceRoot":"","sources":["../../src/tasks/captchaTypeSelection.ts"],"names":[],"mappings":"AAeA,OAAO,EACN,WAAW,EAEX,0BAA0B,EAC1B,wBAAwB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAmCrE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,SAA8B,EAC9B,YAAqD,EACrD,MAAe,EACO,EAAE;IACxB,MAAM,KAAK,GAAG,YAAY;QACzB,CAAC,CAAC,wBAAwB,CAAC,YAAY,CAAC;QACxC,CAAC,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAKzC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,IAAI,uBAAuB,EAAE,CAAC;IAChE,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC;IAEzC,MAAM,QAAQ,GAAG,CAAC,GAAwB,EAAE;QAC3C,QAAQ,SAAS,EAAE,CAAC;YACnB,KAAK,WAAW,CAAC,GAAG;gBAGnB,OAAO,WAAW,CAAC,GAAG,CAAC;YACxB,KAAK,WAAW,CAAC,MAAM;gBACtB,IAAI,aAAa;oBAAE,OAAO,WAAW,CAAC,MAAM,CAAC;gBAC7C,OAAO,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;YAC3D,KAAK,WAAW,CAAC,KAAK;gBACrB,IAAI,YAAY;oBAAE,OAAO,WAAW,CAAC,KAAK,CAAC;gBAC3C,OAAO,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;YAI7D,KAAK,WAAW,CAAC,SAAS;gBACzB,IAAI,gBAAgB;oBAAE,OAAO,WAAW,CAAC,SAAS,CAAC;gBACnD,IAAI,aAAa;oBAAE,OAAO,WAAW,CAAC,MAAM,CAAC;gBAC7C,OAAO,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;QAC5D,CAAC;IACF,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACnB,GAAG,EAAE,yCAAyC;YAC9C,IAAI,EAAE;gBACL,SAAS;gBACT,MAAM,EAAE,QAAQ;gBAChB,YAAY,EAAE,KAAK,CAAC,KAAK;gBACzB,aAAa,EAAE,KAAK,CAAC,MAAM;gBAC3B,gBAAgB,EAAE,uBAAuB,EAAE;gBAC3C,gBAAgB,EAAE,KAAK,CAAC,SAAS;aACjC;SACD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAiB/C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,QAA6B,EAC7B,YAAgC,EAChC,YAAqD,EAC/B,EAAE,CACxB,WAAW,CAAC,MAAM,KAAK,QAAQ;IAC/B,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,6BAA6B;IACpD,wBAAwB,CAAC,YAAY,CAAC,CAAC,KAAK;IAC3C,CAAC,CAAC,WAAW,CAAC,KAAK;IACnB,CAAC,CAAC,QAAQ,CAAC"}
1
+ {"version":3,"file":"captchaTypeSelection.js","sourceRoot":"","sources":["../../src/tasks/captchaTypeSelection.ts"],"names":[],"mappings":"AAeA,OAAO,EACN,WAAW,EAEX,0BAA0B,EAC1B,wBAAwB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAmCrE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,SAA8B,EAC9B,YAAqD,EACrD,MAAe,EACO,EAAE;IACxB,MAAM,KAAK,GAAG,YAAY;QACzB,CAAC,CAAC,wBAAwB,CAAC,YAAY,CAAC;QACxC,CAAC,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAKzC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,IAAI,uBAAuB,EAAE,CAAC;IAChE,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC;IAEzC,MAAM,QAAQ,GAAG,CAAC,GAAwB,EAAE;QAC3C,QAAQ,SAAS,EAAE,CAAC;YACnB,KAAK,WAAW,CAAC,GAAG;gBAGnB,OAAO,WAAW,CAAC,GAAG,CAAC;YACxB,KAAK,WAAW,CAAC,MAAM;gBACtB,IAAI,aAAa;oBAAE,OAAO,WAAW,CAAC,MAAM,CAAC;gBAC7C,OAAO,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;YAC3D,KAAK,WAAW,CAAC,KAAK;gBACrB,IAAI,YAAY;oBAAE,OAAO,WAAW,CAAC,KAAK,CAAC;gBAC3C,OAAO,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;YAI7D,KAAK,WAAW,CAAC,SAAS;gBACzB,IAAI,gBAAgB;oBAAE,OAAO,WAAW,CAAC,SAAS,CAAC;gBACnD,IAAI,aAAa;oBAAE,OAAO,WAAW,CAAC,MAAM,CAAC;gBAC7C,OAAO,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;QAC5D,CAAC;IACF,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACnB,GAAG,EAAE,yCAAyC;YAC9C,IAAI,EAAE;gBACL,SAAS;gBACT,MAAM,EAAE,QAAQ;gBAChB,YAAY,EAAE,KAAK,CAAC,KAAK;gBACzB,aAAa,EAAE,KAAK,CAAC,MAAM;gBAC3B,gBAAgB,EAAE,uBAAuB,EAAE;gBAC3C,gBAAgB,EAAE,KAAK,CAAC,SAAS;aACjC;SACD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAiB/C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,QAA6B,EAC7B,YAAgC,EAChC,YAAqD,EAC/B,EAAE,CACxB,WAAW,CAAC,MAAM,KAAK,QAAQ;IAC/B,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,6BAA6B;IACpD,wBAAwB,CAAC,YAAY,CAAC,CAAC,KAAK;IAC3C,CAAC,CAAC,WAAW,CAAC,KAAK;IACnB,CAAC,CAAC,QAAQ,CAAC;AAUb,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACtC,QAA6B,EAC7B,aAAkC,EAClC,YAAqD,EAC/B,EAAE,CACxB,WAAW,CAAC,MAAM,KAAK,QAAQ;IAC/B,IAAI,KAAK,aAAa;IACtB,wBAAwB,CAAC,YAAY,CAAC,CAAC,KAAK;IAC3C,CAAC,CAAC,WAAW,CAAC,KAAK;IACnB,CAAC,CAAC,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"enrichDnsEvent.d.ts","sourceRoot":"","sources":["../../../src/tasks/dnsEvent/enrichDnsEvent.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EACX,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,OAAO,EACP,MAAM,gBAAgB,CAAC;AAOxB,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,eAAO,MAAM,cAAc,aAChB,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,iBAC1B,cAAc,cACjB,MAAM,KAChB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CA8BtC,CAAC;AAEF,eAAO,MAAM,YAAY,SAClB,cAAc,GAAG,SAAS,KAC9B,MAAM,GAAG,SAAyD,CAAC;AAEtE,eAAO,MAAM,gCAAgC,aAClC,gBAAgB,GAAG,SAAS,KACpC,cAAc,EAMhB,CAAC;AAmCF,eAAO,MAAM,mBAAmB,aACrB,gBAAgB,GAAG,SAAS,gBACxB,cAAc,GAAG,SAAS,kBACxB,OAAO,CAAC,cAAc,CAAC,KACrC,MAwDF,CAAC"}
1
+ {"version":3,"file":"enrichDnsEvent.d.ts","sourceRoot":"","sources":["../../../src/tasks/dnsEvent/enrichDnsEvent.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EACX,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,OAAO,EACP,MAAM,gBAAgB,CAAC;AAQxB,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,eAAO,MAAM,cAAc,aAChB,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,iBAC1B,cAAc,cACjB,MAAM,KAChB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CA8BtC,CAAC;AAEF,eAAO,MAAM,YAAY,SAClB,cAAc,GAAG,SAAS,KAC9B,MAAM,GAAG,SAAyD,CAAC;AAEtE,eAAO,MAAM,gCAAgC,aAClC,gBAAgB,GAAG,SAAS,KACpC,cAAc,EAMhB,CAAC;AAoCF,eAAO,MAAM,mBAAmB,aACrB,gBAAgB,GAAG,SAAS,gBACxB,cAAc,GAAG,SAAS,kBACxB,OAAO,CAAC,cAAc,CAAC,KACrC,MA0DF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { isDatacenterAllowlisted, isDatacenterDenylisted } from "../spam/checkTrafficFilter.js";
1
+ import { isDatacenterAllowlisted, isDatacenterDenylisted, isPrivateRelay } from "../spam/checkTrafficFilter.js";
2
2
  import { trafficFilterAbuserScoreThresholdDefault } from "@prosopo/types";
3
3
  //#region src/tasks/dnsEvent/enrichDnsEvent.ts
4
4
  var enrichDnsEvent = async (dnsEvent, ipInfoService, primaryIp) => {
@@ -66,8 +66,9 @@ var extraIpInfosFromEnrichedDnsEvent = (enriched) => {
66
66
  *
67
67
  * `pathValid` is a protocol signal, not a category — it always contributes
68
68
  * regardless of trafficFilter. When `trafficFilter` is omitted, all
69
- * datacenter / abuser flags count (preserves the pre-gating behaviour for
70
- * admin / diagnostic recompute callers).
69
+ * datacenter / abuser flags count except iCloud Private Relay's datacenter
70
+ * flag (preserves the pre-gating behaviour for admin / diagnostic recompute
71
+ * callers).
71
72
  */
72
73
  var computeDnsAsymmetry = (enriched, clientIpInfo, trafficFilter) => {
73
74
  if (!enriched) return 0;
@@ -75,7 +76,7 @@ var computeDnsAsymmetry = (enriched, clientIpInfo, trafficFilter) => {
75
76
  if (enriched.pathValid === false) score += .3;
76
77
  const countDc = (ip) => {
77
78
  if (!ip?.isValid || !ip.isDatacenter) return false;
78
- if (!trafficFilter) return true;
79
+ if (!trafficFilter) return !isPrivateRelay(ip);
79
80
  if (trafficFilter.datacenter === void 0) return false;
80
81
  if (isDatacenterDenylisted(ip, trafficFilter.datacenterNameDenylist)) return true;
81
82
  if (ip.isVPN && trafficFilter.vpn === void 0 || ip.isProxy && trafficFilter.proxy === void 0 || ip.isTor && trafficFilter.tor === void 0 || ip.isCrawler && trafficFilter.crawler === void 0) return false;
@@ -1 +1 @@
1
- {"version":3,"file":"enrichDnsEvent.js","sourceRoot":"","sources":["../../../src/tasks/dnsEvent/enrichDnsEvent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enrichDnsEvent.js","sourceRoot":"","sources":["../../../src/tasks/dnsEvent/enrichDnsEvent.ts"],"names":[],"mappings":"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"}
@@ -19,12 +19,14 @@ export declare class FrictionlessManager extends CaptchaManager {
19
19
  private routingContext?;
20
20
  private audioAlternativeEnabled;
21
21
  private allowedCaptchaTypes?;
22
+ private imageSwitchRequested;
22
23
  private readonly decisionMachineRunner;
23
24
  private readonly usageCounters;
24
25
  constructor(db: IProviderDatabase, pair: KeyringPair, config: ProsopoConfigOutput, logger?: Logger, writeQueue?: import("@prosopo/database").RedisWriteQueue | null, decisionMachineRunner?: DecisionMachineRunner, usageCounters?: UsageCounters | null);
25
26
  setRoutingContext(ctx: RoutingContext): void;
26
27
  setAudioAlternativeEnabled(enabled: boolean): void;
27
28
  setAllowedCaptchaTypes(allowed: IFrictionlessTypes): void;
29
+ setImageSwitchRequested(requested: boolean): void;
28
30
  applyRoutingMachine(baseline: RoutingMachineBaseline, ctx: RoutingContext): Promise<RoutingMachineOutput>;
29
31
  setSessionParams(params: Omit<Session, "sessionId" | "createdAt" | "captchaType">): void;
30
32
  setMatchedRule(matchedRule: Session["matchedRule"]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"frictionlessTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/frictionless/frictionlessTasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frictionlessTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/frictionless/frictionlessTasks.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { CaptchaManager } from "../captchaManager.js";
6
6
  import { DecisionMachineRunner } from "../decisionMachine/decisionMachineRunner.js";
7
7
  import { buildDnsEventUrl } from "../../api/dnsEventUrl.js";
8
8
  import { checkLangRules } from "../../rules/lang.js";
9
- import { coerceToEnabledCaptchaType, switchTypeAfterRefreshes } from "../captchaTypeSelection.js";
9
+ import { coerceToEnabledCaptchaType, switchTypeAfterRefreshes, switchTypeOnUserRequest } from "../captchaTypeSelection.js";
10
10
  import { getBotScore } from "../detection/getBotScore.js";
11
11
  import { samplePuzzleDifficulty } from "../puzzle/puzzleDifficulty.js";
12
12
  import { ipMatchesSession } from "./ipMatch.js";
@@ -23,6 +23,7 @@ var FrictionlessManager = class extends CaptchaManager {
23
23
  constructor(db, pair, config, logger, writeQueue, decisionMachineRunner, usageCounters) {
24
24
  super(db, pair, config, logger, writeQueue);
25
25
  this.audioAlternativeEnabled = false;
26
+ this.imageSwitchRequested = false;
26
27
  this.config = config;
27
28
  this.decisionMachineRunner = decisionMachineRunner ?? new DecisionMachineRunner(db);
28
29
  this.usageCounters = usageCounters ?? null;
@@ -49,6 +50,14 @@ var FrictionlessManager = class extends CaptchaManager {
49
50
  this.allowedCaptchaTypes = allowed;
50
51
  }
51
52
  /**
53
+ * Record that the user asked to swap their puzzle for an image challenge.
54
+ * Only call this once the request has been checked as a refresh of a
55
+ * puzzle on a site with the switch enabled.
56
+ */
57
+ setImageSwitchRequested(requested) {
58
+ this.imageSwitchRequested = requested;
59
+ }
60
+ /**
52
61
  * Evaluate the configured routing machine without going through
53
62
  * `sendCaptcha`. Returns the supplied baseline on any failure (no machine,
54
63
  * machine throws, counter fetch failure), matching applyRouter's contract.
@@ -259,13 +268,15 @@ var FrictionlessManager = class extends CaptchaManager {
259
268
  };
260
269
  const routed = this.routingContext ? await applyRouter(this.decisionMachineRunner, this.usageCounters, baseline, this.routingContext, this.logger) : baseline;
261
270
  const enabledCaptchaType = coerceToEnabledCaptchaType(routed.captchaType, this.allowedCaptchaTypes, this.logger);
262
- const finalCaptchaType = switchTypeAfterRefreshes(enabledCaptchaType, effectiveParams.refreshCount, this.allowedCaptchaTypes);
263
- const switchedByRefreshes = finalCaptchaType !== enabledCaptchaType;
271
+ const userSwitchedCaptchaType = switchTypeOnUserRequest(enabledCaptchaType, this.imageSwitchRequested, this.allowedCaptchaTypes);
272
+ const switchedByUser = userSwitchedCaptchaType !== enabledCaptchaType;
273
+ const finalCaptchaType = switchTypeAfterRefreshes(userSwitchedCaptchaType, effectiveParams.refreshCount, this.allowedCaptchaTypes);
274
+ const switchedByRefreshes = finalCaptchaType !== userSwitchedCaptchaType;
264
275
  const requestedSolvedImagesCount = routed.solvedImagesCount ?? effectiveParams.solvedImagesCount;
265
276
  const imageRoundsBounds = this.routingContext ?? {};
266
277
  const finalSolvedImagesCount = finalCaptchaType === CaptchaType.image ? requestedSolvedImagesCount !== void 0 ? clampImageRounds(requestedSolvedImagesCount, imageRoundsBounds) : requestedSolvedImagesCount : void 0;
267
278
  const finalPowDifficulty = finalCaptchaType === CaptchaType.pow ? routed.powDifficulty ?? effectiveParams.powDifficulty : void 0;
268
- const finalReason = switchedByRefreshes ? FrictionlessReason$1.PUZZLE_REFRESH_LIMIT : routed.reason ?? effectiveParams.reason;
279
+ const finalReason = switchedByUser ? FrictionlessReason$1.PUZZLE_USER_SWITCH : switchedByRefreshes ? FrictionlessReason$1.PUZZLE_REFRESH_LIMIT : routed.reason ?? effectiveParams.reason;
269
280
  const finalPuzzleOverrides = finalCaptchaType === CaptchaType.puzzle ? (() => {
270
281
  const maxLevel = resolveMaxEscalationLevel(this.routingContext?.puzzleMaxDifficulty ?? puzzleMaxDifficultyDefault, this.routingContext?.platform.isMobile ?? false);
271
282
  const level = finalReason !== void 0 && NO_MEASUREMENT_REASONS.has(finalReason) ? 0 : severityToPuzzleDifficulty(requestedSolvedImagesCount, this.routingContext?.baseImageRounds ?? this.config.captchas.solved.count, maxLevel);
@@ -1 +1 @@
1
- {"version":3,"file":"frictionlessTasks.js","sourceRoot":"","sources":["../../../src/tasks/frictionless/frictionlessTasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frictionlessTasks.js","sourceRoot":"","sources":["../../../src/tasks/frictionless/frictionlessTasks.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export type TrafficCheckResult = {
15
15
  matches: TrafficFilterMatch[];
16
16
  };
17
17
  export declare const categoryToReason: (category: TrafficCategory) => TrafficBlockReason;
18
+ export declare const isPrivateRelay: (ipInfo: IPInfoResult) => boolean;
18
19
  export declare const isDatacenterAllowlisted: (ipInfo: IPInfoResult, allowlist: ReadonlyArray<string> | undefined) => boolean;
19
20
  export declare const isDatacenterDenylisted: (ipInfo: IPInfoResult, denylist: ReadonlyArray<string> | undefined) => boolean;
20
21
  export declare const isEffectivelyDatacenter: (ipInfo: IPInfoResult, trafficFilter: Partial<ITrafficFilter>) => boolean;