@prosopo/provider 5.13.1 → 5.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$cjs.log +25 -23
- package/.turbo/turbo-build$colon$tsc.log +27 -27
- package/.turbo/turbo-build.log +26 -24
- package/CHANGELOG.md +95 -0
- package/dist/api/admin/apiDnsEventEndpoint.d.ts +2 -2
- package/dist/api/admin/apiDnsEventEndpoint.d.ts.map +1 -1
- package/dist/api/admin/apiDnsEventEndpoint.js +28 -5
- package/dist/api/admin/apiDnsEventEndpoint.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getImageCaptchaChallenge.js +2 -0
- package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/getPoWCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getPoWCaptchaChallenge.js +4 -1
- package/dist/api/captcha/getPoWCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js +4 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/submitImageCaptchaSolution.d.ts.map +1 -1
- package/dist/api/captcha/submitImageCaptchaSolution.js +3 -2
- package/dist/api/captcha/submitImageCaptchaSolution.js.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.js +3 -2
- package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
- package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts.map +1 -1
- package/dist/api/captcha/submitPuzzleCaptchaSolution.js +3 -2
- package/dist/api/captcha/submitPuzzleCaptchaSolution.js.map +1 -1
- package/dist/api/captcha/trafficFilterRequestTime.d.ts +2 -0
- package/dist/api/captcha/trafficFilterRequestTime.d.ts.map +1 -1
- package/dist/api/captcha/trafficFilterRequestTime.js +9 -3
- package/dist/api/captcha/trafficFilterRequestTime.js.map +1 -1
- package/dist/api/captcha.d.ts.map +1 -1
- package/dist/api/captcha.js +2 -0
- package/dist/api/captcha.js.map +1 -1
- package/dist/api/hardBlockVerdictCache.d.ts +1 -0
- package/dist/api/hardBlockVerdictCache.d.ts.map +1 -1
- package/dist/api/hardBlockVerdictCache.js +4 -1
- package/dist/api/hardBlockVerdictCache.js.map +1 -1
- package/dist/api/requestBodySummary.d.ts +14 -0
- package/dist/api/requestBodySummary.d.ts.map +1 -0
- package/dist/api/requestBodySummary.js +47 -0
- package/dist/api/requestBodySummary.js.map +1 -0
- package/dist/api/verify.d.ts.map +1 -1
- package/dist/api/verify.js +9 -8
- package/dist/api/verify.js.map +1 -1
- package/dist/cjs/api/admin/apiDnsEventEndpoint.cjs +27 -4
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +1 -1
- package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +2 -0
- package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +4 -1
- package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +4 -1
- package/dist/cjs/api/captcha/submitImageCaptchaSolution.cjs +3 -2
- package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +3 -2
- package/dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs +3 -2
- package/dist/cjs/api/captcha/trafficFilterRequestTime.cjs +6 -1
- package/dist/cjs/api/captcha.cjs +2 -0
- package/dist/cjs/api/hardBlockVerdictCache.cjs +4 -1
- package/dist/cjs/api/requestBodySummary.cjs +47 -0
- package/dist/cjs/api/verify.cjs +9 -8
- package/dist/cjs/pairs.cjs +70 -6
- package/dist/cjs/tasks/captchaManager.cjs +15 -0
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +4 -1
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +17 -6
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +5 -1
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +1 -4
- package/dist/cjs/tasks/spam/checkTrafficFilter.cjs +11 -0
- package/dist/cjs/tasks/tasks.cjs +1 -37
- package/dist/cjs/utils/tarpitPadding.cjs +23 -0
- package/dist/pairs.d.ts +6 -1
- package/dist/pairs.d.ts.map +1 -1
- package/dist/pairs.js +67 -7
- package/dist/pairs.js.map +1 -1
- package/dist/tasks/captchaManager.d.ts.map +1 -1
- package/dist/tasks/captchaManager.js +15 -0
- package/dist/tasks/captchaManager.js.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +4 -1
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +20 -8
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +5 -1
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +1 -4
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
- package/dist/tasks/spam/checkTrafficFilter.d.ts +1 -0
- package/dist/tasks/spam/checkTrafficFilter.d.ts.map +1 -1
- package/dist/tasks/spam/checkTrafficFilter.js +11 -1
- package/dist/tasks/spam/checkTrafficFilter.js.map +1 -1
- package/dist/tasks/tasks.d.ts +0 -1
- package/dist/tasks/tasks.d.ts.map +1 -1
- package/dist/tasks/tasks.js +1 -37
- package/dist/tasks/tasks.js.map +1 -1
- package/dist/tests/integration/authenticatedVerifyClaim.integration.test.d.ts +2 -0
- package/dist/tests/integration/authenticatedVerifyClaim.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/authenticatedVerifyClaim.integration.test.js +81 -0
- package/dist/tests/integration/authenticatedVerifyClaim.integration.test.js.map +1 -0
- package/dist/tests/integration/imgCaptcha.integration.test.js +37 -1
- package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -1
- package/dist/tests/unit/api/admin/apiDnsEventEndpoint.unit.test.js +39 -3
- package/dist/tests/unit/api/admin/apiDnsEventEndpoint.unit.test.js.map +1 -1
- package/dist/tests/unit/api/domainMiddleware.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/domainMiddleware.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/domainMiddleware.unit.test.js +167 -0
- package/dist/tests/unit/api/domainMiddleware.unit.test.js.map +1 -0
- package/dist/tests/unit/api/hardBlockVerdictCache.unit.test.js +32 -0
- package/dist/tests/unit/api/hardBlockVerdictCache.unit.test.js.map +1 -1
- package/dist/tests/unit/api/requestBodySummary.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/requestBodySummary.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/requestBodySummary.unit.test.js +172 -0
- package/dist/tests/unit/api/requestBodySummary.unit.test.js.map +1 -0
- package/dist/tests/unit/pairs.unit.test.js +126 -1
- package/dist/tests/unit/pairs.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +38 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +104 -8
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +232 -17
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +66 -14
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js +21 -1
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/tasksBackgroundWork.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/tasksBackgroundWork.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/tasksBackgroundWork.unit.test.js +34 -0
- package/dist/tests/unit/tasks/tasksBackgroundWork.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js +0 -49
- package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js.map +1 -1
- package/dist/tests/unit/util/redisCache.unit.test.js +1 -104
- package/dist/tests/unit/util/redisCache.unit.test.js.map +1 -1
- package/dist/utils/tarpitPadding.d.ts +3 -0
- package/dist/utils/tarpitPadding.d.ts.map +1 -0
- package/dist/utils/tarpitPadding.js +24 -0
- package/dist/utils/tarpitPadding.js.map +1 -0
- package/package.json +24 -24
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@5.13.
|
|
2
|
+
> @prosopo/provider@5.13.3 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -59,7 +59,7 @@ ViteCommonJSConfig: .
|
|
|
59
59
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
60
60
|
Bundle build started
|
|
61
61
|
[2K
|
|
62
|
-
✓
|
|
62
|
+
✓ 118 modules transformed.
|
|
63
63
|
rendering chunks...
|
|
64
64
|
computing gzip size...
|
|
65
65
|
dist/cjs/tasks/index.cjs 0.08 kB │ gzip: 0.07 kB
|
|
@@ -79,6 +79,7 @@ dist/cjs/api/validateAddress.cjs 0
|
|
|
79
79
|
dist/cjs/api/ja4.cjs 0.85 kB │ gzip: 0.47 kB
|
|
80
80
|
dist/cjs/api/dnsEventUrl.cjs 0.85 kB │ gzip: 0.46 kB
|
|
81
81
|
dist/cjs/tasks/dataset/datasetTasks.cjs 0.92 kB │ gzip: 0.41 kB
|
|
82
|
+
dist/cjs/utils/tarpitPadding.cjs 0.98 kB │ gzip: 0.54 kB
|
|
82
83
|
dist/cjs/api/captcha/assetSeal.cjs 0.99 kB │ gzip: 0.51 kB
|
|
83
84
|
dist/cjs/_virtual/_rolldown/runtime.cjs 1.00 kB │ gzip: 0.50 kB
|
|
84
85
|
dist/cjs/api/headerCheckMiddleware.cjs 1.02 kB │ gzip: 0.45 kB
|
|
@@ -98,7 +99,6 @@ dist/cjs/schedulers/getClientList.cjs 1
|
|
|
98
99
|
dist/cjs/api/admin/apiGetDecisionMachineEndpoint.cjs 1.33 kB │ gzip: 0.52 kB
|
|
99
100
|
dist/cjs/api/admin/apiRemoveDecisionMachineEndpoint.cjs 1.36 kB │ gzip: 0.52 kB
|
|
100
101
|
dist/cjs/api/admin/apiRemoveAllDecisionMachinesEndpoint.cjs 1.36 kB │ gzip: 0.54 kB
|
|
101
|
-
dist/cjs/pairs.cjs 1.39 kB │ gzip: 0.60 kB
|
|
102
102
|
dist/cjs/tasks/dataset/datasetTasksUtils.cjs 1.42 kB │ gzip: 0.49 kB
|
|
103
103
|
dist/cjs/tasks/puzzle/backgroundBuffer.cjs 1.44 kB │ gzip: 0.54 kB
|
|
104
104
|
dist/cjs/utils/clientMetaData.cjs 1.48 kB │ gzip: 0.72 kB
|
|
@@ -116,6 +116,7 @@ dist/cjs/tasks/imgCaptcha/imgCaptchaTasksUtils.cjs 1
|
|
|
116
116
|
dist/cjs/api/admin/apiToggleMaintenanceModeEndpoint.cjs 1.80 kB │ gzip: 0.72 kB
|
|
117
117
|
dist/cjs/utils/honeypot/phraseBank.cjs 1.87 kB │ gzip: 0.91 kB
|
|
118
118
|
dist/cjs/api/handshakeTimingMiddleware.cjs 1.88 kB │ gzip: 0.71 kB
|
|
119
|
+
dist/cjs/api/requestBodySummary.cjs 1.96 kB │ gzip: 0.88 kB
|
|
119
120
|
dist/cjs/api/admin/apiClearAllCountersEndpoint.cjs 2.01 kB │ gzip: 0.78 kB
|
|
120
121
|
dist/cjs/tasks/frictionless/ipMatch.cjs 2.03 kB │ gzip: 1.03 kB
|
|
121
122
|
dist/cjs/tasks/spam/updateSpamEmailDomains.cjs 2.12 kB │ gzip: 0.85 kB
|
|
@@ -126,43 +127,44 @@ dist/cjs/tasks/frictionless/frictionlessTasksUtils.cjs 2
|
|
|
126
127
|
dist/cjs/api/captcha/signedAssetsResolver.cjs 2.24 kB │ gzip: 1.00 kB
|
|
127
128
|
dist/cjs/api/captcha/sealedAssetsResolver.cjs 2.37 kB │ gzip: 0.98 kB
|
|
128
129
|
dist/cjs/tasks/captchaTypeSelection.cjs 2.44 kB │ gzip: 1.04 kB
|
|
129
|
-
dist/cjs/api/admin/apiDnsEventEndpoint.cjs 2.59 kB │ gzip: 1.00 kB
|
|
130
130
|
dist/cjs/utils/dns.cjs 2.66 kB │ gzip: 1.02 kB
|
|
131
131
|
dist/cjs/api/forwardVerify.cjs 2.66 kB │ gzip: 1.12 kB
|
|
132
132
|
dist/cjs/tasks/puzzle/puzzleDifficulty.cjs 2.66 kB │ gzip: 1.10 kB
|
|
133
133
|
dist/cjs/api/captcha/checkSpamEmail.cjs 2.73 kB │ gzip: 0.95 kB
|
|
134
|
-
dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs 2.77 kB │ gzip: 0.99 kB
|
|
135
134
|
dist/cjs/api/public.cjs 2.79 kB │ gzip: 1.07 kB
|
|
136
135
|
dist/cjs/api/captcha/maintenanceModeResponses.cjs 2.91 kB │ gzip: 0.77 kB
|
|
137
|
-
dist/cjs/api/captcha/
|
|
136
|
+
dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs 2.93 kB │ gzip: 1.01 kB
|
|
137
|
+
dist/cjs/api/captcha/submitImageCaptchaSolution.cjs 3.09 kB │ gzip: 1.06 kB
|
|
138
|
+
dist/cjs/api/admin/apiDnsEventEndpoint.cjs 3.20 kB │ gzip: 1.22 kB
|
|
138
139
|
dist/cjs/tasks/detection/getBotScore.cjs 3.37 kB │ gzip: 1.33 kB
|
|
139
140
|
dist/cjs/compositeIpAddress.cjs 3.39 kB │ gzip: 1.36 kB
|
|
140
141
|
dist/cjs/api/captcha/assetSealFormat.cjs 3.59 kB │ gzip: 1.37 kB
|
|
141
142
|
dist/cjs/api/captcha/assignDetectorBundle.cjs 3.63 kB │ gzip: 1.37 kB
|
|
142
143
|
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs 3.66 kB │ gzip: 1.35 kB
|
|
143
144
|
dist/cjs/api/admin/apiAdminRoutesProvider.cjs 3.67 kB │ gzip: 0.62 kB
|
|
145
|
+
dist/cjs/tasks/tasks.cjs 3.82 kB │ gzip: 1.07 kB
|
|
144
146
|
dist/cjs/api/rawTlsSignalsMiddleware.cjs 3.84 kB │ gzip: 1.16 kB
|
|
145
147
|
dist/cjs/api/domainMiddleware.cjs 3.85 kB │ gzip: 1.26 kB
|
|
146
148
|
dist/cjs/tasks/spam/evaluateEmailSpamRules.cjs 4.03 kB │ gzip: 1.60 kB
|
|
147
149
|
dist/cjs/services/ipComparison.cjs 4.06 kB │ gzip: 1.22 kB
|
|
148
150
|
dist/cjs/tasks/spam/checkSpamEmail.cjs 4.14 kB │ gzip: 1.14 kB
|
|
149
|
-
dist/cjs/api/captcha/trafficFilterRequestTime.cjs 4.17 kB │ gzip: 1.53 kB
|
|
150
151
|
dist/cjs/api/cpuProfiler.cjs 4.21 kB │ gzip: 1.78 kB
|
|
151
|
-
dist/cjs/api/
|
|
152
|
+
dist/cjs/api/captcha/trafficFilterRequestTime.cjs 4.27 kB │ gzip: 1.55 kB
|
|
152
153
|
dist/cjs/tasks/puzzle/puzzleRenderer.cjs 4.36 kB │ gzip: 1.55 kB
|
|
153
|
-
dist/cjs/api/
|
|
154
|
+
dist/cjs/api/hardBlockVerdictCache.cjs 4.39 kB │ gzip: 1.74 kB
|
|
154
155
|
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs 4.56 kB │ gzip: 1.07 kB
|
|
156
|
+
dist/cjs/api/captcha.cjs 4.64 kB │ gzip: 1.43 kB
|
|
157
|
+
dist/cjs/pairs.cjs 4.64 kB │ gzip: 1.61 kB
|
|
155
158
|
dist/cjs/tasks/dnsEvent/enrichDnsEvent.cjs 4.84 kB │ gzip: 1.74 kB
|
|
156
159
|
dist/cjs/index.cjs 5.02 kB │ gzip: 1.05 kB
|
|
157
|
-
dist/cjs/tasks/tasks.cjs 5.07 kB │ gzip: 1.57 kB
|
|
158
160
|
dist/cjs/tasks/detection/decoderPool.cjs 5.47 kB │ gzip: 2.06 kB
|
|
159
161
|
dist/cjs/util/usageCounters.cjs 5.72 kB │ gzip: 2.03 kB
|
|
160
|
-
dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs 6.
|
|
162
|
+
dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs 6.92 kB │ gzip: 1.94 kB
|
|
161
163
|
dist/cjs/api/healthzGeo.cjs 7.03 kB │ gzip: 2.70 kB
|
|
162
|
-
dist/cjs/api/captcha/getImageCaptchaChallenge.cjs 7.
|
|
163
|
-
dist/cjs/
|
|
164
|
-
dist/cjs/
|
|
165
|
-
dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs 9.
|
|
164
|
+
dist/cjs/api/captcha/getImageCaptchaChallenge.cjs 7.47 kB │ gzip: 2.09 kB
|
|
165
|
+
dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs 7.75 kB │ gzip: 2.08 kB
|
|
166
|
+
dist/cjs/tasks/spam/checkTrafficFilter.cjs 7.97 kB │ gzip: 2.63 kB
|
|
167
|
+
dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs 9.28 kB │ gzip: 2.74 kB
|
|
166
168
|
dist/cjs/tasks/detection/bundlePool.cjs 9.29 kB │ gzip: 3.38 kB
|
|
167
169
|
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs 10.33 kB │ gzip: 1.82 kB
|
|
168
170
|
dist/cjs/api/startProviderApi.cjs 11.73 kB │ gzip: 3.72 kB
|
|
@@ -171,15 +173,15 @@ dist/cjs/api/metrics.cjs 11
|
|
|
171
173
|
dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs 12.69 kB │ gzip: 3.91 kB
|
|
172
174
|
dist/cjs/util.cjs 13.15 kB │ gzip: 3.26 kB
|
|
173
175
|
dist/cjs/api/blacklistRequestInspector.cjs 13.39 kB │ gzip: 4.50 kB
|
|
174
|
-
dist/cjs/api/verify.cjs
|
|
175
|
-
dist/cjs/tasks/frictionless/frictionlessTasks.cjs 18.
|
|
176
|
-
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs 20.
|
|
177
|
-
dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs 24.
|
|
178
|
-
dist/cjs/tasks/captchaManager.cjs
|
|
179
|
-
dist/cjs/tasks/powCaptcha/powTasks.cjs 25.
|
|
180
|
-
dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs 28.
|
|
176
|
+
dist/cjs/api/verify.cjs 17.22 kB │ gzip: 2.97 kB
|
|
177
|
+
dist/cjs/tasks/frictionless/frictionlessTasks.cjs 18.43 kB │ gzip: 4.88 kB
|
|
178
|
+
dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs 20.15 kB │ gzip: 4.63 kB
|
|
179
|
+
dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs 24.26 kB │ gzip: 5.18 kB
|
|
180
|
+
dist/cjs/tasks/captchaManager.cjs 25.12 kB │ gzip: 7.48 kB
|
|
181
|
+
dist/cjs/tasks/powCaptcha/powTasks.cjs 25.99 kB │ gzip: 6.23 kB
|
|
182
|
+
dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs 28.88 kB │ gzip: 6.55 kB
|
|
181
183
|
|
|
182
|
-
[32m✓ built in
|
|
184
|
+
[32m✓ built in 179ms[39m
|
|
183
185
|
[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
|
|
184
186
|
[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
|
|
185
187
|
[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,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@5.13.
|
|
2
|
+
> @prosopo/provider@5.13.3 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
7:49:53 PM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
7
|
* ../util/tsconfig.json
|
|
8
8
|
* ../logger/tsconfig.json
|
|
@@ -28,53 +28,53 @@
|
|
|
28
28
|
* ../web-bot-auth/tsconfig.json
|
|
29
29
|
* tsconfig.json
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
7:49:54 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'
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
7:49:54 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
7:49:54 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/logger.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
7:49:54 PM - 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'
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
7:49:54 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
7:49:54 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'
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
7:49:54 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'
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
7:49:54 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
7:49:54 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
7:49:54 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/redisClient.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
7:49:54 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/tests/apiHarness.ts' is older than output '../api/tsconfig.tsbuildinfo'
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
7:49:54 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'
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
7:49:54 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'
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
7:49:54 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'
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
7:49:54 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'
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
7:49:54 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/index.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
7:49:54 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/index.ts' is older than output '../env/tsconfig.tsbuildinfo'
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
7:49:54 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/errorHandler.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
7:49:54 PM - Project '../captcha-severity/tsconfig.json' is up to date because newest input '../captcha-severity/src/index.ts' is older than output '../captcha-severity/tsconfig.tsbuildinfo'
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
7:49:54 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
7:49:54 PM - 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'
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
7:49:54 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'
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
7:49:54 PM - Project '../web-bot-auth/tsconfig.json' is up to date because newest input '../web-bot-auth/src/base64.ts' is older than output '../web-bot-auth/tsconfig.tsbuildinfo'
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
7:49:54 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
7:49:54 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
|
|
80
80
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/provider@5.13.
|
|
2
|
+
> @prosopo/provider@5.13.3 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/provider@5.13.
|
|
6
|
+
> @prosopo/provider@5.13.3 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -63,7 +63,7 @@ ViteEsmConfig: .
|
|
|
63
63
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
64
64
|
Bundle build started
|
|
65
65
|
[2K
|
|
66
|
-
✓
|
|
66
|
+
✓ 118 modules transformed.
|
|
67
67
|
rendering chunks...
|
|
68
68
|
computing gzip size...
|
|
69
69
|
dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
|
|
@@ -87,6 +87,7 @@ dist/tasks/dataset/datasetTasks.js 0.85 k
|
|
|
87
87
|
dist/tasks/powCaptcha/powTasksUtils.js 0.89 kB │ gzip: 0.46 kB
|
|
88
88
|
dist/api/captcha/assetSeal.js 0.91 kB │ gzip: 0.50 kB
|
|
89
89
|
dist/api/headerCheckMiddleware.js 0.91 kB │ gzip: 0.43 kB
|
|
90
|
+
dist/utils/tarpitPadding.js 0.95 kB │ gzip: 0.53 kB
|
|
90
91
|
dist/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.js 0.95 kB │ gzip: 0.51 kB
|
|
91
92
|
dist/api/admin/apiRegisterSiteKeyEndpoint.js 1.00 kB │ gzip: 0.46 kB
|
|
92
93
|
dist/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.js 1.01 kB │ gzip: 0.45 kB
|
|
@@ -98,7 +99,6 @@ dist/api/admin/apiRemoveSiteKeyEndpoint.js 1.08 k
|
|
|
98
99
|
dist/api/block.js 1.08 kB │ gzip: 0.46 kB
|
|
99
100
|
dist/schedulers/captchaScheduler.js 1.11 kB │ gzip: 0.48 kB
|
|
100
101
|
dist/utils/normalizeRequestIp.js 1.14 kB │ gzip: 0.52 kB
|
|
101
|
-
dist/pairs.js 1.19 kB │ gzip: 0.58 kB
|
|
102
102
|
dist/schedulers/getClientList.js 1.19 kB │ gzip: 0.53 kB
|
|
103
103
|
dist/api/admin/apiGetDecisionMachineEndpoint.js 1.26 kB │ gzip: 0.50 kB
|
|
104
104
|
dist/tasks/puzzle/backgroundBuffer.js 1.26 kB │ gzip: 0.51 kB
|
|
@@ -122,6 +122,7 @@ dist/utils/honeypot/phraseBank.js 1.69 k
|
|
|
122
122
|
dist/api/handshakeTimingMiddleware.js 1.75 kB │ gzip: 0.69 kB
|
|
123
123
|
dist/tasks/spam/updateSpamEmailDomains.js 1.87 kB │ gzip: 0.77 kB
|
|
124
124
|
dist/api/admin/apiClearAllCountersEndpoint.js 1.89 kB │ gzip: 0.76 kB
|
|
125
|
+
dist/api/requestBodySummary.js 1.94 kB │ gzip: 0.88 kB
|
|
125
126
|
dist/tasks/frictionless/ipMatch.js 1.98 kB │ gzip: 1.02 kB
|
|
126
127
|
dist/api/captcha/signedAssetsResolver.js 2.08 kB │ gzip: 0.98 kB
|
|
127
128
|
dist/migrations/frictionlessLadder.js 2.12 kB │ gzip: 0.93 kB
|
|
@@ -132,41 +133,42 @@ dist/tasks/frictionless/routingMachine.js 2.20 k
|
|
|
132
133
|
dist/tasks/captchaTypeSelection.js 2.22 kB │ gzip: 1.03 kB
|
|
133
134
|
dist/api/captcha/sealedAssetsResolver.js 2.26 kB │ gzip: 0.97 kB
|
|
134
135
|
dist/utils/dns.js 2.36 kB │ gzip: 0.95 kB
|
|
135
|
-
dist/api/admin/apiDnsEventEndpoint.js 2.43 kB │ gzip: 0.96 kB
|
|
136
136
|
dist/api/public.js 2.45 kB │ gzip: 0.98 kB
|
|
137
137
|
dist/api/captcha/checkSpamEmail.js 2.47 kB │ gzip: 0.91 kB
|
|
138
138
|
dist/tasks/puzzle/puzzleDifficulty.js 2.50 kB │ gzip: 1.09 kB
|
|
139
|
-
dist/api/captcha/submitPuzzleCaptchaSolution.js 2.55 kB │ gzip: 0.96 kB
|
|
140
139
|
dist/api/forwardVerify.js 2.59 kB │ gzip: 1.10 kB
|
|
141
|
-
dist/api/captcha/
|
|
140
|
+
dist/api/captcha/submitPuzzleCaptchaSolution.js 2.65 kB │ gzip: 0.99 kB
|
|
141
|
+
dist/api/captcha/submitImageCaptchaSolution.js 2.69 kB │ gzip: 1.03 kB
|
|
142
142
|
dist/api/admin/apiAdminRoutesProvider.js 2.78 kB │ gzip: 0.55 kB
|
|
143
143
|
dist/index.js 2.95 kB │ gzip: 0.81 kB
|
|
144
|
+
dist/api/admin/apiDnsEventEndpoint.js 3.05 kB │ gzip: 1.18 kB
|
|
144
145
|
dist/compositeIpAddress.js 3.15 kB │ gzip: 1.34 kB
|
|
145
146
|
dist/tasks/detection/getBotScore.js 3.29 kB │ gzip: 1.32 kB
|
|
146
147
|
dist/api/captcha/assetSealFormat.js 3.38 kB │ gzip: 1.34 kB
|
|
147
148
|
dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js 3.39 kB │ gzip: 1.32 kB
|
|
148
149
|
dist/api/captcha/assignDetectorBundle.js 3.40 kB │ gzip: 1.34 kB
|
|
150
|
+
dist/tasks/tasks.js 3.44 kB │ gzip: 1.01 kB
|
|
149
151
|
dist/api/domainMiddleware.js 3.52 kB │ gzip: 1.22 kB
|
|
150
152
|
dist/api/rawTlsSignalsMiddleware.js 3.69 kB │ gzip: 1.13 kB
|
|
151
153
|
dist/tasks/spam/evaluateEmailSpamRules.js 3.84 kB │ gzip: 1.59 kB
|
|
152
|
-
dist/api/captcha/trafficFilterRequestTime.js 3.94 kB │ gzip: 1.51 kB
|
|
153
154
|
dist/tasks/puzzle/puzzleRenderer.js 3.99 kB │ gzip: 1.52 kB
|
|
154
155
|
dist/services/ipComparison.js 4.04 kB │ gzip: 1.21 kB
|
|
155
|
-
dist/api/captcha.js
|
|
156
|
+
dist/api/captcha/trafficFilterRequestTime.js 4.06 kB │ gzip: 1.53 kB
|
|
156
157
|
dist/tasks/spam/checkSpamEmail.js 4.12 kB │ gzip: 1.12 kB
|
|
157
158
|
dist/api/cpuProfiler.js 4.12 kB │ gzip: 1.77 kB
|
|
158
|
-
dist/api/
|
|
159
|
+
dist/api/captcha.js 4.15 kB │ gzip: 1.35 kB
|
|
160
|
+
dist/api/hardBlockVerdictCache.js 4.26 kB │ gzip: 1.72 kB
|
|
161
|
+
dist/pairs.js 4.27 kB │ gzip: 1.57 kB
|
|
159
162
|
dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js 4.35 kB │ gzip: 1.07 kB
|
|
160
|
-
dist/tasks/tasks.js 4.69 kB │ gzip: 1.51 kB
|
|
161
163
|
dist/tasks/dnsEvent/enrichDnsEvent.js 4.71 kB │ gzip: 1.72 kB
|
|
162
164
|
dist/tasks/detection/decoderPool.js 5.34 kB │ gzip: 2.02 kB
|
|
163
165
|
dist/util/usageCounters.js 5.65 kB │ gzip: 2.01 kB
|
|
164
|
-
dist/api/captcha/getPoWCaptchaChallenge.js 6.
|
|
165
|
-
dist/api/captcha/getImageCaptchaChallenge.js 6.
|
|
166
|
-
dist/api/captcha/getPuzzleCaptchaChallenge.js 6.84 kB │ gzip: 1.97 kB
|
|
166
|
+
dist/api/captcha/getPoWCaptchaChallenge.js 6.25 kB │ gzip: 1.87 kB
|
|
167
|
+
dist/api/captcha/getImageCaptchaChallenge.js 6.69 kB │ gzip: 2.03 kB
|
|
167
168
|
dist/api/healthzGeo.js 6.86 kB │ gzip: 2.68 kB
|
|
168
|
-
dist/
|
|
169
|
-
dist/
|
|
169
|
+
dist/api/captcha/getPuzzleCaptchaChallenge.js 7.00 kB │ gzip: 2.01 kB
|
|
170
|
+
dist/tasks/spam/checkTrafficFilter.js 7.63 kB │ gzip: 2.61 kB
|
|
171
|
+
dist/api/captcha/submitPoWCaptchaSolution.js 8.70 kB │ gzip: 2.69 kB
|
|
170
172
|
dist/tasks/detection/bundlePool.js 8.86 kB │ gzip: 3.34 kB
|
|
171
173
|
dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js 9.36 kB │ gzip: 1.80 kB
|
|
172
174
|
dist/api/startProviderApi.js 10.02 kB │ gzip: 3.45 kB
|
|
@@ -175,15 +177,15 @@ dist/tasks/client/clientTasks.js 11.27 k
|
|
|
175
177
|
dist/tasks/decisionMachine/decisionMachineRunner.js 12.28 kB │ gzip: 3.85 kB
|
|
176
178
|
dist/util.js 12.47 kB │ gzip: 3.20 kB
|
|
177
179
|
dist/api/blacklistRequestInspector.js 12.75 kB │ gzip: 4.46 kB
|
|
178
|
-
dist/api/verify.js 15.
|
|
179
|
-
dist/tasks/frictionless/frictionlessTasks.js 17.
|
|
180
|
-
dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js 18.
|
|
181
|
-
dist/tasks/puzzleCaptcha/puzzleTasks.js 22.
|
|
182
|
-
dist/tasks/
|
|
183
|
-
dist/tasks/
|
|
184
|
-
dist/tasks/imgCaptcha/imgCaptchaTasks.js
|
|
180
|
+
dist/api/verify.js 15.32 kB │ gzip: 2.84 kB
|
|
181
|
+
dist/tasks/frictionless/frictionlessTasks.js 17.86 kB │ gzip: 4.86 kB
|
|
182
|
+
dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js 18.63 kB │ gzip: 4.53 kB
|
|
183
|
+
dist/tasks/puzzleCaptcha/puzzleTasks.js 22.85 kB │ gzip: 5.14 kB
|
|
184
|
+
dist/tasks/powCaptcha/powTasks.js 24.56 kB │ gzip: 6.17 kB
|
|
185
|
+
dist/tasks/captchaManager.js 24.61 kB │ gzip: 7.41 kB
|
|
186
|
+
dist/tasks/imgCaptcha/imgCaptchaTasks.js 27.39 kB │ gzip: 6.51 kB
|
|
185
187
|
|
|
186
|
-
[32m✓ built in
|
|
188
|
+
[32m✓ built in 198ms[39m
|
|
187
189
|
[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
|
|
188
190
|
[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
|
|
189
191
|
[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,100 @@
|
|
|
1
1
|
# @prosopo/provider
|
|
2
2
|
|
|
3
|
+
## 5.13.3
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- 1291cb0: Dependency security bumps rolled up from Dependabot: undici 6.28.0 → 6.29.0 (provider and prosoponator-bot) and fast-uri 3.1.6 → 3.1.8 (lockfile only).
|
|
7
|
+
- d01f19b: Pin `mongo1.prosopo.io` to its tailnet address inside the provider containers.
|
|
8
|
+
|
|
9
|
+
The providers reached the database over the public internet: out to a traefik TCP router on `prosvr3`, which terminated TLS and re-originated plaintext to the guest. Both provider services now carry an `extra_hosts` entry mapping `mongo1.prosopo.io` to `100.64.0.21`, so the connection goes over WireGuard instead and the encryption terminates on `mongo1` itself rather than on a proxy.
|
|
10
|
+
|
|
11
|
+
The host mapping is the part that makes this work. `mongod` runs `--replSet rs0`, so it advertises itself as `mongo1.prosopo.io:27018`, and the driver re-dials that advertised name in preference to the address it was seeded with. Changing only the connection string sends the traffic straight back out to the load balancer — that is what rolled back the two previous attempts. Overriding the name covers the seed and the advertised host together.
|
|
12
|
+
|
|
13
|
+
The address is written literally rather than interpolated from a compose variable. Eighteen playbooks run `docker compose` against this file, each supplying its own environment, and a variable that any one of them forgets expands to `mongo1.prosopo.io:` and stops the container from starting. It is inert where `mongo1` is not the database — staging points at a different host.
|
|
14
|
+
- 254bc05: Add an optional `padBytes` to traffic-filter category policies, so an operator can tarpit a category (e.g. proxy) instead of hard-blocking it: pair a high `powDifficulty` with `padBytes` and that category's challenge is made expensive in both CPU and bandwidth.
|
|
15
|
+
|
|
16
|
+
When a request matches a category that carries `padBytes` — `challenge` or `block`, since a blocked category still hands out a deferred challenge at request time — the provider appends that many bytes of incompressible padding to the challenge issuance response. So a category set to `block` still burns the caller's bandwidth on the way to being blocked. The count is resolved from the live traffic-filter verdict at request time — nothing is persisted, and the bytes never come from the client. The padding is streamed pad-first (before the real challenge fields) so a scraper can't read the prefix and abort, and it is bounded at 5 MiB so it can't be turned into an amplifier.
|
|
17
|
+
|
|
18
|
+
Off by default and fully backward-compatible: with no `padBytes` configured, responses are byte-for-byte unchanged. A single response-wrapping middleware applies the padding, so no challenge endpoint can bypass it.
|
|
19
|
+
- Updated dependencies [254bc05]
|
|
20
|
+
- @prosopo/types@5.11.1
|
|
21
|
+
- @prosopo/api@4.3.7
|
|
22
|
+
- @prosopo/api-express-router@3.1.97
|
|
23
|
+
- @prosopo/database@4.1.1
|
|
24
|
+
- @prosopo/datasets@3.1.93
|
|
25
|
+
- @prosopo/env@3.6.66
|
|
26
|
+
- @prosopo/ipinfo@0.4.12
|
|
27
|
+
- @prosopo/keyring@2.9.99
|
|
28
|
+
- @prosopo/load-balancer@2.11.3
|
|
29
|
+
- @prosopo/types-database@5.7.1
|
|
30
|
+
- @prosopo/types-env@2.11.12
|
|
31
|
+
- @prosopo/user-access-policy@3.14.13
|
|
32
|
+
|
|
33
|
+
## 5.13.2
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- f650c66: A Web Bot Auth (authenticated) token can now only be verified once, even when several verify requests for it arrive at the same time. Before, the provider checked whether the session was already used and then marked it used in a separate step, so parallel verifies could all return `verified: true`. Marking the session used is now a single conditional database write, and only the request that wins it is verified; the rest get `API.USER_ALREADY_VERIFIED`.
|
|
37
|
+
- e482b25: When a captcha challenge, solution or verify request fails to parse, the provider now logs a short summary of the body (its type, size, top-level keys and a preview of at most 512 characters) instead of the whole body. Signature, token, secret, proof, salt, email, password and IP fields are replaced with `[redacted]` in the preview, however deeply they are nested. Before, a caller could post a body close to the 1 MB limit and have all of it copied into the logs, including any tokens and signatures it carried.
|
|
38
|
+
- 8933ad5: Build the proofs returned after a passed image captcha from the right leaves, and refuse to build a proof for a hash that is not a leaf.
|
|
39
|
+
|
|
40
|
+
The provider asked the commitment tree for a proof of each captcha ID, but the tree's leaves are solution hashes, so no captcha ID is ever a leaf. `proof()` did not check, and returned a proof that linked nothing to the root. The provider now asks for a proof of each leaf, and `proof()` throws `DATASET.MERKLE_ERROR` when the hash is not a leaf. Several merkle tests that could never fail (`expect(x > -1)`) now assert properly.
|
|
41
|
+
- 026b126: A PoW captcha challenge can now only be submitted once. Before, submitting the same solved challenge again after the site's server had verified the token reset the record to "not yet checked", so the same token could pass server verification a second time for as long as the verify window lasted. Puzzle captchas already refused a second submission, and PoW now does the same.
|
|
42
|
+
- 0c8678e: The DNS event ingest endpoint now checks each event on its own. One malformed event used to make
|
|
43
|
+
the whole batch fail validation, so every good event sent alongside it was lost. Bad events are now
|
|
44
|
+
dropped and counted, the rest are stored, and the response reports how many were dropped. A single
|
|
45
|
+
warning names up to five of the dropped events and why they failed.
|
|
46
|
+
- b77c5f4: The image captcha widget now tells the provider whether each tile, and the checkbox, was picked with a mouse or finger or with the keyboard. Keyboard presses have no screen position, so they all arrive as (0, 0). The provider used to see those repeats as a script clicking the same pixel and reject people who solve with the keyboard. It now looks for repeated positions among pointer selections only. It rejects a keyboard selection that claims a position. Requests from older widgets, which send no input method, are checked as strictly as before. The input method is stored on the commitment next to the coordinates.
|
|
47
|
+
- 7065689: Removed the Redis session write queue. Nothing ever put a session on it, yet every provider polled Redis for it every 10 seconds, and its drain step could duplicate, drop or delete records if it had ever been used. `RedisWriteQueue` loses `queueSessionRecord`, `drainSessionRecords`, `startPeriodicFlush` and `stopPeriodicFlush`, and `Tasks.flushWriteQueue` is gone. The session read cache is unchanged.
|
|
48
|
+
- 9318584: A frictionless session can now only be used by the site it was issued for. Before, a session created on one site, for example one set up for easy PoW, could be passed with a request for a different site and the provider would issue the captcha type and difficulty chosen for the first site. The provider now refuses the session when its site key does not match the site asking for a captcha, with the same "no session found" answer it gives for an unknown session.
|
|
49
|
+
- 084da7e: Changing an access rule now reliably clears the provider's cached block verdicts. A verdict lookup that was already running when the rules changed used to finish afterwards and write the old answer back into the cache, so a just-deleted block rule could keep blocking (or a just-added one keep allowing) for up to ten more seconds. Lookups that started before the change no longer write their result, and new requests no longer wait on them.
|
|
50
|
+
- fa316d6: A captcha token now verifies at most once even when a site's server sends several verify requests for it at the same moment. Before, each request read the record, saw it had not been checked yet, and then marked it checked, so every request that arrived before the first write finished was accepted. Marking a PoW, puzzle or image result as checked is now a single conditional write, and only the request that wins it is verified. The same applies to image captcha submissions: a request hash can now only be spent by one submission, so answers can no longer be tried in parallel against one challenge.
|
|
51
|
+
- 9ed0ac5: Web Bot Auth signatures are now held to the replay window the spec requires. A signature must carry `created`, `expires` and `tag="web-bot-auth"`. It is rejected if it was created in the future (allowing 5s of clock skew) or if it stays valid for more than 24 hours. Before this, a signature with no `expires` could be replayed forever.
|
|
52
|
+
|
|
53
|
+
The signer key directory is fetched more carefully, since its URL comes from a request header:
|
|
54
|
+
- The URL must be https and a public hostname. IP literals, localhost and dotless hosts are refused, except in test and development.
|
|
55
|
+
- The fetch times out after 3s and does not follow redirects.
|
|
56
|
+
- The body is capped at 64KiB.
|
|
57
|
+
- The cache holds at most 1000 entries, each for at most 24 hours.
|
|
58
|
+
- Updated dependencies [f650c66]
|
|
59
|
+
- Updated dependencies [59b7e87]
|
|
60
|
+
- Updated dependencies [b5e55a6]
|
|
61
|
+
- Updated dependencies [e5aefc6]
|
|
62
|
+
- Updated dependencies [d528f41]
|
|
63
|
+
- Updated dependencies [8933ad5]
|
|
64
|
+
- Updated dependencies [5375d10]
|
|
65
|
+
- Updated dependencies [294b480]
|
|
66
|
+
- Updated dependencies [0a4ae2f]
|
|
67
|
+
- Updated dependencies [0c8678e]
|
|
68
|
+
- Updated dependencies [b77c5f4]
|
|
69
|
+
- Updated dependencies [4109641]
|
|
70
|
+
- Updated dependencies [7065689]
|
|
71
|
+
- Updated dependencies [dab0338]
|
|
72
|
+
- Updated dependencies [dffecf0]
|
|
73
|
+
- Updated dependencies [0d29dde]
|
|
74
|
+
- Updated dependencies [fa316d6]
|
|
75
|
+
- Updated dependencies [9ed0ac5]
|
|
76
|
+
- @prosopo/database@4.1.0
|
|
77
|
+
- @prosopo/types-database@5.7.0
|
|
78
|
+
- @prosopo/types@5.11.0
|
|
79
|
+
- @prosopo/common@3.1.60
|
|
80
|
+
- @prosopo/load-balancer@2.11.2
|
|
81
|
+
- @prosopo/captcha-severity@1.1.2
|
|
82
|
+
- @prosopo/datasets@3.1.92
|
|
83
|
+
- @prosopo/locale@3.6.1
|
|
84
|
+
- @prosopo/native-ja4@0.0.7
|
|
85
|
+
- @prosopo/redis-client@1.0.38
|
|
86
|
+
- @prosopo/api@4.3.6
|
|
87
|
+
- @prosopo/util@3.3.12
|
|
88
|
+
- @prosopo/web-bot-auth@0.1.3
|
|
89
|
+
- @prosopo/env@3.6.65
|
|
90
|
+
- @prosopo/types-env@2.11.11
|
|
91
|
+
- @prosopo/api-express-router@3.1.96
|
|
92
|
+
- @prosopo/ipinfo@0.4.11
|
|
93
|
+
- @prosopo/keyring@2.9.98
|
|
94
|
+
- @prosopo/user-access-policy@3.14.12
|
|
95
|
+
- @prosopo/api-route@2.6.61
|
|
96
|
+
- @prosopo/logger@2.1.1
|
|
97
|
+
|
|
3
98
|
## 5.13.1
|
|
4
99
|
### Patch Changes
|
|
5
100
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
2
|
import type { IIpInfoService } from "@prosopo/ipinfo";
|
|
3
3
|
import { type Logger } from "@prosopo/logger";
|
|
4
|
-
import { type DnsEvent,
|
|
4
|
+
import { type DnsEvent, DnsEventIngestBatchSchema } from "@prosopo/types";
|
|
5
5
|
import type { IProviderDatabase } from "@prosopo/types-database";
|
|
6
6
|
import type { z } from "zod";
|
|
7
|
-
type DnsEventBatchSchemaType = typeof
|
|
7
|
+
type DnsEventBatchSchemaType = typeof DnsEventIngestBatchSchema;
|
|
8
8
|
export declare const dnsEventToFields: (event: DnsEvent) => {
|
|
9
9
|
resolverIp?: string;
|
|
10
10
|
peerIp?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiDnsEventEndpoint.d.ts","sourceRoot":"","sources":["../../../src/api/admin/apiDnsEventEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"apiDnsEventEndpoint.d.ts","sourceRoot":"","sources":["../../../src/api/admin/apiDnsEventEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACN,KAAK,QAAQ,EACb,yBAAyB,EAEzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAU7B,KAAK,uBAAuB,GAAG,OAAO,yBAAyB,CAAC;AAGhE,eAAO,MAAM,gBAAgB,UACrB,QAAQ,KACb;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAW7D,CAAC;AAEF,cAAM,mBAAoB,YAAW,WAAW,CAAC,uBAAuB,CAAC;IAEvE,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;gBADd,EAAE,EAAE,iBAAiB,EACrB,aAAa,CAAC,EAAE,cAAc,YAAA;IAG1C,cAAc,CACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,EACtC,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;IAuExB,oBAAoB,IAAI,uBAAuB;YAIxC,qBAAqB;CAkCnC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { computeDnsAsymmetry, enrichDnsEvent } from "../../tasks/dnsEvent/enrichDnsEvent.js";
|
|
2
2
|
import { getLogger } from "@prosopo/logger";
|
|
3
|
-
import {
|
|
3
|
+
import { DnsEventIngestBatchSchema, DnsEventSchema } from "@prosopo/types";
|
|
4
4
|
import { ApiEndpointResponseStatus } from "@prosopo/api-route";
|
|
5
5
|
//#region src/api/admin/apiDnsEventEndpoint.ts
|
|
6
|
+
var MAX_LOGGED_INVALID = 5;
|
|
6
7
|
var dnsEventToFields = (event) => {
|
|
7
8
|
if (event.kind === "dns") return { resolverIp: event.src_ip };
|
|
8
9
|
const out = { peerIp: event.src_ip };
|
|
@@ -19,8 +20,20 @@ var ApiDnsEventEndpoint = class {
|
|
|
19
20
|
const { events } = args;
|
|
20
21
|
let stored = 0;
|
|
21
22
|
let errors = 0;
|
|
23
|
+
let dropped = 0;
|
|
24
|
+
const invalid = [];
|
|
22
25
|
const now = /* @__PURE__ */ new Date();
|
|
23
|
-
for (const
|
|
26
|
+
for (const [index, raw] of events.entries()) {
|
|
27
|
+
const parsed = DnsEventSchema.safeParse(raw);
|
|
28
|
+
if (!parsed.success) {
|
|
29
|
+
dropped += 1;
|
|
30
|
+
if (invalid.length < MAX_LOGGED_INVALID) invalid.push({
|
|
31
|
+
index,
|
|
32
|
+
issues: parsed.error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`)
|
|
33
|
+
});
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const event = parsed.data;
|
|
24
37
|
const sessionId = event.jti;
|
|
25
38
|
if (!sessionId) continue;
|
|
26
39
|
try {
|
|
@@ -41,11 +54,20 @@ var ApiDnsEventEndpoint = class {
|
|
|
41
54
|
}));
|
|
42
55
|
}
|
|
43
56
|
}
|
|
57
|
+
if (dropped > 0) logger.warn(() => ({
|
|
58
|
+
data: {
|
|
59
|
+
received: events.length,
|
|
60
|
+
dropped,
|
|
61
|
+
invalid
|
|
62
|
+
},
|
|
63
|
+
msg: "Dropped invalid DNS events from batch"
|
|
64
|
+
}));
|
|
44
65
|
logger.info(() => ({
|
|
45
66
|
data: {
|
|
46
67
|
received: events.length,
|
|
47
68
|
stored,
|
|
48
|
-
errors
|
|
69
|
+
errors,
|
|
70
|
+
dropped
|
|
49
71
|
},
|
|
50
72
|
msg: "Processed DNS event batch"
|
|
51
73
|
}));
|
|
@@ -53,12 +75,13 @@ var ApiDnsEventEndpoint = class {
|
|
|
53
75
|
status: ApiEndpointResponseStatus.SUCCESS,
|
|
54
76
|
data: {
|
|
55
77
|
stored,
|
|
56
|
-
errors
|
|
78
|
+
errors,
|
|
79
|
+
dropped
|
|
57
80
|
}
|
|
58
81
|
};
|
|
59
82
|
}
|
|
60
83
|
getRequestArgsSchema() {
|
|
61
|
-
return
|
|
84
|
+
return DnsEventIngestBatchSchema;
|
|
62
85
|
}
|
|
63
86
|
async recomputeDnsAsymmetry(sessionId, logger) {
|
|
64
87
|
if (!this.ipInfoService) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiDnsEventEndpoint.js","sourceRoot":"","sources":["../../../src/api/admin/apiDnsEventEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"apiDnsEventEndpoint.js","sourceRoot":"","sources":["../../../src/api/admin/apiDnsEventEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAEN,yBAAyB,EACzB,cAAc,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACN,mBAAmB,EACnB,cAAc,GACd,MAAM,wCAAwC,CAAC;AAIhD,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAK7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC/B,KAAe,EACiD,EAAE;IAClE,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,GAAG,GAA4C;QACpD,MAAM,EAAE,KAAK,CAAC,MAAM;KACpB,CAAC;IACF,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3C,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,mBAAmB;IACxB,YACkB,EAAqB,EACrB,aAA8B;QAD9B,OAAE,GAAF,EAAE,CAAmB;QACrB,kBAAa,GAAb,aAAa,CAAiB;IAC7C,CAAC;IAEJ,KAAK,CAAC,cAAc,CACnB,IAAsC,EACtC,MAAe;QAEf,MAAM,GAAG,MAAM;YACd,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,wBAAwB,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;QACxD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAExB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,OAAO,GAA0C,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,CAAC;gBACb,IAAI,OAAO,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;oBACzC,OAAO,CAAC,IAAI,CAAC;wBACZ,KAAK;wBACL,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAC9B,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CACtD;qBACD,CAAC,CAAC;gBACJ,CAAC;gBACD,SAAS;YACV,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC;YAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,SAAS;YACV,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,oBAAoB,CACjD,SAAS,EACT,MAAM,EACN,GAAG,CACH,CAAC;gBACF,IAAI,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,CAAC,CAAC;oBACZ,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACrD,CAAC;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAClB,GAAG;oBACH,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;oBACrC,GAAG,EAAE,wCAAwC;iBAC7C,CAAC,CAAC,CAAC;YACL,CAAC;QACF,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClB,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;gBACnD,GAAG,EAAE,uCAAuC;aAC5C,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAClB,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;YAC1D,GAAG,EAAE,2BAA2B;SAChC,CAAC,CAAC,CAAC;QAEJ,OAAO;YACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;YACzC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;SACjC,CAAC;IACH,CAAC;IAEM,oBAAoB;QAC1B,OAAO,yBAAyB,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAClC,SAAiB,EACjB,MAAc;QAEd,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,EAAE,QAAQ;gBAAE,OAAO;YAC/B,MAAM,QAAQ,GAAG,MAAM,cAAc,CACpC,OAAO,CAAC,QAAQ,EAChB,IAAI,CAAC,aAAa,EAClB,OAAO,CAAC,MAAM,EAAE,EAAE,CAClB,CAAC;YAKF,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACnE,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE;oBAC5C,eAAe,EAAE;wBAChB,GAAG,OAAO,CAAC,eAAe;wBAC1B,YAAY;qBACZ;iBACD,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClB,GAAG;gBACH,IAAI,EAAE,EAAE,SAAS,EAAE;gBACnB,GAAG,EAAE,wDAAwD;aAC7D,CAAC,CAAC,CAAC;QACL,CAAC;IACF,CAAC;CACD;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;8BAuCtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/api/captcha/getFrictionlessCaptchaChallenge/handler.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;8BAuCtD,mBAAmB,0BACA,kBAAkB,WAGpC,OAAO,GAAG,gBAAgB,OAC1B,QAAQ,QACP,YAAY;AAPpB,wBA43BG"}
|
|
@@ -237,7 +237,7 @@ var handler_default = (env, userAccessRulesStorage) => async (req, res, next) =>
|
|
|
237
237
|
method: req.method,
|
|
238
238
|
url: `https://${req.headers.host ?? ""}${req.originalUrl ?? req.url}`,
|
|
239
239
|
headers: flatten(req.headers)
|
|
240
|
-
});
|
|
240
|
+
}, { allowLocalSigners: process.env.NODE_ENV === "test" || process.env.NODE_ENV === "development" });
|
|
241
241
|
const verifiedSignerUrl = verified.verified ? verified.signerUrl : void 0;
|
|
242
242
|
const userScope = getRequestUserScope(flatten(req.headers), req.ja4, normalizedIp, user, void 0, void 0, countryCode, asn, verifiedSignerUrl);
|
|
243
243
|
const [decryptedPayload, validation, accessPolicies] = await Promise.all([
|