@prosopo/provider 5.17.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.
@@ -171,7 +171,7 @@ dist/cjs/api/captcha/maintenanceModeResponses.cjs 4
171
171
  dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs 4.56 kB │ gzip: 1.07 kB
172
172
  dist/cjs/pairs.cjs 4.64 kB │ gzip: 1.61 kB
173
173
  dist/cjs/tasks/captchaTypeSelection.cjs 4.75 kB │ gzip: 1.75 kB
174
- dist/cjs/tasks/dnsEvent/enrichDnsEvent.cjs 4.84 kB │ gzip: 1.74 kB
174
+ dist/cjs/tasks/dnsEvent/enrichDnsEvent.cjs 4.93 kB │ gzip: 1.78 kB
175
175
  dist/cjs/index.cjs 5.02 kB │ gzip: 1.05 kB
176
176
  dist/cjs/tasks/detection/decoderPool.cjs 5.47 kB │ gzip: 2.06 kB
177
177
  dist/cjs/api/captcha.cjs 5.63 kB │ gzip: 1.52 kB
@@ -181,7 +181,7 @@ dist/cjs/api/rawTlsSignalsMiddleware.cjs 6
181
181
  dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs 6.92 kB │ gzip: 1.94 kB
182
182
  dist/cjs/api/healthzGeo.cjs 7.03 kB │ gzip: 2.70 kB
183
183
  dist/cjs/api/captcha/getImageCaptchaChallenge.cjs 7.47 kB │ gzip: 2.09 kB
184
- dist/cjs/tasks/spam/checkTrafficFilter.cjs 8.52 kB │ gzip: 2.78 kB
184
+ dist/cjs/tasks/spam/checkTrafficFilter.cjs 8.86 kB │ gzip: 2.87 kB
185
185
  dist/cjs/tasks/detection/bundlePool.cjs 9.29 kB │ gzip: 3.38 kB
186
186
  dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs 9.33 kB │ gzip: 2.76 kB
187
187
  dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs 10.33 kB │ gzip: 1.82 kB
@@ -199,7 +199,7 @@ dist/cjs/tasks/powCaptcha/powTasks.cjs 25
199
199
  dist/cjs/tasks/captchaManager.cjs 26.25 kB │ gzip: 7.65 kB
200
200
  dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs 28.74 kB │ gzip: 6.51 kB
201
201
 
202
- ✓ built in 206ms
202
+ ✓ built in 211ms
203
203
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeBehavior.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodeBehavior.js
204
204
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodePayload.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodePayload.js
205
205
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeSimd.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodeSimd.js
@@ -1,5 +1,5 @@
1
1
  $ tsc --build --verbose
2
- 11:34:22 AM - Projects in this build:
2
+ 4:45:06 PM - Projects in this build:
3
3
  * ../../dev/config/tsconfig.json
4
4
  * ../util/tsconfig.json
5
5
  * ../locale/tsconfig.json
@@ -27,57 +27,57 @@ $ tsc --build --verbose
27
27
  * ../web-bot-auth/tsconfig.json
28
28
  * tsconfig.json
29
29
 
30
- 11:34:22 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
30
+ 4:45:06 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
31
31
 
32
- 11:34:22 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
32
+ 4:45:06 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
33
33
 
34
- 11:34:22 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
34
+ 4:45:06 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
35
35
 
36
- 11:34:22 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
36
+ 4:45:06 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
37
37
 
38
- 11:34:22 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
38
+ 4:45:06 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
39
39
 
40
- 11:34:22 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/tests/apiHarness.ts' is older than output '../api/tsconfig.tsbuildinfo'
40
+ 4:45:06 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
41
41
 
42
- 11:34:22 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
42
+ 4:45:06 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/logger.ts' is older than output '../logger/tsconfig.tsbuildinfo'
43
43
 
44
- 11:34:22 AM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/tests/apiRoute.unit.test.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
44
+ 4:45:06 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
45
45
 
46
- 11:34:22 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/error.ts' is older than output '../common/tsconfig.tsbuildinfo'
46
+ 4:45:06 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
47
47
 
48
- 11:34:22 AM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
48
+ 4:45:06 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
49
49
 
50
- 11:34:22 AM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
50
+ 4:45:06 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
51
51
 
