@prosopo/provider 5.14.0 → 5.16.0
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 +62 -46
- package/.turbo/turbo-build$colon$tsc.log +37 -34
- package/.turbo/turbo-build.log +63 -50
- package/CHANGELOG.md +193 -0
- package/LICENSE +201 -0
- package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts +4 -0
- package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts.map +1 -1
- package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js +63 -3
- package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js.map +1 -1
- package/dist/api/blacklistRequestInspector.js +2 -2
- package/dist/api/captcha/getAudioCaptchaChallenge.d.ts +5 -0
- package/dist/api/captcha/getAudioCaptchaChallenge.d.ts.map +1 -0
- package/dist/api/captcha/getAudioCaptchaChallenge.js +37 -0
- package/dist/api/captcha/getAudioCaptchaChallenge.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +2 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js +11 -2
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +26 -15
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts +5 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js +20 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js.map +1 -1
- package/dist/api/captcha/getIconOrderCaptchaChallenge.d.ts +5 -0
- package/dist/api/captcha/getIconOrderCaptchaChallenge.d.ts.map +1 -0
- package/dist/api/captcha/getIconOrderCaptchaChallenge.js +37 -0
- package/dist/api/captcha/getIconOrderCaptchaChallenge.js.map +1 -0
- package/dist/api/captcha/getImageCaptchaChallenge.js +2 -2
- package/dist/api/captcha/getPoWCaptchaChallenge.js +4 -4
- package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts +1 -3
- package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js +53 -146
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/interactiveCaptchaChallenge.d.ts +42 -0
- package/dist/api/captcha/interactiveCaptchaChallenge.d.ts.map +1 -0
- package/dist/api/captcha/interactiveCaptchaChallenge.js +154 -0
- package/dist/api/captcha/interactiveCaptchaChallenge.js.map +1 -0
- package/dist/api/captcha/interactiveCaptchaSolution.d.ts +14 -0
- package/dist/api/captcha/interactiveCaptchaSolution.d.ts.map +1 -0
- package/dist/api/captcha/interactiveCaptchaSolution.js +77 -0
- package/dist/api/captcha/interactiveCaptchaSolution.js.map +1 -0
- package/dist/api/captcha/maintenanceModeResponses.d.ts +4 -2
- package/dist/api/captcha/maintenanceModeResponses.d.ts.map +1 -1
- package/dist/api/captcha/maintenanceModeResponses.js +28 -1
- package/dist/api/captcha/maintenanceModeResponses.js.map +1 -1
- package/dist/api/captcha/submitAudioCaptchaSolution.d.ts +4 -0
- package/dist/api/captcha/submitAudioCaptchaSolution.d.ts.map +1 -0
- package/dist/api/captcha/submitAudioCaptchaSolution.js +11 -0
- package/dist/api/captcha/submitAudioCaptchaSolution.js.map +1 -0
- package/dist/api/captcha/submitIconOrderCaptchaSolution.d.ts +4 -0
- package/dist/api/captcha/submitIconOrderCaptchaSolution.d.ts.map +1 -0
- package/dist/api/captcha/submitIconOrderCaptchaSolution.js +11 -0
- package/dist/api/captcha/submitIconOrderCaptchaSolution.js.map +1 -0
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts +4 -11
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.js +13 -18
- package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
- package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts +1 -3
- package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts.map +1 -1
- package/dist/api/captcha/submitPuzzleCaptchaSolution.js +6 -73
- package/dist/api/captcha/submitPuzzleCaptchaSolution.js.map +1 -1
- package/dist/api/captcha/trafficFilterRequestTime.d.ts +4 -1
- package/dist/api/captcha/trafficFilterRequestTime.d.ts.map +1 -1
- package/dist/api/captcha/trafficFilterRequestTime.js +3 -0
- package/dist/api/captcha/trafficFilterRequestTime.js.map +1 -1
- package/dist/api/captcha.d.ts.map +1 -1
- package/dist/api/captcha.js +8 -0
- package/dist/api/captcha.js.map +1 -1
- package/dist/api/domainMiddleware.js +1 -1
- package/dist/api/ja4Middleware.js +1 -1
- package/dist/api/rawTlsSignalsMiddleware.d.ts +14 -1
- package/dist/api/rawTlsSignalsMiddleware.d.ts.map +1 -1
- package/dist/api/rawTlsSignalsMiddleware.js +111 -23
- package/dist/api/rawTlsSignalsMiddleware.js.map +1 -1
- package/dist/api/startProviderApi.js +2 -2
- package/dist/api/verify.d.ts.map +1 -1
- package/dist/api/verify.js +153 -96
- package/dist/api/verify.js.map +1 -1
- package/dist/cjs/api/admin/apiToggleMaintenanceModeEndpoint.cjs +65 -2
- package/dist/cjs/api/blacklistRequestInspector.cjs +2 -2
- package/dist/cjs/api/captcha/getAudioCaptchaChallenge.cjs +37 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs +10 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +1 -1
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +25 -14
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.cjs +20 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +1 -0
- package/dist/cjs/api/captcha/getIconOrderCaptchaChallenge.cjs +37 -0
- package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +2 -2
- package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +4 -4
- package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +52 -145
- package/dist/cjs/api/captcha/interactiveCaptchaChallenge.cjs +154 -0
- package/dist/cjs/api/captcha/interactiveCaptchaSolution.cjs +77 -0
- package/dist/cjs/api/captcha/maintenanceModeResponses.cjs +29 -0
- package/dist/cjs/api/captcha/submitAudioCaptchaSolution.cjs +11 -0
- package/dist/cjs/api/captcha/submitIconOrderCaptchaSolution.cjs +11 -0
- package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +11 -16
- package/dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs +6 -73
- package/dist/cjs/api/captcha/trafficFilterRequestTime.cjs +3 -0
- package/dist/cjs/api/captcha.cjs +8 -0
- package/dist/cjs/api/domainMiddleware.cjs +1 -1
- package/dist/cjs/api/ja4Middleware.cjs +1 -1
- package/dist/cjs/api/rawTlsSignalsMiddleware.cjs +111 -22
- package/dist/cjs/api/startProviderApi.cjs +2 -2
- package/dist/cjs/api/verify.cjs +152 -95
- package/dist/cjs/compositeIpAddress.cjs +21 -7
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/tasks/audio/audioBuffer.cjs +72 -0
- package/dist/cjs/tasks/audio/audioRenderer.cjs +32 -0
- package/dist/cjs/tasks/audioAlternative.cjs +23 -0
- package/dist/cjs/tasks/audioCaptcha/audioTasks.cjs +65 -0
- package/dist/cjs/tasks/audioCaptcha/audioTasksUtils.cjs +19 -0
- package/dist/cjs/tasks/captchaManager.cjs +28 -1
- package/dist/cjs/tasks/captchaTypeSelection.cjs +31 -3
- package/dist/cjs/tasks/client/clientTasks.cjs +2 -2
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +49 -26
- package/dist/cjs/tasks/iconOrder/iconOrderRenderer.cjs +42 -0
- package/dist/cjs/tasks/iconOrderCaptcha/iconOrderTasks.cjs +69 -0
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +10 -17
- package/dist/cjs/tasks/interactiveCaptcha/interactiveCaptchaManager.cjs +423 -0
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +15 -19
- package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +3 -1
- package/dist/cjs/tasks/puzzle/backgroundBuffer.cjs +3 -3
- package/dist/cjs/tasks/puzzle/nativeBackground.cjs +12 -5
- package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +4 -3
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +40 -493
- package/dist/cjs/tasks/spam/checkTrafficFilter.cjs +18 -1
- package/dist/cjs/tasks/tasks.cjs +6 -0
- package/dist/cjs/util.cjs +1 -1
- package/dist/compositeIpAddress.d.ts.map +1 -1
- package/dist/compositeIpAddress.js +21 -7
- package/dist/compositeIpAddress.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/tasks/audio/audioBuffer.d.ts +23 -0
- package/dist/tasks/audio/audioBuffer.d.ts.map +1 -0
- package/dist/tasks/audio/audioBuffer.js +70 -0
- package/dist/tasks/audio/audioBuffer.js.map +1 -0
- package/dist/tasks/audio/audioRenderer.d.ts +11 -0
- package/dist/tasks/audio/audioRenderer.d.ts.map +1 -0
- package/dist/tasks/audio/audioRenderer.js +31 -0
- package/dist/tasks/audio/audioRenderer.js.map +1 -0
- package/dist/tasks/audioAlternative.d.ts +8 -0
- package/dist/tasks/audioAlternative.d.ts.map +1 -0
- package/dist/tasks/audioAlternative.js +20 -0
- package/dist/tasks/audioAlternative.js.map +1 -0
- package/dist/tasks/audioCaptcha/audioTasks.d.ts +19 -0
- package/dist/tasks/audioCaptcha/audioTasks.d.ts.map +1 -0
- package/dist/tasks/audioCaptcha/audioTasks.js +65 -0
- package/dist/tasks/audioCaptcha/audioTasks.js.map +1 -0
- package/dist/tasks/audioCaptcha/audioTasksUtils.d.ts +3 -0
- package/dist/tasks/audioCaptcha/audioTasksUtils.d.ts.map +1 -0
- package/dist/tasks/audioCaptcha/audioTasksUtils.js +18 -0
- package/dist/tasks/audioCaptcha/audioTasksUtils.js.map +1 -0
- package/dist/tasks/captchaManager.d.ts +9 -3
- package/dist/tasks/captchaManager.d.ts.map +1 -1
- package/dist/tasks/captchaManager.js +29 -2
- package/dist/tasks/captchaManager.js.map +1 -1
- package/dist/tasks/captchaTypeSelection.d.ts +4 -2
- package/dist/tasks/captchaTypeSelection.d.ts.map +1 -1
- package/dist/tasks/captchaTypeSelection.js +32 -5
- package/dist/tasks/captchaTypeSelection.js.map +1 -1
- package/dist/tasks/client/clientTasks.js +2 -2
- package/dist/tasks/frictionless/frictionlessTasks.d.ts +6 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +51 -28
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/frictionless/routingMachine.d.ts +1 -2
- package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
- package/dist/tasks/frictionless/routingMachine.js.map +1 -1
- package/dist/tasks/iconOrder/iconOrderRenderer.d.ts +12 -0
- package/dist/tasks/iconOrder/iconOrderRenderer.d.ts.map +1 -0
- package/dist/tasks/iconOrder/iconOrderRenderer.js +40 -0
- package/dist/tasks/iconOrder/iconOrderRenderer.js.map +1 -0
- package/dist/tasks/iconOrderCaptcha/iconOrderTasks.d.ts +22 -0
- package/dist/tasks/iconOrderCaptcha/iconOrderTasks.d.ts.map +1 -0
- package/dist/tasks/iconOrderCaptcha/iconOrderTasks.js +69 -0
- package/dist/tasks/iconOrderCaptcha/iconOrderTasks.js.map +1 -0
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +10 -17
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
- package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.d.ts +52 -0
- package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.d.ts.map +1 -0
- package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js +423 -0
- package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js.map +1 -0
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +15 -19
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts +1 -0
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasksUtils.js +3 -2
- package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -1
- package/dist/tasks/puzzle/backgroundBuffer.d.ts +3 -2
- package/dist/tasks/puzzle/backgroundBuffer.d.ts.map +1 -1
- package/dist/tasks/puzzle/backgroundBuffer.js +3 -3
- package/dist/tasks/puzzle/backgroundBuffer.js.map +1 -1
- package/dist/tasks/puzzle/nativeBackground.d.ts +5 -1
- package/dist/tasks/puzzle/nativeBackground.d.ts.map +1 -1
- package/dist/tasks/puzzle/nativeBackground.js +12 -5
- package/dist/tasks/puzzle/nativeBackground.js.map +1 -1
- package/dist/tasks/puzzle/puzzleRenderer.d.ts +2 -0
- package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
- package/dist/tasks/puzzle/puzzleRenderer.js +4 -3
- package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts +14 -16
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +41 -494
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
- package/dist/tasks/spam/checkTrafficFilter.d.ts +4 -1
- package/dist/tasks/spam/checkTrafficFilter.d.ts.map +1 -1
- package/dist/tasks/spam/checkTrafficFilter.js +18 -1
- package/dist/tasks/spam/checkTrafficFilter.js.map +1 -1
- package/dist/tasks/tasks.d.ts +4 -0
- package/dist/tasks/tasks.d.ts.map +1 -1
- package/dist/tasks/tasks.js +6 -0
- package/dist/tasks/tasks.js.map +1 -1
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +7 -3
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -1
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js +44 -2
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +4 -2
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -1
- package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.js +76 -1
- package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js +54 -2
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js +45 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/refreshLineage.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js +20 -0
- package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js +15 -1
- package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js.map +1 -1
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +174 -0
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
- package/dist/tests/unit/api/rawTlsSignalsMiddleware.unit.test.js +96 -1
- package/dist/tests/unit/api/rawTlsSignalsMiddleware.unit.test.js.map +1 -1
- package/dist/tests/unit/compositeIpAddress.unit.test.js +12 -3
- package/dist/tests/unit/compositeIpAddress.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.js +105 -0
- package/dist/tests/unit/tasks/audio/audioBuffer.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/audioAlternative.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/audioAlternative.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/audioAlternative.unit.test.js +76 -0
- package/dist/tests/unit/tasks/audioAlternative.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.js +259 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasks.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.js +52 -0
- package/dist/tests/unit/tasks/audioCaptcha/audioTasksUtils.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +171 -2
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js +68 -6
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js +123 -0
- package/dist/tests/unit/tasks/frictionless/allowedCaptchaTypes.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +31 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js +103 -0
- package/dist/tests/unit/tasks/frictionless/refreshSwitch.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js +28 -0
- package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.js +60 -0
- package/dist/tests/unit/tasks/iconOrder/iconOrderRenderer.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.js +225 -0
- package/dist/tests/unit/tasks/iconOrderCaptcha/iconOrderTasks.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +23 -1
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.js +1 -4
- package/dist/tests/unit/tasks/puzzle/backgroundBuffer.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js +10 -3
- package/dist/tests/unit/tasks/puzzle/nativeBackground.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.js +35 -0
- package/dist/tests/unit/tasks/puzzle/puzzleRenderer.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.js +49 -0
- package/dist/tests/unit/tasks/puzzleDifficultyDeviceCap.unit.test.js.map +1 -0
- package/dist/tests/unit/testUtils/mockProviderEnv.d.ts +17 -14
- package/dist/tests/unit/testUtils/mockProviderEnv.d.ts.map +1 -1
- package/dist/tests/unit/testUtils/mockProviderEnv.js.map +1 -1
- package/dist/util.js +1 -1
- package/package.json +107 -103
|
@@ -1,78 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Tasks } from "../../tasks/tasks.js";
|
|
3
|
-
import { getMaintenanceMode } from "../admin/apiToggleMaintenanceModeEndpoint.js";
|
|
4
|
-
import { resolveTestSiteKeyVerdict } from "../testSiteKey.js";
|
|
5
|
-
import { summariseRequestBody } from "../requestBodySummary.js";
|
|
6
|
-
import { ProsopoApiError } from "@prosopo/common";
|
|
1
|
+
import { interactiveSolutionHandler } from "./interactiveCaptchaSolution.js";
|
|
7
2
|
import { SubmitPuzzleCaptchaSolutionBody } from "@prosopo/types";
|
|
8
3
|
import { flatten, getIPAddress } from "@prosopo/util";
|
|
9
4
|
//#region src/api/captcha/submitPuzzleCaptchaSolution.ts
|
|
10
|
-
var submitPuzzleCaptchaSolution_default = (env) =>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
verified: true
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
let parsed;
|
|
19
|
-
const tasks = new Tasks(env, req.logger);
|
|
20
|
-
try {
|
|
21
|
-
parsed = SubmitPuzzleCaptchaSolutionBody.parse(req.body);
|
|
22
|
-
} catch (err) {
|
|
23
|
-
return next(new ProsopoApiError("CAPTCHA.PARSE_ERROR", {
|
|
24
|
-
context: {
|
|
25
|
-
code: 400,
|
|
26
|
-
error: err,
|
|
27
|
-
body: summariseRequestBody(req)
|
|
28
|
-
},
|
|
29
|
-
i18n: req.i18n,
|
|
30
|
-
logger: req.logger
|
|
31
|
-
}));
|
|
32
|
-
}
|
|
33
|
-
const { challenge, signature, finalX, finalY, puzzleEvents, dapp, user, behavioralData, salt, simdReadings, clientMetaData } = parsed;
|
|
34
|
-
validateSiteKey(dapp);
|
|
35
|
-
validateAddr(user);
|
|
36
|
-
const testVerdict = resolveTestSiteKeyVerdict(dapp, req.logger);
|
|
37
|
-
if (testVerdict !== null) {
|
|
38
|
-
const response = {
|
|
39
|
-
status: "ok",
|
|
40
|
-
verified: testVerdict
|
|
41
|
-
};
|
|
42
|
-
return res.json(response);
|
|
43
|
-
}
|
|
44
|
-
try {
|
|
45
|
-
const clientRecord = await tasks.db.getClientRecord(dapp);
|
|
46
|
-
if (!clientRecord) return next(new ProsopoApiError("API.SITE_KEY_NOT_REGISTERED", {
|
|
47
|
-
context: {
|
|
48
|
-
code: 400,
|
|
49
|
-
siteKey: dapp
|
|
50
|
-
},
|
|
51
|
-
i18n: req.i18n,
|
|
52
|
-
logger: req.logger
|
|
53
|
-
}));
|
|
54
|
-
const submitWindowMs = clientRecord.settings.solutionTimeout ?? clientRecord.settings.verifiedTimeout;
|
|
55
|
-
const response = {
|
|
56
|
-
status: "ok",
|
|
57
|
-
verified: await tasks.puzzleCaptchaManager.verifyPuzzleCaptchaSolution(challenge, signature.provider.challenge, finalX, finalY, puzzleEvents, submitWindowMs, signature.user.timestamp, getIPAddress(req.ip || ""), flatten(req.headers), behavioralData, salt, simdReadings, clientMetaData)
|
|
58
|
-
};
|
|
59
|
-
return res.json(response);
|
|
60
|
-
} catch (err) {
|
|
61
|
-
req.logger.error(() => ({
|
|
62
|
-
err,
|
|
63
|
-
body: summariseRequestBody(req),
|
|
64
|
-
msg: "Error in puzzle captcha solution submission"
|
|
65
|
-
}));
|
|
66
|
-
return next(new ProsopoApiError("API.BAD_REQUEST", {
|
|
67
|
-
context: {
|
|
68
|
-
code: 500,
|
|
69
|
-
siteKey: req.body.dapp,
|
|
70
|
-
error: err
|
|
71
|
-
},
|
|
72
|
-
i18n: req.i18n,
|
|
73
|
-
logger: req.logger
|
|
74
|
-
}));
|
|
75
|
-
}
|
|
76
|
-
};
|
|
5
|
+
var submitPuzzleCaptchaSolution_default = (env) => interactiveSolutionHandler(env, {
|
|
6
|
+
label: "puzzle",
|
|
7
|
+
parse: (body) => SubmitPuzzleCaptchaSolutionBody.parse(body),
|
|
8
|
+
verify: (tasks, body, submitWindowMs, req) => tasks.puzzleCaptchaManager.verifyPuzzleCaptchaSolution(body.challenge, body.signature.provider.challenge, body.finalX, body.finalY, body.puzzleEvents, submitWindowMs, body.signature.user.timestamp, getIPAddress(req.ip || ""), flatten(req.headers), body.behavioralData, body.salt, body.simdReadings, body.clientMetaData)
|
|
9
|
+
});
|
|
77
10
|
//#endregion
|
|
78
11
|
export { submitPuzzleCaptchaSolution_default as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submitPuzzleCaptchaSolution.js","sourceRoot":"","sources":["../../../src/api/captcha/submitPuzzleCaptchaSolution.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"submitPuzzleCaptchaSolution.js","sourceRoot":"","sources":["../../../src/api/captcha/submitPuzzleCaptchaSolution.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,eAAe,CAAC,GAAwB,EAAE,EAAE,CAC3C,0BAA0B,CAAC,GAAG,EAAE;IAC/B,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,+BAA+B,CAAC,KAAK,CAAC,IAAI,CAAC;IAC5D,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,CAC5C,KAAK,CAAC,oBAAoB,CAAC,2BAA2B,CACrD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EACjC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,EACjB,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAC7B,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EACpB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,CACnB;CACF,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Logger } from "@prosopo/logger";
|
|
2
|
-
import { CaptchaType, type IPInfoResponse, type IPuzzleSettings, type ITrafficFilter } from "@prosopo/types";
|
|
2
|
+
import { CaptchaType, type IAudioSettings, type IIconOrderSettings, type IPInfoResponse, type IPuzzleSettings, type ITrafficFilter } from "@prosopo/types";
|
|
3
3
|
import type { ClientRecord } from "@prosopo/types-database";
|
|
4
4
|
import type { Response } from "express";
|
|
5
5
|
import type { FrictionlessManager } from "../../tasks/frictionless/frictionlessTasks.js";
|
|
@@ -15,6 +15,9 @@ export type RequestTimeTrafficVerdict = {
|
|
|
15
15
|
puzzleTolerance?: number;
|
|
16
16
|
padBytes?: number;
|
|
17
17
|
puzzleSettings?: IPuzzleSettings;
|
|
18
|
+
audioSettings?: IAudioSettings;
|
|
19
|
+
iconOrderTolerance?: number;
|
|
20
|
+
iconOrderSettings?: IIconOrderSettings;
|
|
18
21
|
sourceCategories: ResolvedChallengePolicy["sourceCategories"];
|
|
19
22
|
};
|
|
20
23
|
export declare const applyTrafficFilterAtRequestTime: (ipInfo: IPInfoResponse | undefined, trafficFilter: Partial<ITrafficFilter> | undefined, logger?: Logger) => RequestTimeTrafficVerdict;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trafficFilterRequestTime.d.ts","sourceRoot":"","sources":["../../../src/api/captcha/trafficFilterRequestTime.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,WAAW,EAEX,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EAGnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EACN,KAAK,uBAAuB,EAI5B,MAAM,wCAAwC,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC;IACA,IAAI,EAAE,WAAW,CAAC;IAGlB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;CAC7D,CAAC;AAeL,eAAO,MAAM,+BAA+B,WACnC,cAAc,GAAG,SAAS,iBACnB,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,WACzC,MAAM,KACb,
|
|
1
|
+
{"version":3,"file":"trafficFilterRequestTime.d.ts","sourceRoot":"","sources":["../../../src/api/captcha/trafficFilterRequestTime.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,WAAW,EAEX,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EAGnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EACN,KAAK,uBAAuB,EAI5B,MAAM,wCAAwC,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC;IACA,IAAI,EAAE,WAAW,CAAC;IAGlB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,gBAAgB,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;CAC7D,CAAC;AAeL,eAAO,MAAM,+BAA+B,WACnC,cAAc,GAAG,SAAS,iBACnB,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,WACzC,MAAM,KACb,yBAsCF,CAAC;AAEF,MAAM,MAAM,gCAAgC,GACzC;IAAE,OAAO,EAAE,KAAK,CAAA;CAAE,GAClB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEzC,MAAM,MAAM,8BAA8B,GAAG;IAC5C,OAAO,EAAE,yBAAyB,CAAC;IACnC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAWF,eAAO,MAAM,+BAA+B,UACpC,8BAA8B,OAChC,QAAQ,KACX,OAAO,CAAC,gCAAgC,CAyD1C,CAAC"}
|
|
@@ -41,6 +41,9 @@ var applyTrafficFilterAtRequestTime = (ipInfo, trafficFilter, logger) => {
|
|
|
41
41
|
puzzleTolerance: resolved.puzzleTolerance,
|
|
42
42
|
padBytes,
|
|
43
43
|
puzzleSettings: resolved.puzzleSettings,
|
|
44
|
+
audioSettings: resolved.audioSettings,
|
|
45
|
+
iconOrderTolerance: resolved.iconOrderTolerance,
|
|
46
|
+
iconOrderSettings: resolved.iconOrderSettings,
|
|
44
47
|
sourceCategories: resolved.sourceCategories
|
|
45
48
|
};
|
|
46
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trafficFilterRequestTime.js","sourceRoot":"","sources":["../../../src/api/captcha/trafficFilterRequestTime.ts"],"names":[],"mappings":"AAeA,OAAO,EACN,WAAW,
|
|
1
|
+
{"version":3,"file":"trafficFilterRequestTime.js","sourceRoot":"","sources":["../../../src/api/captcha/trafficFilterRequestTime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captcha.d.ts","sourceRoot":"","sources":["../../src/api/captcha.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAgB,EACf,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"captcha.d.ts","sourceRoot":"","sources":["../../src/api/captcha.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAgB,EACf,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,MAAM,SAAS,CAAC;AA2BjB,eAAO,MAAM,YAAY,YACd,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,WAChE,OAAO,OAAO,QAAQ,QAAQ,YAAY,KAAG,IAIlD,CAAC;AAQH,wBAAgB,aAAa,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAoH9D"}
|
package/dist/api/captcha.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { padResponseMiddleware } from "../utils/tarpitPadding.js";
|
|
2
2
|
import assignDetectorBundle_default from "./captcha/assignDetectorBundle.js";
|
|
3
3
|
import checkSpamEmail_default from "./captcha/checkSpamEmail.js";
|
|
4
|
+
import getAudioCaptchaChallenge_default from "./captcha/getAudioCaptchaChallenge.js";
|
|
4
5
|
import handler_default from "./captcha/getFrictionlessCaptchaChallenge/handler.js";
|
|
6
|
+
import getIconOrderCaptchaChallenge_default from "./captcha/getIconOrderCaptchaChallenge.js";
|
|
5
7
|
import getImageCaptchaChallenge_default from "./captcha/getImageCaptchaChallenge.js";
|
|
6
8
|
import getPoWCaptchaChallenge_default from "./captcha/getPoWCaptchaChallenge.js";
|
|
7
9
|
import getPuzzleCaptchaChallenge_default from "./captcha/getPuzzleCaptchaChallenge.js";
|
|
10
|
+
import submitAudioCaptchaSolution_default from "./captcha/submitAudioCaptchaSolution.js";
|
|
11
|
+
import submitIconOrderCaptchaSolution_default from "./captcha/submitIconOrderCaptchaSolution.js";
|
|
8
12
|
import submitImageCaptchaSolution_default from "./captcha/submitImageCaptchaSolution.js";
|
|
9
13
|
import submitPoWCaptchaSolution_default from "./captcha/submitPoWCaptchaSolution.js";
|
|
10
14
|
import submitPuzzleCaptchaSolution_default from "./captcha/submitPuzzleCaptchaSolution.js";
|
|
@@ -78,6 +82,10 @@ function prosopoRouter(env) {
|
|
|
78
82
|
* Verifies a user's Puzzle solution as being approved or not
|
|
79
83
|
*/
|
|
80
84
|
router.post(ClientApiPaths.SubmitPuzzleCaptchaSolution, asyncHandler(submitPuzzleCaptchaSolution_default(env)));
|
|
85
|
+
router.post(ClientApiPaths.GetAudioCaptchaChallenge, asyncHandler(getAudioCaptchaChallenge_default(env, userAccessRulesStorage)));
|
|
86
|
+
router.post(ClientApiPaths.SubmitAudioCaptchaSolution, asyncHandler(submitAudioCaptchaSolution_default(env)));
|
|
87
|
+
router.post(ClientApiPaths.GetIconOrderCaptchaChallenge, asyncHandler(getIconOrderCaptchaChallenge_default(env, userAccessRulesStorage)));
|
|
88
|
+
router.post(ClientApiPaths.SubmitIconOrderCaptchaSolution, asyncHandler(submitIconOrderCaptchaSolution_default(env)));
|
|
81
89
|
/**
|
|
82
90
|
* Checks if an email domain is spam
|
|
83
91
|
*/
|
package/dist/api/captcha.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captcha.js","sourceRoot":"","sources":["../../src/api/captcha.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"captcha.js","sourceRoot":"","sources":["../../src/api/captcha.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@ import { getMaintenanceMode } from "./admin/apiToggleMaintenanceModeEndpoint.js"
|
|
|
4
4
|
import { isReservedTestSiteKey } from "./testSiteKey.js";
|
|
5
5
|
import { ProsopoApiError } from "@prosopo/common";
|
|
6
6
|
import { decodeGoogleTranslateHost, parseUrl } from "@prosopo/util";
|
|
7
|
+
import { handleErrors } from "@prosopo/api-express-router";
|
|
7
8
|
import { validateAddress } from "@prosopo/util-crypto";
|
|
8
9
|
import { ZodError } from "zod";
|
|
9
|
-
import { handleErrors } from "@prosopo/api-express-router";
|
|
10
10
|
//#region src/api/domainMiddleware.ts
|
|
11
11
|
var domainMiddleware = (env) => {
|
|
12
12
|
let cachedTasks;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { calculateJa4 } from "./ja4.js";
|
|
2
2
|
import { getLogger } from "@prosopo/logger";
|
|
3
|
-
import { randomAsHex } from "@prosopo/util-crypto";
|
|
4
3
|
import { handleErrors } from "@prosopo/api-express-router";
|
|
4
|
+
import { randomAsHex } from "@prosopo/util-crypto";
|
|
5
5
|
//#region src/api/ja4Middleware.ts
|
|
6
6
|
var DEFAULT_JA4 = "ja4";
|
|
7
7
|
var getJA4 = async (headers, logger) => {
|
|
@@ -9,11 +9,24 @@ export interface RawTlsSignals {
|
|
|
9
9
|
observedTtl?: number;
|
|
10
10
|
tcpMss?: number;
|
|
11
11
|
tcpWscale?: number;
|
|
12
|
+
tcpWindow?: number;
|
|
13
|
+
tcpOptsKinds?: number[];
|
|
14
|
+
tcpOptsPresent?: number;
|
|
15
|
+
tcpOptsCount?: number;
|
|
16
|
+
tcpTsval?: number;
|
|
17
|
+
tcpTsecr?: number;
|
|
18
|
+
tcpFlags?: number;
|
|
19
|
+
tcpDataOffsetResv?: number;
|
|
20
|
+
tcpUrgPtr?: number;
|
|
21
|
+
ipIdent?: number;
|
|
22
|
+
ipTotalLen?: number;
|
|
23
|
+
ipFragFlags?: number;
|
|
24
|
+
ipTos?: number;
|
|
12
25
|
tcpOptsFlags?: number;
|
|
13
26
|
tcpOptsOrder?: number;
|
|
14
|
-
tcpWindow?: number;
|
|
15
27
|
}
|
|
16
28
|
export declare const getRawTlsSignals: (headers: IncomingHttpHeaders, logger?: Logger) => RawTlsSignals;
|
|
17
29
|
export declare const rawTlsSignalsForSession: (req: Pick<Request, keyof RawTlsSignals>) => Partial<RawTlsSignals>;
|
|
30
|
+
export declare const rawTlsSignalsFromRecord: (record: Partial<RawTlsSignals> | undefined | null) => Partial<RawTlsSignals>;
|
|
18
31
|
export declare const rawTlsSignalsMiddleware: (env: ProviderEnvironment) => (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
19
32
|
//# sourceMappingURL=rawTlsSignalsMiddleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rawTlsSignalsMiddleware.d.ts","sourceRoot":"","sources":["../../src/api/rawTlsSignalsMiddleware.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"rawTlsSignalsMiddleware.d.ts","sourceRoot":"","sources":["../../src/api/rawTlsSignalsMiddleware.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA2C/D,MAAM,WAAW,aAAa;IAM7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAcnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAKxB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,YAAY,CAAC,EAAE,MAAM,CAAC;IAQtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,YAAY,CAAC,EAAE,MAAM,CAAC;IAMtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAwID,eAAO,MAAM,gBAAgB,YACnB,mBAAmB,WACnB,MAAM,KACb,aA8GF,CAAC;AAQF,eAAO,MAAM,uBAAuB,QAC9B,IAAI,CAAC,OAAO,EAAE,MAAM,aAAa,CAAC,KACrC,OAAO,CAAC,aAAa,CAAiC,CAAC;AAW1D,eAAO,MAAM,uBAAuB,WAC3B,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,GAAG,IAAI,KAC/C,OAAO,CAAC,aAAa,CAYvB,CAAC;AAMF,eAAO,MAAM,uBAAuB,QAAS,mBAAmB,WAC5C,OAAO,OAAO,QAAQ,QAAQ,YAAY,kBAmB7D,CAAC"}
|
|
@@ -7,9 +7,44 @@ var HEADER_ACK_NS = "x-tls-ack-ns";
|
|
|
7
7
|
var HEADER_OBSERVED_TTL = "x-tls-observed-ttl";
|
|
8
8
|
var HEADER_TCP_MSS = "x-tls-tcp-mss";
|
|
9
9
|
var HEADER_TCP_WSCALE = "x-tls-tcp-wscale";
|
|
10
|
+
var HEADER_TCP_WINDOW = "x-tls-tcp-window";
|
|
11
|
+
var HEADER_TCP_OPTS_KINDS = "x-tls-tcp-opts-kinds";
|
|
12
|
+
var HEADER_TCP_OPTS_PRESENT = "x-tls-tcp-opts-present";
|
|
13
|
+
var HEADER_TCP_OPTS_COUNT = "x-tls-tcp-opts-count";
|
|
14
|
+
var HEADER_TCP_TSVAL = "x-tls-tcp-tsval";
|
|
15
|
+
var HEADER_TCP_TSECR = "x-tls-tcp-tsecr";
|
|
16
|
+
var HEADER_TCP_FLAGS = "x-tls-tcp-flags";
|
|
17
|
+
var HEADER_TCP_DATA_OFFSET_RESV = "x-tls-tcp-data-offset-resv";
|
|
18
|
+
var HEADER_TCP_URG_PTR = "x-tls-tcp-urg-ptr";
|
|
19
|
+
var HEADER_IP_IDENT = "x-tls-ip-ident";
|
|
20
|
+
var HEADER_IP_TOTAL_LEN = "x-tls-ip-total-len";
|
|
21
|
+
var HEADER_IP_FRAG_FLAGS = "x-tls-ip-frag-flags";
|
|
22
|
+
var HEADER_IP_TOS = "x-tls-ip-tos";
|
|
10
23
|
var HEADER_TCP_OPTS_FLAGS = "x-tls-tcp-opts-flags";
|
|
11
24
|
var HEADER_TCP_OPTS_ORDER = "x-tls-tcp-opts-order";
|
|
12
|
-
var
|
|
25
|
+
var RAW_TLS_SIGNAL_KEYS = [
|
|
26
|
+
"synNs",
|
|
27
|
+
"synackNs",
|
|
28
|
+
"ackNs",
|
|
29
|
+
"observedTtl",
|
|
30
|
+
"tcpMss",
|
|
31
|
+
"tcpWscale",
|
|
32
|
+
"tcpWindow",
|
|
33
|
+
"tcpOptsKinds",
|
|
34
|
+
"tcpOptsPresent",
|
|
35
|
+
"tcpOptsCount",
|
|
36
|
+
"tcpTsval",
|
|
37
|
+
"tcpTsecr",
|
|
38
|
+
"tcpFlags",
|
|
39
|
+
"tcpDataOffsetResv",
|
|
40
|
+
"tcpUrgPtr",
|
|
41
|
+
"ipIdent",
|
|
42
|
+
"ipTotalLen",
|
|
43
|
+
"ipFragFlags",
|
|
44
|
+
"ipTos",
|
|
45
|
+
"tcpOptsFlags",
|
|
46
|
+
"tcpOptsOrder"
|
|
47
|
+
];
|
|
13
48
|
var parseIntHeader = (raw, logger, headerName, max) => {
|
|
14
49
|
if (raw === void 0) return;
|
|
15
50
|
const value = Array.isArray(raw) ? raw[0] : raw;
|
|
@@ -31,6 +66,46 @@ var MAX_NS = 2 ** 63;
|
|
|
31
66
|
var MAX_U8 = 255;
|
|
32
67
|
var MAX_U16 = 65535;
|
|
33
68
|
var MAX_U32 = 4294967295;
|
|
69
|
+
var OPTS_KINDS_SLOTS = 8;
|
|
70
|
+
var MAX_U64 = (1n << 64n) - 1n;
|
|
71
|
+
var parseOptsKindsHeader = (raw, logger) => {
|
|
72
|
+
if (raw === void 0) return;
|
|
73
|
+
const value = Array.isArray(raw) ? raw[0] : raw;
|
|
74
|
+
if (value === void 0 || !/^\d+$/.test(value)) {
|
|
75
|
+
if (value !== void 0) logger.debug(() => ({
|
|
76
|
+
msg: "Ignoring malformed raw TLS signal header",
|
|
77
|
+
data: {
|
|
78
|
+
header: HEADER_TCP_OPTS_KINDS,
|
|
79
|
+
raw: value
|
|
80
|
+
}
|
|
81
|
+
}));
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
let packed;
|
|
85
|
+
try {
|
|
86
|
+
packed = BigInt(value);
|
|
87
|
+
} catch {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (packed > MAX_U64) {
|
|
91
|
+
logger.debug(() => ({
|
|
92
|
+
msg: "Ignoring out-of-range raw TLS signal header",
|
|
93
|
+
data: {
|
|
94
|
+
header: HEADER_TCP_OPTS_KINDS,
|
|
95
|
+
raw: value
|
|
96
|
+
}
|
|
97
|
+
}));
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (packed === 0n) return;
|
|
101
|
+
const kinds = [];
|
|
102
|
+
for (let slot = 0; slot < OPTS_KINDS_SLOTS; slot++) {
|
|
103
|
+
const kind = Number(packed >> BigInt(slot * 8) & 255n);
|
|
104
|
+
if (kind === 0) break;
|
|
105
|
+
kinds.push(kind);
|
|
106
|
+
}
|
|
107
|
+
return kinds.length > 0 ? kinds : void 0;
|
|
108
|
+
};
|
|
34
109
|
var getRawTlsSignals = (headers, logger) => {
|
|
35
110
|
const log = logger ?? getLogger("info", "provider:raw-tls-signals");
|
|
36
111
|
return {
|
|
@@ -40,37 +115,50 @@ var getRawTlsSignals = (headers, logger) => {
|
|
|
40
115
|
observedTtl: parseIntHeader(headers[HEADER_OBSERVED_TTL], log, HEADER_OBSERVED_TTL, MAX_U8),
|
|
41
116
|
tcpMss: parseIntHeader(headers[HEADER_TCP_MSS], log, HEADER_TCP_MSS, MAX_U16),
|
|
42
117
|
tcpWscale: parseIntHeader(headers[HEADER_TCP_WSCALE], log, HEADER_TCP_WSCALE, MAX_U8),
|
|
118
|
+
tcpWindow: parseIntHeader(headers[HEADER_TCP_WINDOW], log, HEADER_TCP_WINDOW, MAX_U16),
|
|
119
|
+
tcpOptsKinds: parseOptsKindsHeader(headers[HEADER_TCP_OPTS_KINDS], log),
|
|
120
|
+
tcpOptsPresent: parseIntHeader(headers[HEADER_TCP_OPTS_PRESENT], log, HEADER_TCP_OPTS_PRESENT, MAX_U16),
|
|
121
|
+
tcpOptsCount: parseIntHeader(headers[HEADER_TCP_OPTS_COUNT], log, HEADER_TCP_OPTS_COUNT, MAX_U8),
|
|
122
|
+
tcpTsval: parseIntHeader(headers[HEADER_TCP_TSVAL], log, HEADER_TCP_TSVAL, MAX_U32),
|
|
123
|
+
tcpTsecr: parseIntHeader(headers[HEADER_TCP_TSECR], log, HEADER_TCP_TSECR, MAX_U32),
|
|
124
|
+
tcpFlags: parseIntHeader(headers[HEADER_TCP_FLAGS], log, HEADER_TCP_FLAGS, MAX_U8),
|
|
125
|
+
tcpDataOffsetResv: parseIntHeader(headers[HEADER_TCP_DATA_OFFSET_RESV], log, HEADER_TCP_DATA_OFFSET_RESV, MAX_U8),
|
|
126
|
+
tcpUrgPtr: parseIntHeader(headers[HEADER_TCP_URG_PTR], log, HEADER_TCP_URG_PTR, MAX_U16),
|
|
127
|
+
ipIdent: parseIntHeader(headers[HEADER_IP_IDENT], log, HEADER_IP_IDENT, MAX_U16),
|
|
128
|
+
ipTotalLen: parseIntHeader(headers[HEADER_IP_TOTAL_LEN], log, HEADER_IP_TOTAL_LEN, MAX_U16),
|
|
129
|
+
ipFragFlags: parseIntHeader(headers[HEADER_IP_FRAG_FLAGS], log, HEADER_IP_FRAG_FLAGS, MAX_U16),
|
|
130
|
+
ipTos: parseIntHeader(headers[HEADER_IP_TOS], log, HEADER_IP_TOS, MAX_U8),
|
|
43
131
|
tcpOptsFlags: parseIntHeader(headers[HEADER_TCP_OPTS_FLAGS], log, HEADER_TCP_OPTS_FLAGS, MAX_U8),
|
|
44
|
-
tcpOptsOrder: parseIntHeader(headers[HEADER_TCP_OPTS_ORDER], log, HEADER_TCP_OPTS_ORDER, MAX_U32)
|
|
45
|
-
tcpWindow: parseIntHeader(headers[HEADER_TCP_WINDOW], log, HEADER_TCP_WINDOW, MAX_U16)
|
|
132
|
+
tcpOptsOrder: parseIntHeader(headers[HEADER_TCP_OPTS_ORDER], log, HEADER_TCP_OPTS_ORDER, MAX_U32)
|
|
46
133
|
};
|
|
47
134
|
};
|
|
48
|
-
var rawTlsSignalsForSession = (req) =>
|
|
135
|
+
var rawTlsSignalsForSession = (req) => rawTlsSignalsFromRecord(req);
|
|
136
|
+
/**
|
|
137
|
+
* Pull the raw TLS signals out of a persisted Session — or anything shaped
|
|
138
|
+
* like one — for a decision machine's `raw` bag, or to carry forward onto a
|
|
139
|
+
* new Session record.
|
|
140
|
+
*
|
|
141
|
+
* Six call sites used to name every field by hand, so adding one to the
|
|
142
|
+
* probe meant remembering six places; the fields that were forgotten read as
|
|
143
|
+
* `undefined` and the rules gating on them silently never fired.
|
|
144
|
+
*/
|
|
145
|
+
var rawTlsSignalsFromRecord = (record) => {
|
|
49
146
|
const out = {};
|
|
50
|
-
if (
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (req.tcpWscale !== void 0) out.tcpWscale = req.tcpWscale;
|
|
56
|
-
if (req.tcpOptsFlags !== void 0) out.tcpOptsFlags = req.tcpOptsFlags;
|
|
57
|
-
if (req.tcpOptsOrder !== void 0) out.tcpOptsOrder = req.tcpOptsOrder;
|
|
58
|
-
if (req.tcpWindow !== void 0) out.tcpWindow = req.tcpWindow;
|
|
147
|
+
if (!record) return out;
|
|
148
|
+
for (const key of RAW_TLS_SIGNAL_KEYS) {
|
|
149
|
+
const value = record[key];
|
|
150
|
+
if (value !== void 0) Object.assign(out, { [key]: value });
|
|
151
|
+
}
|
|
59
152
|
return out;
|
|
60
153
|
};
|
|
61
154
|
var rawTlsSignalsMiddleware = (env) => {
|
|
62
155
|
return async (req, res, next) => {
|
|
63
156
|
try {
|
|
64
157
|
const signals = getRawTlsSignals(req.headers, req.logger);
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
if (signals.tcpMss !== void 0) req.tcpMss = signals.tcpMss;
|
|
70
|
-
if (signals.tcpWscale !== void 0) req.tcpWscale = signals.tcpWscale;
|
|
71
|
-
if (signals.tcpOptsFlags !== void 0) req.tcpOptsFlags = signals.tcpOptsFlags;
|
|
72
|
-
if (signals.tcpOptsOrder !== void 0) req.tcpOptsOrder = signals.tcpOptsOrder;
|
|
73
|
-
if (signals.tcpWindow !== void 0) req.tcpWindow = signals.tcpWindow;
|
|
158
|
+
for (const key of RAW_TLS_SIGNAL_KEYS) {
|
|
159
|
+
const value = signals[key];
|
|
160
|
+
if (value !== void 0) Object.assign(req, { [key]: value });
|
|
161
|
+
}
|
|
74
162
|
if (Object.values(signals).some((v) => v !== void 0)) req.logger = req.logger.with(signals, "rawTlsSignals");
|
|
75
163
|
next();
|
|
76
164
|
} catch (err) {
|
|
@@ -79,4 +167,4 @@ var rawTlsSignalsMiddleware = (env) => {
|
|
|
79
167
|
};
|
|
80
168
|
};
|
|
81
169
|
//#endregion
|
|
82
|
-
export { getRawTlsSignals, rawTlsSignalsForSession, rawTlsSignalsMiddleware };
|
|
170
|
+
export { getRawTlsSignals, rawTlsSignalsForSession, rawTlsSignalsFromRecord, rawTlsSignalsMiddleware };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rawTlsSignalsMiddleware.js","sourceRoot":"","sources":["../../src/api/rawTlsSignalsMiddleware.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAczD,MAAM,aAAa,GAAG,cAAc,CAAC;AACrC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAC3C,MAAM,aAAa,GAAG,cAAc,CAAC;AACrC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AACjD,MAAM,cAAc,GAAG,eAAe,CAAC;AACvC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAC7C,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AACrD,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AACrD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"rawTlsSignalsMiddleware.js","sourceRoot":"","sources":["../../src/api/rawTlsSignalsMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { rawTlsSignalsMiddleware } from "./rawTlsSignalsMiddleware.js";
|
|
1
2
|
import { metricsMiddleware } from "./metrics.js";
|
|
2
3
|
import { getVerdictCache } from "./blacklistRequestInspector.js";
|
|
3
4
|
import { initDetectorBundlePool } from "../tasks/detection/bundlePool.js";
|
|
4
5
|
import { blockMiddleware } from "./block.js";
|
|
5
|
-
import { rawTlsSignalsMiddleware } from "./rawTlsSignalsMiddleware.js";
|
|
6
6
|
import { prosopoRouter } from "./captcha.js";
|
|
7
7
|
import { prosopoVerifyRouter } from "./verify.js";
|
|
8
8
|
import { ja4Middleware } from "./ja4Middleware.js";
|
|
@@ -19,10 +19,10 @@ import { ipInfoMiddleware } from "./ipInfoMiddleware.js";
|
|
|
19
19
|
import { robotsMiddleware } from "./robotsMiddleware.js";
|
|
20
20
|
import { parseLogLevel } from "@prosopo/logger";
|
|
21
21
|
import { AdminApiPaths, ClientApiPaths } from "@prosopo/types";
|
|
22
|
+
import { apiExpressRouterFactory, authMiddleware, createApiExpressDefaultEndpointAdapter, requestLoggerMiddleware } from "@prosopo/api-express-router";
|
|
22
23
|
import fs from "node:fs";
|
|
23
24
|
import path from "node:path";
|
|
24
25
|
import https from "node:https";
|
|
25
|
-
import { apiExpressRouterFactory, authMiddleware, createApiExpressDefaultEndpointAdapter, requestLoggerMiddleware } from "@prosopo/api-express-router";
|
|
26
26
|
import express from "express";
|
|
27
27
|
import { fileURLToPath } from "node:url";
|
|
28
28
|
import { i18nMiddleware } from "@prosopo/locale";
|
package/dist/api/verify.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/api/verify.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAgB,
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/api/verify.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAgB,EAIf,KAAK,MAAM,EACX,MAAM,SAAS,CAAC;AAwSjB,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAmkBpE"}
|