52
- 11:34:22 AM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
52
+ 4:45:06 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
53
53
 
54
- 11:34:22 AM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
54
+ 4:45:06 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
55
55
 
56
- 11:34:22 AM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/unit/captchaLabel.unit.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
56
+ 4:45:06 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/unit/captchaLabel.unit.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
57
57
 
58
- 11:34:22 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/pair/decode.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
58
+ 4:45:06 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.test.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
59
59
 
60
- 11:34:23 AM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/tests/typesEnv.test-d.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
60
+ 4:45:06 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/tests/typesEnv.test-d.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
61
61
 
62
- 11:34:23 AM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
62
+ 4:45:06 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/index.ts' is older than output '../env/tsconfig.tsbuildinfo'
63
63
 
64
- 11:34:23 AM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/tests/unit/testDoubles.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
64
+ 4:45:06 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/tests/unit/apiExpressRouterFactory.unit.test.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
65
65
 
66
- 11:34:23 AM - Project '../puzzle-assets/tsconfig.json' is up to date because newest input '../puzzle-assets/src/browser.ts' is older than output '../puzzle-assets/tsconfig.tsbuildinfo'
66
+ 4:45:06 PM - Project '../puzzle-assets/tsconfig.json' is up to date because newest input '../puzzle-assets/src/background.ts' is older than output '../puzzle-assets/tsconfig.tsbuildinfo'
67
67
 
68
- 11:34:23 AM - Project '../audio-assets/tsconfig.json' is up to date because newest input '../audio-assets/src/distort.ts' is older than output '../audio-assets/tsconfig.tsbuildinfo'
68
+ 4:45:06 PM - Project '../audio-assets/tsconfig.json' is up to date because newest input '../audio-assets/src/distort.ts' is older than output '../audio-assets/tsconfig.tsbuildinfo'
69
69
 
70
- 11:34:23 AM - Project '../captcha-severity/tsconfig.json' is up to date because newest input '../captcha-severity/src/index.test.ts' is older than output '../captcha-severity/tsconfig.tsbuildinfo'
70
+ 4:45:06 PM - Project '../captcha-severity/tsconfig.json' is up to date because newest input '../captcha-severity/src/index.test.ts' is older than output '../captcha-severity/tsconfig.tsbuildinfo'
71
71
 
72
- 11:34:23 AM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
72
+ 4:45:06 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/tests/mocks/data/captchas.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
73
73
 
74
- 11:34:23 AM - Project '../icon-order-assets/tsconfig.json' is up to date because newest input '../icon-order-assets/src/background.ts' is older than output '../icon-order-assets/tsconfig.tsbuildinfo'
74
+ 4:45:06 PM - Project '../icon-order-assets/tsconfig.json' is up to date because newest input '../icon-order-assets/src/background.ts' is older than output '../icon-order-assets/tsconfig.tsbuildinfo'
75
75
 
76
- 11:34:23 AM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
76
+ 4:45:06 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/tests/productionProviderList.unit.test.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
77
77
 
78
- 11:34:23 AM - Project '../web-bot-auth/tsconfig.json' is up to date because newest input '../web-bot-auth/src/verify.ts' is older than output '../web-bot-auth/tsconfig.tsbuildinfo'
78
+ 4:45:06 PM - Project '../web-bot-auth/tsconfig.json' is up to date because newest input '../web-bot-auth/src/verify.ts' is older than output '../web-bot-auth/tsconfig.tsbuildinfo'
79
79
 
80
- 11:34:23 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
80
+ 4:45:06 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
81
81
 
82
- 11:34:23 AM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
82
+ 4:45:06 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
83
83
 
@@ -173,7 +173,7 @@ dist/api/hardBlockVerdictCache.js 4.26 k
173
173
  dist/pairs.js 4.27 kB │ gzip: 1.57 kB
174
174
  dist/tasks/captchaTypeSelection.js 4.30 kB │ gzip: 1.72 kB
175
175
  dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js 4.35 kB │ gzip: 1.07 kB
176
- dist/tasks/dnsEvent/enrichDnsEvent.js 4.71 kB │ gzip: 1.72 kB
176
+ dist/tasks/dnsEvent/enrichDnsEvent.js 4.79 kB │ gzip: 1.76 kB
177
177
  dist/api/captcha.js 5.02 kB │ gzip: 1.44 kB
178
178
  dist/tasks/detection/decoderPool.js 5.34 kB │ gzip: 2.02 kB
179
179
  dist/api/captcha/interactiveCaptchaChallenge.js 5.47 kB │ gzip: 1.77 kB
@@ -182,7 +182,7 @@ dist/api/rawTlsSignalsMiddleware.js 6.25 k
182
182
  dist/api/captcha/getPoWCaptchaChallenge.js 6.25 kB │ gzip: 1.88 kB
183
183
  dist/api/captcha/getImageCaptchaChallenge.js 6.69 kB │ gzip: 2.03 kB
184
184
  dist/api/healthzGeo.js 6.86 kB │ gzip: 2.68 kB
185
- dist/tasks/spam/checkTrafficFilter.js 8.17 kB │ gzip: 2.75 kB
185
+ dist/tasks/spam/checkTrafficFilter.js 8.49 kB │ gzip: 2.84 kB
186
186
  dist/api/captcha/submitPoWCaptchaSolution.js 8.72 kB │ gzip: 2.71 kB
187
187
  dist/tasks/detection/bundlePool.js 8.86 kB │ gzip: 3.34 kB
188
188
  dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js 9.36 kB │ gzip: 1.80 kB
@@ -200,7 +200,7 @@ dist/tasks/powCaptcha/powTasks.js 24.47 k
200
200
  dist/tasks/captchaManager.js 25.68 kB │ gzip: 7.58 kB
201
201
  dist/tasks/imgCaptcha/imgCaptchaTasks.js 27.18 kB │ gzip: 6.46 kB
202
202
 
203
- ✓ built in 231ms
203
+ ✓ built in 225ms
204
204
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeBehavior.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodeBehavior.js
205
205
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodePayload.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodePayload.js
206
206
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeSimd.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodeSimd.js
package/CHANGELOG.md CHANGED
@@ -1,5 +1,50 @@
1
1
  # @prosopo/provider
2
2
 
3
+ ## 5.17.1
4
+ ### Patch Changes
5
+
6
+ - 1f36456: Roll up the open Dependabot updates: 25 minor and patch bumps, sharp 0.35.5, pbkdf2 3.1.7, smoldot 3.6.0, and two GitHub Actions bumps.
7
+
8
+ Babel moves to 8. Its plugins and babel-loader move with it, because Babel 8 refuses to load v7 plugins. The import-attributes syntax plugin is gone: Babel 8 parses `with { type: "json" }` by default. The unused `@rollup/plugin-babel` is removed.
9
+
10
+ `@polkadot/types` and `@polkadot/types-codec` move to 17.0.2. Without that, `@polkadot/extension-*` 0.64 pulls in a second copy of the types and the widget packages stop typechecking.
11
+ - 0e02b4b: Let iCloud Private Relay users through the datacenter traffic-filter rule by default.
12
+
13
+ Relay sends Safari users on iPhone, iPad and Mac out through Apple's partner CDN servers, so ipinfo flags them as datacenter, and a site that blocked or challenged datacenter traffic caught every relay user. Each relay IP is shared by many real people. Relay is now treated as if it were on every site's `datacenterNameAllowlist`, both for the visitor's own IP and for the DNS-path check. A site that wants relay treated as datacenter traffic again adds "iCloud Private Relay" to `datacenterNameDenylist`, which already wins over the allowlist.
14
+
15
+ A relay IP that passes the datacenter rule also skips the lower categories (abuser, crawler, satellite, mobile). Its abuser score belongs to the shared CDN server, and every site has an abuser block at submit. Without this, letting relay through the datacenter rule would have exposed relay users to that block, which the datacenter step used to stop them reaching. Relay IPs that ipinfo also flags as VPN, proxy or Tor are still caught by those rules.
16
+
17
+ The DNS-asymmetry score stored when a DNS event arrives was worked out without the site's filter, and the verify-time recompute only ever raises it. Relay resolvers now count as clean there too, so a relay session no longer carries a datacenter-resolver penalty into its frictionless score.
18
+ - Updated dependencies [1f36456]
19
+ - Updated dependencies [0e02b4b]
20
+ - @prosopo/database@4.2.2
21
+ - @prosopo/icon-order-assets@0.2.1
22
+ - @prosopo/native-ja4@0.0.8
23
+ - @prosopo/native-merkle@0.0.7
24
+ - @prosopo/native-puzzle@0.1.1
25
+ - @prosopo/puzzle-assets@0.2.2
26
+ - @prosopo/redis-client@1.0.41
27
+ - @prosopo/types@5.15.1
28
+ - @prosopo/types-database@5.10.1
29
+ - @prosopo/user-access-policy@3.14.18
30
+ - @prosopo/util@3.3.15
31
+ - @prosopo/api@4.6.1
32
+ - @prosopo/api-express-router@3.2.4
33
+ - @prosopo/api-route@2.6.64
34
+ - @prosopo/audio-assets@0.2.1
35
+ - @prosopo/captcha-severity@1.3.0
36
+ - @prosopo/common@3.1.65
37
+ - @prosopo/datasets@3.2.4
38
+ - @prosopo/env@3.6.72
39
+ - @prosopo/ipinfo@0.4.17
40
+ - @prosopo/keyring@2.10.4
41
+ - @prosopo/load-balancer@2.11.8
42
+ - @prosopo/locale@3.9.1
43
+ - @prosopo/logger@2.1.4
44
+ - @prosopo/types-env@2.11.18
45
+ - @prosopo/util-crypto@13.6.0
46
+ - @prosopo/web-bot-auth@0.1.3
47
+
3
48
  ## 5.17.0
4
49
  ### Minor Changes
5
50
 
@@ -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;
@@ -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;
@@ -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":"AAqBA,OAAO,EAAE,wCAAwC,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACN,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,GACd,MAAM,+BAA+B,CAAC;AAIvC,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAClC,QAAyC,EACzC,aAA6B,EAC7B,SAAkB,EACsB,EAAE;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAqB;QAClC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC7B,CAAC;IACF,MAAM,OAAO,GAA0C,EAAE,CAAC;IAC1D,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,KAAK,MAAM;YAAE,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;;YACxC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,IAAgC,EACX,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC/C,QAAsC,EACnB,EAAE;IACrB,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,IAAI,QAAQ,CAAC,UAAU;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,QAAQ,CAAC,cAAc;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC/D,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAoCF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAClC,QAAsC,EACtC,YAAwC,EACxC,aAAuC,EAC9B,EAAE;IACX,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK;QAAE,KAAK,IAAI,GAAG,CAAC;IAE/C,MAAM,OAAO,GAAG,CAAC,EAA8B,EAAW,EAAE;QAC3D,IAAI,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAGnD,IAAI,CAAC,aAAa;YAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,aAAa,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAGzD,IAAI,sBAAsB,CAAC,EAAE,EAAE,aAAa,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC;QACb,CAAC;QAOD,IACC,CAAC,EAAE,CAAC,KAAK,IAAI,aAAa,CAAC,GAAG,KAAK,SAAS,CAAC;YAC7C,CAAC,EAAE,CAAC,OAAO,IAAI,aAAa,CAAC,KAAK,KAAK,SAAS,CAAC;YACjD,CAAC,EAAE,CAAC,KAAK,IAAI,aAAa,CAAC,GAAG,KAAK,SAAS,CAAC;YAC7C,CAAC,EAAE,CAAC,SAAS,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,CAAC,EACpD,CAAC;YACF,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,EAAE,CAAC,YAAY,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC5C,OAAO,CAAC,uBAAuB,CAAC,EAAE,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC5E,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,EAA8B,EAAW,EAAE;QAC/D,IAAI,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC/C,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACrD,MAAM,SAAS,GACd,aAAa,CAAC,oBAAoB;YAClC,wCAAwC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;QAC3E,OAAO,QAAQ,IAAI,SAAS,CAAC;IAC9B,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,KAAK,IAAI,GAAG,CAAC;IACnD,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,KAAK,IAAI,GAAG,CAAC;IACvD,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,KAAK,IAAI,GAAG,CAAC;IAC/C,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,KAAK,IAAI,GAAG,CAAC;IAEnD,IACC,YAAY,EAAE,OAAO;QACrB,YAAY,CAAC,YAAY,KAAK,KAAK;QACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAC/B,CAAC;QACF,KAAK,IAAI,GAAG,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC"}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"checkTrafficFilter.d.ts","sourceRoot":"","sources":["../../../src/tasks/spam/checkTrafficFilter.ts"],"names":[],"mappings":"AAeA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,YAAY,EAGZ,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,kBAAkB,GAC3B,YAAY,CAAC,WAAW,GACxB,YAAY,CAAC,aAAa,GAC1B,YAAY,CAAC,WAAW,GACxB,YAAY,CAAC,cAAc,GAC3B,YAAY,CAAC,kBAAkB,GAC/B,YAAY,CAAC,cAAc,GAC3B,YAAY,CAAC,iBAAiB,GAC9B,YAAY,CAAC,eAAe,CAAC;AAEhC,MAAM,MAAM,eAAe,GACxB,KAAK,GACL,OAAO,GACP,KAAK,GACL,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;AAEb,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAS/C,CAAC;AAaX,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,sBAAsB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC3B;IAAE,SAAS,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAAE,GACnD;IACA,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC7B,CAAC;AAEL,eAAO,MAAM,gBAAgB,aAClB,eAAe,KACvB,kBAAkD,CAAC;AAgCtD,eAAO,MAAM,uBAAuB,WAC3B,YAAY,aACT,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,KAC1C,OAAuD,CAAC;AAQ3D,eAAO,MAAM,sBAAsB,WAC1B,YAAY,YACV,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,KACzC,OAAsD,CAAC;AAQ1D,eAAO,MAAM,uBAAuB,WAC3B,YAAY,iBACL,OAAO,CAAC,cAAc,CAAC,KACpC,OASF,CAAC;AAuHF,eAAO,MAAM,kBAAkB,WACtB,cAAc,GAAG,SAAS,iBACnB,OAAO,CAAC,cAAc,CAAC,iBACvB,aAAa,CAAC,cAAc,GAAG,SAAS,CAAC,iBACzC,OAAO,KACpB,kBAwBF,CAAC;AAmBF,MAAM,MAAM,uBAAuB,GAAG;IACrC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IAMzB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IAEvC,gBAAgB,EAAE,eAAe,EAAE,CAAC;CACpC,CAAC;AASF,eAAO,MAAM,sBAAsB,YACzB,kBAAkB,EAAE,KAC3B,uBAAuB,GAAG,SAsE5B,CAAC;AAOF,eAAO,MAAM,eAAe,YAClB,kBAAkB,EAAE,KAC3B,MAAM,GAAG,SAWX,CAAC"}
1
+ {"version":3,"file":"checkTrafficFilter.d.ts","sourceRoot":"","sources":["../../../src/tasks/spam/checkTrafficFilter.ts"],"names":[],"mappings":"AAeA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,YAAY,EAGZ,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,kBAAkB,GAC3B,YAAY,CAAC,WAAW,GACxB,YAAY,CAAC,aAAa,GAC1B,YAAY,CAAC,WAAW,GACxB,YAAY,CAAC,cAAc,GAC3B,YAAY,CAAC,kBAAkB,GAC/B,YAAY,CAAC,cAAc,GAC3B,YAAY,CAAC,iBAAiB,GAC9B,YAAY,CAAC,eAAe,CAAC;AAEhC,MAAM,MAAM,eAAe,GACxB,KAAK,GACL,OAAO,GACP,KAAK,GACL,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;AAEb,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAS/C,CAAC;AAaX,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,sBAAsB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC3B;IAAE,SAAS,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAAE,GACnD;IACA,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC7B,CAAC;AAEL,eAAO,MAAM,gBAAgB,aAClB,eAAe,KACvB,kBAAkD,CAAC;AAwCtD,eAAO,MAAM,cAAc,WAAY,YAAY,KAAG,OACU,CAAC;AAEjE,eAAO,MAAM,uBAAuB,WAC3B,YAAY,aACT,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,KAC1C,OACoE,CAAC;AAQxE,eAAO,MAAM,sBAAsB,WAC1B,YAAY,YACV,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,KACzC,OAAsD,CAAC;AAQ1D,eAAO,MAAM,uBAAuB,WAC3B,YAAY,iBACL,OAAO,CAAC,cAAc,CAAC,KACpC,OASF,CAAC;AA8HF,eAAO,MAAM,kBAAkB,WACtB,cAAc,GAAG,SAAS,iBACnB,OAAO,CAAC,cAAc,CAAC,iBACvB,aAAa,CAAC,cAAc,GAAG,SAAS,CAAC,iBACzC,OAAO,KACpB,kBAwBF,CAAC;AAmBF,MAAM,MAAM,uBAAuB,GAAG;IACrC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IAMzB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IAEvC,gBAAgB,EAAE,eAAe,EAAE,CAAC;CACpC,CAAC;AASF,eAAO,MAAM,sBAAsB,YACzB,kBAAkB,EAAE,KAC3B,uBAAuB,GAAG,SAsE5B,CAAC;AAOF,eAAO,MAAM,eAAe,YAClB,kBAAkB,EAAE,KAC3B,MAAM,GAAG,SAWX,CAAC"}
@@ -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 ?? 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`),
@@ -193,4 +196,4 @@ var resolvePadBytes = (matches) => {
193
196
  return padBytes;
194
197
  };
195
198
  //#endregion
196
- export { categoryToReason, checkTrafficFilter, isDatacenterAllowlisted, isDatacenterDenylisted, isEffectivelyDatacenter, resolveChallengePolicy, resolvePadBytes };
199
+ export { categoryToReason, checkTrafficFilter, isDatacenterAllowlisted, isDatacenterDenylisted, isEffectivelyDatacenter, isPrivateRelay, resolveChallengePolicy, resolvePadBytes };
@@ -1 +1 @@
1
- {"version":3,"file":"checkTrafficFilter.js","sourceRoot":"","sources":["../../../src/tasks/spam/checkTrafficFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkTrafficFilter.js","sourceRoot":"","sources":["../../../src/tasks/spam/checkTrafficFilter.ts"],"names":[],"mappings":"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"}
@@ -189,6 +189,36 @@ describe("computeDnsAsymmetry", () => {
189
189
  });
190
190
  expect(score).toBe(0);
191
191
  });
192
+ it("skips iCloud Private Relay with no allowlist configured", () => {
193
+ const score = computeDnsAsymmetry(enrichedWith({
194
+ resolverIpInfo: baseInfo({
195
+ isDatacenter: true,
196
+ datacenterName: "iCloud Private Relay",
197
+ }),
198
+ }), undefined, filterAllowingVpn);
199
+ expect(score).toBe(0);
200
+ });
201
+ it("skips iCloud Private Relay when no trafficFilter is supplied", () => {
202
+ const score = computeDnsAsymmetry(enrichedWith({
203
+ resolverIpInfo: baseInfo({
204
+ isDatacenter: true,
205
+ datacenterName: "iCloud Private Relay",
206
+ }),
207
+ }), undefined);
208
+ expect(score).toBe(0);
209
+ });
210
+ it("counts iCloud Private Relay when the operator denylists it", () => {
211
+ const score = computeDnsAsymmetry(enrichedWith({
212
+ resolverIpInfo: baseInfo({
213
+ isDatacenter: true,
214
+ datacenterName: "iCloud Private Relay",
215
+ }),
216
+ }), undefined, {
217
+ ...filterAllowingVpn,
218
+ datacenterNameDenylist: ["iCloud Private Relay"],
219
+ });
220
+ expect(score).toBeGreaterThan(0);
221
+ });
192
222
  });
193
223
  describe("abuser gating", () => {
194
224
  it("does not count abuser when blockAbuser is false", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"enrichDnsEvent.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/dnsEvent/enrichDnsEvent.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enrichDnsEvent.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/dnsEvent/enrichDnsEvent.unit.test.ts"],"names":[],"mappings":"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"}
@@ -340,7 +340,7 @@ describe("checkTrafficFilter", () => {
340
340
  it("preserves the legacy behavior when the allowlist is missing or empty", () => {
341
341
  const missing = checkTrafficFilter(baseInfo({
342
342
  isDatacenter: true,
343
- datacenterName: "iCloud Private Relay",
343
+ datacenterName: "Amazon AWS",
344
344
  }), allBlocked);
345
345
  expect(missing).toMatchObject({
346
346
  isBlocked: true,
@@ -348,7 +348,7 @@ describe("checkTrafficFilter", () => {
348
348
  });
349
349
  const empty = checkTrafficFilter(baseInfo({
350
350
  isDatacenter: true,
351
- datacenterName: "iCloud Private Relay",
351
+ datacenterName: "Amazon AWS",
352
352
  }), { ...allBlocked, datacenterNameAllowlist: [] });
353
353
  expect(empty).toMatchObject({
354
354
  isBlocked: true,
@@ -465,6 +465,71 @@ describe("checkTrafficFilter", () => {
465
465
  expect(result).toMatchObject({ isBlocked: false });
466
466
  });
467
467
  });
468
+ describe("iCloud Private Relay", () => {
469
+ it.each([
470
+ ["datacenterName", { datacenterName: "iCloud Private Relay" }],
471
+ ["providerName", { providerName: "iCloud Private Relay" }],
472
+ ])("passes the datacenter rule with no allowlist configured (%s)", (_, name) => {
473
+ const result = checkTrafficFilter(baseInfo({ isDatacenter: true, ...name }), allBlocked);
474
+ expect(result).toEqual({ isBlocked: false, matches: [] });
475
+ });
476
+ it("is not challenged when the datacenter rule challenges", () => {
477
+ const result = checkTrafficFilter(baseInfo({
478
+ isDatacenter: true,
479
+ datacenterName: "iCloud Private Relay",
480
+ }), {
481
+ datacenter: {
482
+ action: TrafficFilterAction.Challenge,
483
+ captchaType: CaptchaType.image,
484
+ },
485
+ });
486
+ expect(result.matches).toEqual([]);
487
+ });
488
+ it("is blocked when the operator names it in the denylist", () => {
489
+ const result = checkTrafficFilter(baseInfo({
490
+ isDatacenter: true,
491
+ datacenterName: "iCloud Private Relay",
492
+ }), { ...allBlocked, datacenterNameDenylist: ["icloud private relay"] });
493
+ expect(result).toMatchObject({
494
+ isBlocked: true,
495
+ reason: "API.DATACENTER_BLOCKED",
496
+ });
497
+ });
498
+ it.each([
499
+ ["every category blocked", allBlocked],
500
+ ["only the submit-time default abuser rule", { abuser: block }],
501
+ ])("is not checked against the abuser rule (%s)", (_, filter) => {
502
+ const result = checkTrafficFilter(baseInfo({
503
+ isDatacenter: true,
504
+ isAbuser: true,
505
+ abuserScore: 0.003,
506
+ datacenterName: "iCloud Private Relay",
507
+ }), { ...filter, abuserScoreThreshold: 0 });
508
+ expect(result).toEqual({ isBlocked: false, matches: [] });
509
+ });
510
+ it("does not let a relay name on an IP without the datacenter flag skip the abuser rule", () => {
511
+ const result = checkTrafficFilter(baseInfo({
512
+ isAbuser: true,
513
+ abuserScore: 1,
514
+ providerName: "iCloud Private Relay",
515
+ }), allBlocked);
516
+ expect(result).toMatchObject({
517
+ isBlocked: true,
518
+ reason: "API.ABUSER_BLOCKED",
519
+ });
520
+ });
521
+ it("is still blocked by a higher-precedence VPN flag", () => {
522
+ const result = checkTrafficFilter(baseInfo({
523
+ isDatacenter: true,
524
+ isVPN: true,
525
+ datacenterName: "iCloud Private Relay",
526
+ }), allBlocked);
527
+ expect(result).toMatchObject({
528
+ isBlocked: true,
529
+ reason: "API.VPN_BLOCKED",
530
+ });
531
+ });
532
+ });
468
533
  describe("datacenterNameDenylist", () => {
469
534
  it("blocks datacenter IPs whose name matches the denylist even when providerType is 'isp'", () => {
470
535
  const result = checkTrafficFilter(baseInfo({
@@ -1 +1 @@
1
- {"version":3,"file":"checkTrafficFilter.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/spam/checkTrafficFilter.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkTrafficFilter.unit.test.js","sourceRoot":"","sources":["../../../../../src/tests/unit/tasks/spam/checkTrafficFilter.unit.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/provider",
3
- "version": "5.17.0",
3
+ "version": "5.17.1",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -10,31 +10,31 @@
10
10
  "dependencies": {
11
11
  "@noble/hashes": "2.4.0",
12
12
  "@polkadot/util": "14.0.3",
13
- "@prosopo/api": "4.6.0",
14
- "@prosopo/api-express-router": "3.2.3",
15
- "@prosopo/api-route": "2.6.63",
16
- "@prosopo/audio-assets": "0.2.0",
13
+ "@prosopo/api": "4.6.1",
14
+ "@prosopo/api-express-router": "3.2.4",
15
+ "@prosopo/api-route": "2.6.64",
16
+ "@prosopo/audio-assets": "0.2.1",
17
17
  "@prosopo/captcha-severity": "1.3.0",
18
- "@prosopo/common": "3.1.64",
19
- "@prosopo/database": "4.2.1",
20
- "@prosopo/datasets": "3.2.3",
21
- "@prosopo/env": "3.6.71",
22
- "@prosopo/icon-order-assets": "0.2.0",
23
- "@prosopo/ipinfo": "0.4.16",
24
- "@prosopo/keyring": "2.10.3",
25
- "@prosopo/load-balancer": "2.11.7",
26
- "@prosopo/locale": "3.9.0",
27
- "@prosopo/logger": "2.1.3",
28
- "@prosopo/native-ja4": "0.0.7",
29
- "@prosopo/native-merkle": "0.0.6",
30
- "@prosopo/native-puzzle": "0.1.0",
31
- "@prosopo/puzzle-assets": "0.2.1",
32
- "@prosopo/redis-client": "1.0.40",
33
- "@prosopo/types": "5.15.0",
34
- "@prosopo/types-database": "5.10.0",
35
- "@prosopo/types-env": "2.11.17",
36
- "@prosopo/user-access-policy": "3.14.17",
37
- "@prosopo/util": "3.3.14",
18
+ "@prosopo/common": "3.1.65",
19
+ "@prosopo/database": "4.2.2",
20
+ "@prosopo/datasets": "3.2.4",
21
+ "@prosopo/env": "3.6.72",
22
+ "@prosopo/icon-order-assets": "0.2.1",
23
+ "@prosopo/ipinfo": "0.4.17",
24
+ "@prosopo/keyring": "2.10.4",
25
+ "@prosopo/load-balancer": "2.11.8",
26
+ "@prosopo/locale": "3.9.1",
27
+ "@prosopo/logger": "2.1.4",
28
+ "@prosopo/native-ja4": "0.0.8",
29
+ "@prosopo/native-merkle": "0.0.7",
30
+ "@prosopo/native-puzzle": "0.1.1",
31
+ "@prosopo/puzzle-assets": "0.2.2",
32
+ "@prosopo/redis-client": "1.0.41",
33
+ "@prosopo/types": "5.15.1",
34
+ "@prosopo/types-database": "5.10.1",
35
+ "@prosopo/types-env": "2.11.18",
36
+ "@prosopo/user-access-policy": "3.14.18",
37
+ "@prosopo/util": "3.3.15",
38
38
  "@prosopo/util-crypto": "13.6.0",
39
39
  "@prosopo/web-bot-auth": "0.1.3",
40
40
  "cron": "3.1.7",
@@ -42,15 +42,15 @@
42
42
  "express-rate-limit": "7.4.0",
43
43
  "geolib": "3.3.14",
44
44
  "i18next": "26.4.2",
45
- "ip-address": "10.7.0",
46
- "mongoose": "9.10.0",
45
+ "ip-address": "10.7.2",
46
+ "mongoose": "9.10.3",
47
47
  "prom-client": "15.1.3",
48
48
  "uuid": "14.0.2",
49
49
  "zod": "3.23.8"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@noble/curves": "2.4.0",
53
- "@prosopo/config": "3.4.3",
53
+ "@prosopo/config": "3.4.4",
54
54
  "@types/cors": "2.8.19",
55
55
  "@types/express": "4.17.25",
56
56
  "@types/node": "22.5.5",
@@ -64,7 +64,7 @@
64
64
  "dotenv": "16.4.5",
65
65
  "esbuild": "0.28.2",
66
66
  "npm-run-all": "4.1.5",
67
- "testcontainers": "12.1.0",
67
+ "testcontainers": "12.2.0",
68
68
  "tslib": "2.7.0",
69
69
  "tsx": "4.20.3",
70
70
  "typescript": "5.6.2",