@prosopo/provider 3.13.7 → 4.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$cjs.log +107 -56
- package/.turbo/turbo-build$colon$tsc.log +71 -0
- package/.turbo/turbo-build.log +110 -57
- package/CHANGELOG.md +1474 -0
- package/dist/api/admin/apiAdminRoutesProvider.d.ts +9 -0
- package/dist/api/admin/apiAdminRoutesProvider.d.ts.map +1 -0
- package/dist/api/admin/apiAdminRoutesProvider.js +31 -1
- package/dist/api/admin/apiAdminRoutesProvider.js.map +1 -0
- package/dist/api/admin/apiClearAllCountersEndpoint.d.ts +14 -0
- package/dist/api/admin/apiClearAllCountersEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiClearAllCountersEndpoint.js +59 -0
- package/dist/api/admin/apiClearAllCountersEndpoint.js.map +1 -0
- package/dist/api/admin/apiDnsEventEndpoint.d.ts +15 -0
- package/dist/api/admin/apiDnsEventEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiDnsEventEndpoint.js +64 -0
- package/dist/api/admin/apiDnsEventEndpoint.js.map +1 -0
- package/dist/api/admin/apiGetAllDecisionMachinesEndpoint.d.ts +13 -0
- package/dist/api/admin/apiGetAllDecisionMachinesEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiGetAllDecisionMachinesEndpoint.js +49 -0
- package/dist/api/admin/apiGetAllDecisionMachinesEndpoint.js.map +1 -0
- package/dist/api/admin/apiGetDecisionMachineEndpoint.d.ts +14 -0
- package/dist/api/admin/apiGetDecisionMachineEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiGetDecisionMachineEndpoint.js +42 -0
- package/dist/api/admin/apiGetDecisionMachineEndpoint.js.map +1 -0
- package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts +14 -0
- package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiRegisterSiteKeyEndpoint.js +1 -1
- package/dist/api/admin/apiRegisterSiteKeyEndpoint.js.map +1 -0
- package/dist/api/admin/apiRegisterSiteKeysEndpoint.d.ts +14 -0
- package/dist/api/admin/apiRegisterSiteKeysEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiRegisterSiteKeysEndpoint.js +33 -0
- package/dist/api/admin/apiRegisterSiteKeysEndpoint.js.map +1 -0
- package/dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.d.ts +13 -0
- package/dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.js +41 -0
- package/dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.js.map +1 -0
- package/dist/api/admin/apiRemoveDecisionMachineEndpoint.d.ts +14 -0
- package/dist/api/admin/apiRemoveDecisionMachineEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiRemoveDecisionMachineEndpoint.js +42 -0
- package/dist/api/admin/apiRemoveDecisionMachineEndpoint.js.map +1 -0
- package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts +23 -0
- package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js +1 -1
- package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js.map +1 -0
- package/dist/api/admin/apiRemoveSiteKeyEndpoint.d.ts +14 -0
- package/dist/api/admin/apiRemoveSiteKeyEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiRemoveSiteKeyEndpoint.js +32 -0
- package/dist/api/admin/apiRemoveSiteKeyEndpoint.js.map +1 -0
- package/dist/api/admin/apiRemoveSiteKeysEndpoint.d.ts +14 -0
- package/dist/api/admin/apiRemoveSiteKeysEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiRemoveSiteKeysEndpoint.js +34 -0
- package/dist/api/admin/apiRemoveSiteKeysEndpoint.js.map +1 -0
- package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts +13 -0
- package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js +1 -1
- package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js.map +1 -0
- package/dist/api/admin/apiUpdateDecisionMachineEndpoint.d.ts +14 -0
- package/dist/api/admin/apiUpdateDecisionMachineEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiUpdateDecisionMachineEndpoint.js +60 -0
- package/dist/api/admin/apiUpdateDecisionMachineEndpoint.js.map +1 -0
- package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts +14 -0
- package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts.map +1 -0
- package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js +1 -1
- package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js.map +1 -0
- package/dist/api/admin/createApiAdminRoutesProvider.d.ts +4 -0
- package/dist/api/admin/createApiAdminRoutesProvider.d.ts.map +1 -0
- package/dist/api/admin/createApiAdminRoutesProvider.js.map +1 -0
- package/dist/api/blacklistRequestInspector.d.ts +20 -0
- package/dist/api/blacklistRequestInspector.d.ts.map +1 -0
- package/dist/api/blacklistRequestInspector.js +20 -6
- package/dist/api/blacklistRequestInspector.js.map +1 -0
- package/dist/api/block.d.ts +4 -0
- package/dist/api/block.d.ts.map +1 -0
- package/dist/api/block.js +19 -8
- package/dist/api/block.js.map +1 -0
- package/dist/api/captcha/checkSpamEmail.d.ts +6 -0
- package/dist/api/captcha/checkSpamEmail.d.ts.map +1 -0
- package/dist/api/captcha/checkSpamEmail.js +80 -0
- package/dist/api/captcha/checkSpamEmail.js.map +1 -0
- package/dist/api/captcha/contextAwareValidation.d.ts +4 -0
- package/dist/api/captcha/contextAwareValidation.d.ts.map +1 -0
- package/dist/api/captcha/contextAwareValidation.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.d.ts +31 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js +123 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts +3 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js +13 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts +36 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +287 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.d.ts +4 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js +14 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts +7 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +314 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.d.ts +5 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.js +17 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.d.ts +14 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.js +28 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts +23 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +61 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge.d.ts +2 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge.d.ts.map +1 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge.js +2 -364
- package/dist/api/captcha/getFrictionlessCaptchaChallenge.js.map +1 -0
- package/dist/api/captcha/getImageCaptchaChallenge.d.ts +7 -0
- package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -0
- package/dist/api/captcha/getImageCaptchaChallenge.js +36 -9
- package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -0
- package/dist/api/captcha/getPoWCaptchaChallenge.d.ts +7 -0
- package/dist/api/captcha/getPoWCaptchaChallenge.d.ts.map +1 -0
- package/dist/api/captcha/getPoWCaptchaChallenge.js +49 -7
- package/dist/api/captcha/getPoWCaptchaChallenge.js.map +1 -0
- package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts +7 -0
- package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -0
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js +201 -0
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -0
- package/dist/api/captcha/maintenanceModeResponses.d.ts +5 -0
- package/dist/api/captcha/maintenanceModeResponses.d.ts.map +1 -0
- package/dist/api/captcha/maintenanceModeResponses.js +42 -0
- package/dist/api/captcha/maintenanceModeResponses.js.map +1 -0
- package/dist/api/captcha/submitImageCaptchaSolution.d.ts +6 -0
- package/dist/api/captcha/submitImageCaptchaSolution.d.ts.map +1 -0
- package/dist/api/captcha/submitImageCaptchaSolution.js +19 -2
- package/dist/api/captcha/submitImageCaptchaSolution.js.map +1 -0
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts +6 -0
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -0
- package/dist/api/captcha/submitPoWCaptchaSolution.js +94 -6
- package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -0
- package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts +6 -0
- package/dist/api/captcha/submitPuzzleCaptchaSolution.d.ts.map +1 -0
- package/dist/api/captcha/submitPuzzleCaptchaSolution.js +108 -0
- package/dist/api/captcha/submitPuzzleCaptchaSolution.js.map +1 -0
- package/dist/api/captcha.d.ts +4 -0
- package/dist/api/captcha.d.ts.map +1 -0
- package/dist/api/captcha.js +28 -3
- package/dist/api/captcha.js.map +1 -0
- package/dist/api/dnsEventUrl.d.ts +3 -0
- package/dist/api/dnsEventUrl.d.ts.map +1 -0
- package/dist/api/dnsEventUrl.js +25 -0
- package/dist/api/dnsEventUrl.js.map +1 -0
- package/dist/api/domainMiddleware.d.ts +4 -0
- package/dist/api/domainMiddleware.d.ts.map +1 -0
- package/dist/api/domainMiddleware.js +36 -5
- package/dist/api/domainMiddleware.js.map +1 -0
- package/dist/api/headerCheckMiddleware.d.ts +4 -0
- package/dist/api/headerCheckMiddleware.d.ts.map +1 -0
- package/dist/api/headerCheckMiddleware.js.map +1 -0
- package/dist/api/ignoreMiddleware.d.ts +3 -0
- package/dist/api/ignoreMiddleware.d.ts.map +1 -0
- package/dist/api/ignoreMiddleware.js.map +1 -0
- package/dist/api/ipInfoMiddleware.d.ts +4 -0
- package/dist/api/ipInfoMiddleware.d.ts.map +1 -0
- package/dist/api/ipInfoMiddleware.js +20 -0
- package/dist/api/ipInfoMiddleware.js.map +1 -0
- package/dist/api/ja4Middleware.d.ts +10 -0
- package/dist/api/ja4Middleware.d.ts.map +1 -0
- package/dist/api/ja4Middleware.js +1 -1
- package/dist/api/ja4Middleware.js.map +1 -0
- package/dist/api/public.d.ts +4 -0
- package/dist/api/public.d.ts.map +1 -0
- package/dist/api/public.js.map +1 -0
- package/dist/api/robotsMiddleware.d.ts +3 -0
- package/dist/api/robotsMiddleware.d.ts.map +1 -0
- package/dist/api/robotsMiddleware.js.map +1 -0
- package/dist/api/startProviderApi.d.ts +9 -0
- package/dist/api/startProviderApi.d.ts.map +1 -0
- package/dist/api/startProviderApi.js +217 -0
- package/dist/api/startProviderApi.js.map +1 -0
- package/dist/api/testSiteKey.d.ts +4 -0
- package/dist/api/testSiteKey.d.ts.map +1 -0
- package/dist/api/testSiteKey.js +17 -0
- package/dist/api/testSiteKey.js.map +1 -0
- package/dist/api/validateAddress.d.ts +5 -0
- package/dist/api/validateAddress.d.ts.map +1 -0
- package/dist/api/validateAddress.js.map +1 -0
- package/dist/api/verify.d.ts +4 -0
- package/dist/api/verify.d.ts.map +1 -0
- package/dist/api/verify.js +146 -9
- package/dist/api/verify.js.map +1 -0
- package/dist/cjs/api/admin/apiAdminRoutesProvider.cjs +31 -1
- package/dist/cjs/api/admin/apiClearAllCountersEndpoint.cjs +59 -0
- package/dist/cjs/api/admin/apiDnsEventEndpoint.cjs +65 -0
- package/dist/cjs/api/admin/apiGetAllDecisionMachinesEndpoint.cjs +49 -0
- package/dist/cjs/api/admin/apiGetDecisionMachineEndpoint.cjs +42 -0
- package/dist/cjs/api/admin/apiRegisterSiteKeyEndpoint.cjs +5 -5
- package/dist/cjs/api/admin/apiRegisterSiteKeysEndpoint.cjs +34 -0
- package/dist/cjs/api/admin/apiRemoveAllDecisionMachinesEndpoint.cjs +41 -0
- package/dist/cjs/api/admin/apiRemoveDecisionMachineEndpoint.cjs +42 -0
- package/dist/cjs/api/admin/apiRemoveDetectorKeyEndpoint.cjs +6 -6
- package/dist/cjs/api/admin/apiRemoveSiteKeyEndpoint.cjs +33 -0
- package/dist/cjs/api/admin/apiRemoveSiteKeysEndpoint.cjs +35 -0
- package/dist/cjs/api/admin/apiToggleMaintenanceModeEndpoint.cjs +5 -5
- package/dist/cjs/api/admin/apiUpdateDecisionMachineEndpoint.cjs +60 -0
- package/dist/cjs/api/admin/apiUpdateDetectorKeyEndpoint.cjs +7 -7
- package/dist/cjs/api/blacklistRequestInspector.cjs +20 -6
- package/dist/cjs/api/block.cjs +19 -8
- package/dist/cjs/api/captcha/checkSpamEmail.cjs +79 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs +123 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs +13 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +287 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.cjs +14 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +313 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.cjs +17 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.cjs +28 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +61 -0
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge.cjs +2 -364
- package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +35 -8
- package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +48 -6
- package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +200 -0
- package/dist/cjs/api/captcha/maintenanceModeResponses.cjs +42 -0
- package/dist/cjs/api/captcha/submitImageCaptchaSolution.cjs +19 -2
- package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +92 -4
- package/dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs +107 -0
- package/dist/cjs/api/captcha.cjs +29 -4
- package/dist/cjs/api/dnsEventUrl.cjs +25 -0
- package/dist/cjs/api/domainMiddleware.cjs +36 -5
- package/dist/cjs/api/ipInfoMiddleware.cjs +20 -0
- package/dist/cjs/api/ja4Middleware.cjs +7 -7
- package/dist/cjs/api/startProviderApi.cjs +240 -0
- package/dist/cjs/api/testSiteKey.cjs +17 -0
- package/dist/cjs/api/verify.cjs +145 -8
- package/dist/cjs/compositeIpAddress.cjs +6 -6
- package/dist/cjs/index.cjs +19 -0
- package/dist/cjs/rules/lang.cjs +1 -1
- package/dist/cjs/schedulers/updateSpamEmailDomains.cjs +46 -0
- package/dist/cjs/services/ipComparison.cjs +9 -10
- package/dist/cjs/tasks/captchaManager.cjs +338 -66
- package/dist/cjs/tasks/client/clientTasks.cjs +116 -5
- package/dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs +285 -0
- package/dist/cjs/tasks/detection/decodeBehavior.cjs +325 -0
- package/dist/cjs/tasks/detection/decodeBehavior.js +15 -0
- package/dist/cjs/tasks/detection/decodePayload.cjs +692 -661
- package/dist/cjs/tasks/detection/decodePayload.js +15 -0
- package/dist/cjs/tasks/detection/decodeSimd.cjs +348 -0
- package/dist/cjs/tasks/detection/decodeSimd.js +15 -0
- package/dist/cjs/tasks/detection/getBotScore.cjs +4 -2
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +146 -43
- package/dist/cjs/tasks/frictionless/frictionlessTasksUtils.cjs +10 -7
- package/dist/cjs/tasks/frictionless/routingMachine.cjs +58 -0
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +371 -57
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +450 -55
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +525 -0
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasksUtils.cjs +7 -0
- package/dist/cjs/tasks/spam/checkSpamEmail.cjs +147 -0
- package/dist/cjs/tasks/spam/checkTrafficFilter.cjs +41 -0
- package/dist/cjs/tasks/spam/evaluateEmailSpamRules.cjs +92 -0
- package/dist/cjs/tasks/spam/updateSpamEmailDomains.cjs +58 -0
- package/dist/cjs/tasks/tasks.cjs +111 -13
- package/dist/cjs/util/usageCounters.cjs +201 -0
- package/dist/cjs/util.cjs +3 -4
- package/dist/cjs/utils/devicePlatform.cjs +10 -0
- package/dist/cjs/utils/dns.cjs +102 -0
- package/dist/cjs/utils/honeypot/encoders.cjs +86 -0
- package/dist/cjs/utils/honeypot/phraseBank.cjs +47 -0
- package/dist/cjs/utils/normalizeRequestIp.cjs +27 -0
- package/dist/compositeIpAddress.d.ts +5 -0
- package/dist/compositeIpAddress.d.ts.map +1 -0
- package/dist/compositeIpAddress.js +1 -1
- package/dist/compositeIpAddress.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/pairs.d.ts +3 -0
- package/dist/pairs.d.ts.map +1 -0
- package/dist/pairs.js.map +1 -0
- package/dist/rules/lang.d.ts +3 -0
- package/dist/rules/lang.d.ts.map +1 -0
- package/dist/rules/lang.js +1 -1
- package/dist/rules/lang.js.map +1 -0
- package/dist/schedulers/captchaScheduler.d.ts +4 -0
- package/dist/schedulers/captchaScheduler.d.ts.map +1 -0
- package/dist/schedulers/captchaScheduler.js.map +1 -0
- package/dist/schedulers/getClientList.d.ts +4 -0
- package/dist/schedulers/getClientList.d.ts.map +1 -0
- package/dist/schedulers/getClientList.js.map +1 -0
- package/dist/schedulers/setClientEntropy.d.ts +4 -0
- package/dist/schedulers/setClientEntropy.d.ts.map +1 -0
- package/dist/schedulers/setClientEntropy.js.map +1 -0
- package/dist/schedulers/updateSpamEmailDomains.d.ts +4 -0
- package/dist/schedulers/updateSpamEmailDomains.d.ts.map +1 -0
- package/dist/schedulers/updateSpamEmailDomains.js +46 -0
- package/dist/schedulers/updateSpamEmailDomains.js.map +1 -0
- package/dist/services/ipComparison.d.ts +4 -0
- package/dist/services/ipComparison.d.ts.map +1 -0
- package/dist/services/ipComparison.js +3 -4
- package/dist/services/ipComparison.js.map +1 -0
- package/dist/tasks/captchaManager.d.ts +52 -0
- package/dist/tasks/captchaManager.d.ts.map +1 -0
- package/dist/tasks/captchaManager.js +336 -64
- package/dist/tasks/captchaManager.js.map +1 -0
- package/dist/tasks/client/clientTasks.d.ts +69 -0
- package/dist/tasks/client/clientTasks.d.ts.map +1 -0
- package/dist/tasks/client/clientTasks.js +117 -6
- package/dist/tasks/client/clientTasks.js.map +1 -0
- package/dist/tasks/dataset/datasetTasks.d.ts +13 -0
- package/dist/tasks/dataset/datasetTasks.d.ts.map +1 -0
- package/dist/tasks/dataset/datasetTasks.js.map +1 -0
- package/dist/tasks/dataset/datasetTasksUtils.d.ts +3 -0
- package/dist/tasks/dataset/datasetTasksUtils.d.ts.map +1 -0
- package/dist/tasks/dataset/datasetTasksUtils.js.map +1 -0
- package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts +20 -0
- package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts.map +1 -0
- package/dist/tasks/decisionMachine/decisionMachineRunner.js +285 -0
- package/dist/tasks/decisionMachine/decisionMachineRunner.js.map +1 -0
- package/dist/tasks/detection/decodeBehavior.d.ts +3 -0
- package/dist/tasks/detection/decodeBehavior.d.ts.map +1 -0
- package/dist/tasks/detection/decodeBehavior.js +15 -0
- package/dist/tasks/detection/decodeBehavior.js.map +1 -0
- package/dist/tasks/detection/decodePayload.d.ts +5 -0
- package/dist/tasks/detection/decodePayload.d.ts.map +1 -0
- package/dist/tasks/detection/decodePayload.js +15 -849
- package/dist/tasks/detection/decodePayload.js.map +1 -0
- package/dist/tasks/detection/decodeSimd.d.ts +3 -0
- package/dist/tasks/detection/decodeSimd.d.ts.map +1 -0
- package/dist/tasks/detection/decodeSimd.js +15 -0
- package/dist/tasks/detection/decodeSimd.js.map +1 -0
- package/dist/tasks/detection/getBehavioralData.d.ts +4 -0
- package/dist/tasks/detection/getBehavioralData.d.ts.map +1 -0
- package/dist/tasks/detection/getBehavioralData.js +51 -0
- package/dist/tasks/detection/getBehavioralData.js.map +1 -0
- package/dist/tasks/detection/getBotScore.d.ts +22 -0
- package/dist/tasks/detection/getBotScore.d.ts.map +1 -0
- package/dist/tasks/detection/getBotScore.js +6 -4
- package/dist/tasks/detection/getBotScore.js.map +1 -0
- package/dist/tasks/frictionless/frictionlessTasks.d.ts +69 -0
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -0
- package/dist/tasks/frictionless/frictionlessTasks.js +144 -43
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -0
- package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts +6 -0
- package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts.map +1 -0
- package/dist/tasks/frictionless/frictionlessTasksUtils.js +10 -7
- package/dist/tasks/frictionless/frictionlessTasksUtils.js.map +1 -0
- package/dist/tasks/frictionless/routingMachine.d.ts +15 -0
- package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -0
- package/dist/tasks/frictionless/routingMachine.js +58 -0
- package/dist/tasks/frictionless/routingMachine.js.map +1 -0
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +33 -0
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -0
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +371 -57
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -0
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +7 -0
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +1 -0
- package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -0
- package/dist/tasks/index.d.ts +2 -0
- package/dist/tasks/index.d.ts.map +1 -0
- package/dist/tasks/index.js.map +1 -0
- package/dist/tasks/powCaptcha/powTasks.d.ts +36 -0
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -0
- package/dist/tasks/powCaptcha/powTasks.js +452 -57
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -0
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts +3 -0
- package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -0
- package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -0
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts +32 -0
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -0
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +525 -0
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -0
- package/dist/tasks/puzzleCaptcha/puzzleTasksUtils.d.ts +2 -0
- package/dist/tasks/puzzleCaptcha/puzzleTasksUtils.d.ts.map +1 -0
- package/dist/tasks/puzzleCaptcha/puzzleTasksUtils.js +7 -0
- package/dist/tasks/puzzleCaptcha/puzzleTasksUtils.js.map +1 -0
- package/dist/tasks/spam/checkSpamEmail.d.ts +5 -0
- package/dist/tasks/spam/checkSpamEmail.d.ts.map +1 -0
- package/dist/tasks/spam/checkSpamEmail.js +147 -0
- package/dist/tasks/spam/checkSpamEmail.js.map +1 -0
- package/dist/tasks/spam/checkTrafficFilter.d.ts +10 -0
- package/dist/tasks/spam/checkTrafficFilter.d.ts.map +1 -0
- package/dist/tasks/spam/checkTrafficFilter.js +41 -0
- package/dist/tasks/spam/checkTrafficFilter.js.map +1 -0
- package/dist/tasks/spam/evaluateEmailSpamRules.d.ts +16 -0
- package/dist/tasks/spam/evaluateEmailSpamRules.d.ts.map +1 -0
- package/dist/tasks/spam/evaluateEmailSpamRules.js +92 -0
- package/dist/tasks/spam/evaluateEmailSpamRules.js.map +1 -0
- package/dist/tasks/spam/updateSpamEmailDomains.d.ts +4 -0
- package/dist/tasks/spam/updateSpamEmailDomains.d.ts.map +1 -0
- package/dist/tasks/spam/updateSpamEmailDomains.js +58 -0
- package/dist/tasks/spam/updateSpamEmailDomains.js.map +1 -0
- package/dist/tasks/tasks.d.ts +36 -0
- package/dist/tasks/tasks.d.ts.map +1 -0
- package/dist/tasks/tasks.js +102 -4
- package/dist/tasks/tasks.js.map +1 -0
- package/dist/tests/index.d.ts +2 -0
- package/dist/tests/index.d.ts.map +1 -0
- package/dist/tests/index.js +2 -0
- package/dist/tests/index.js.map +1 -0
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.d.ts +2 -0
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +82 -0
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -0
- package/dist/tests/integration/api/admin/apiRegisterSiteKeysEndpoint.integration.test.d.ts +2 -0
- package/dist/tests/integration/api/admin/apiRegisterSiteKeysEndpoint.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/api/admin/apiRegisterSiteKeysEndpoint.integration.test.js +107 -0
- package/dist/tests/integration/api/admin/apiRegisterSiteKeysEndpoint.integration.test.js.map +1 -0
- package/dist/tests/integration/api/blacklistRequestInspector.integration.test.d.ts +2 -0
- package/dist/tests/integration/api/blacklistRequestInspector.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js +525 -0
- package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js.map +1 -0
- package/dist/tests/integration/clientSettingsPersistence.integration.test.d.ts +2 -0
- package/dist/tests/integration/clientSettingsPersistence.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js +165 -0
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -0
- package/dist/tests/integration/decisionMachines.integration.test.d.ts +2 -0
- package/dist/tests/integration/decisionMachines.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/decisionMachines.integration.test.js +511 -0
- package/dist/tests/integration/decisionMachines.integration.test.js.map +1 -0
- package/dist/tests/integration/imgCaptcha.integration.test.d.ts +2 -0
- package/dist/tests/integration/imgCaptcha.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/imgCaptcha.integration.test.js +646 -0
- package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -0
- package/dist/tests/integration/ipValidation.integration.test.d.ts +2 -0
- package/dist/tests/integration/ipValidation.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/ipValidation.integration.test.js +81 -0
- package/dist/tests/integration/ipValidation.integration.test.js.map +1 -0
- package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts +32 -0
- package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts.map +1 -0
- package/dist/tests/integration/mocks/solvedTestCaptchas.js +1046 -0
- package/dist/tests/integration/mocks/solvedTestCaptchas.js.map +1 -0
- package/dist/tests/integration/powCaptcha.integration.test.d.ts +2 -0
- package/dist/tests/integration/powCaptcha.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/powCaptcha.integration.test.js +502 -0
- package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -0
- package/dist/tests/integration/registerSitekey.d.ts +3 -0
- package/dist/tests/integration/registerSitekey.d.ts.map +1 -0
- package/dist/tests/integration/registerSitekey.js +23 -0
- package/dist/tests/integration/registerSitekey.js.map +1 -0
- package/dist/tests/integration/routingDecisionMachines.integration.test.d.ts +2 -0
- package/dist/tests/integration/routingDecisionMachines.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/routingDecisionMachines.integration.test.js +276 -0
- package/dist/tests/integration/routingDecisionMachines.integration.test.js.map +1 -0
- package/dist/tests/integration/testUtils.d.ts +4 -0
- package/dist/tests/integration/testUtils.d.ts.map +1 -0
- package/dist/tests/integration/testUtils.js +15 -0
- package/dist/tests/integration/testUtils.js.map +1 -0
- package/dist/tests/integration/usageCounters.integration.test.d.ts +2 -0
- package/dist/tests/integration/usageCounters.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/usageCounters.integration.test.js +103 -0
- package/dist/tests/integration/usageCounters.integration.test.js.map +1 -0
- package/dist/tests/integration/userAccessPolicy.d.ts +2 -0
- package/dist/tests/integration/userAccessPolicy.d.ts.map +1 -0
- package/dist/tests/integration/userAccessPolicy.js +2 -0
- package/dist/tests/integration/userAccessPolicy.js.map +1 -0
- package/dist/tests/unit/api/admin/apiClearAllCountersEndpoint.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/admin/apiClearAllCountersEndpoint.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/admin/apiClearAllCountersEndpoint.unit.test.js +63 -0
- package/dist/tests/unit/api/admin/apiClearAllCountersEndpoint.unit.test.js.map +1 -0
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +55 -0
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -0
- package/dist/tests/unit/api/admin/apiRegisterSiteKeysEndpoint.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/admin/apiRegisterSiteKeysEndpoint.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/admin/apiRegisterSiteKeysEndpoint.unit.test.js +67 -0
- package/dist/tests/unit/api/admin/apiRegisterSiteKeysEndpoint.unit.test.js.map +1 -0
- package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.js +56 -0
- package/dist/tests/unit/api/admin/apiRemoveDetectorKeyEndpoint.unit.test.js.map +1 -0
- package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.js +90 -0
- package/dist/tests/unit/api/admin/apiToggleMaintenanceModeEndpoint.unit.test.js.map +1 -0
- package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.js +59 -0
- package/dist/tests/unit/api/admin/apiUpdateDetectorKeyEndpoint.unit.test.js.map +1 -0
- package/dist/tests/unit/api/adminRoutes.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/adminRoutes.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/adminRoutes.unit.test.js +131 -0
- package/dist/tests/unit/api/adminRoutes.unit.test.js.map +1 -0
- package/dist/tests/unit/api/blacklistRequestInspector.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/blacklistRequestInspector.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js +137 -0
- package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js.map +1 -0
- package/dist/tests/unit/api/block.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/block.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/block.unit.test.js +60 -0
- package/dist/tests/unit/api/block.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.unit.test.js +118 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js +37 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/constants.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js +154 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.js +46 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.unit.test.js +69 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.unit.test.js +98 -0
- package/dist/tests/unit/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/maintenanceModeResponses.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha/maintenanceModeResponses.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha/maintenanceModeResponses.unit.test.js +60 -0
- package/dist/tests/unit/api/captcha/maintenanceModeResponses.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js +134 -0
- package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js.map +1 -0
- package/dist/tests/unit/api/captcha.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/captcha.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/captcha.unit.test.js +39 -0
- package/dist/tests/unit/api/captcha.unit.test.js.map +1 -0
- package/dist/tests/unit/api/contextAwareValidation.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/contextAwareValidation.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/contextAwareValidation.unit.test.js +84 -0
- package/dist/tests/unit/api/contextAwareValidation.unit.test.js.map +1 -0
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +435 -0
- package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -0
- package/dist/tests/unit/api/headerCheckMiddleware.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/headerCheckMiddleware.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/headerCheckMiddleware.unit.test.js +126 -0
- package/dist/tests/unit/api/headerCheckMiddleware.unit.test.js.map +1 -0
- package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/ignoreMiddleware.unit.test.js +113 -0
- package/dist/tests/unit/api/ignoreMiddleware.unit.test.js.map +1 -0
- package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/ja4Middleware.unit.test.js +138 -0
- package/dist/tests/unit/api/ja4Middleware.unit.test.js.map +1 -0
- package/dist/tests/unit/api/public.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/public.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/public.unit.test.js +198 -0
- package/dist/tests/unit/api/public.unit.test.js.map +1 -0
- package/dist/tests/unit/api/robotsMiddleware.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/robotsMiddleware.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/robotsMiddleware.unit.test.js +50 -0
- package/dist/tests/unit/api/robotsMiddleware.unit.test.js.map +1 -0
- package/dist/tests/unit/api/testSiteKey.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/testSiteKey.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/testSiteKey.unit.test.js +51 -0
- package/dist/tests/unit/api/testSiteKey.unit.test.js.map +1 -0
- package/dist/tests/unit/api/validateAddress.unit.test.d.ts +2 -0
- package/dist/tests/unit/api/validateAddress.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/api/validateAddress.unit.test.js +141 -0
- package/dist/tests/unit/api/validateAddress.unit.test.js.map +1 -0
- package/dist/tests/unit/compositeIpAddress.unit.test.d.ts +2 -0
- package/dist/tests/unit/compositeIpAddress.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/compositeIpAddress.unit.test.js +158 -0
- package/dist/tests/unit/compositeIpAddress.unit.test.js.map +1 -0
- package/dist/tests/unit/pairs.unit.test.d.ts +2 -0
- package/dist/tests/unit/pairs.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/pairs.unit.test.js +229 -0
- package/dist/tests/unit/pairs.unit.test.js.map +1 -0
- package/dist/tests/unit/rules/lang.unit.test.d.ts +2 -0
- package/dist/tests/unit/rules/lang.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/rules/lang.unit.test.js +207 -0
- package/dist/tests/unit/rules/lang.unit.test.js.map +1 -0
- package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts +2 -0
- package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +75 -0
- package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +1 -0
- package/dist/tests/unit/schedulers/getClientList.unit.test.d.ts +2 -0
- package/dist/tests/unit/schedulers/getClientList.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/schedulers/getClientList.unit.test.js +114 -0
- package/dist/tests/unit/schedulers/getClientList.unit.test.js.map +1 -0
- package/dist/tests/unit/schedulers/setClientEntropy.unit.test.d.ts +2 -0
- package/dist/tests/unit/schedulers/setClientEntropy.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/schedulers/setClientEntropy.unit.test.js +114 -0
- package/dist/tests/unit/schedulers/setClientEntropy.unit.test.js.map +1 -0
- package/dist/tests/unit/services/ipComparison.unit.test.d.ts +2 -0
- package/dist/tests/unit/services/ipComparison.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/services/ipComparison.unit.test.js +272 -0
- package/dist/tests/unit/services/ipComparison.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +576 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +343 -0
- package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js +92 -0
- package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +75 -0
- package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/decisionMachine/decisionMachineCustomHeaders.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/decisionMachine/decisionMachineCustomHeaders.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/decisionMachine/decisionMachineCustomHeaders.unit.test.js +213 -0
- package/dist/tests/unit/tasks/decisionMachine/decisionMachineCustomHeaders.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js +304 -0
- package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.js +109 -0
- package/dist/tests/unit/tasks/detection/getBehavioralData.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/detection/getBotScore.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/detection/getBotScore.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js +115 -0
- package/dist/tests/unit/tasks/detection/getBotScore.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js +142 -0
- package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +350 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js +103 -0
- package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/routingMachine.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/routingMachine.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/routingMachine.unit.test.js +169 -0
- package/dist/tests/unit/tasks/frictionless/routingMachine.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +1098 -0
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +56 -0
- package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +1714 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +169 -0
- package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js +313 -0
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasksUtils.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasksUtils.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasksUtils.unit.test.js +29 -0
- package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasksUtils.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/spam/checkSpamEmail.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/spam/checkSpamEmail.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/spam/checkSpamEmail.unit.test.js +434 -0
- package/dist/tests/unit/tasks/spam/checkSpamEmail.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.js +112 -0
- package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/spam/evaluateEmailSpamRules.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/spam/evaluateEmailSpamRules.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/spam/evaluateEmailSpamRules.unit.test.js +94 -0
- package/dist/tests/unit/tasks/spam/evaluateEmailSpamRules.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/streaming/providerDbStreaming.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/streaming/providerDbStreaming.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/streaming/providerDbStreaming.unit.test.js +94 -0
- package/dist/tests/unit/tasks/streaming/providerDbStreaming.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js +208 -0
- package/dist/tests/unit/tasks/writeQueueIntegration.unit.test.js.map +1 -0
- package/dist/tests/unit/testUtils/mockProviderEnv.d.ts +26 -0
- package/dist/tests/unit/testUtils/mockProviderEnv.d.ts.map +1 -0
- package/dist/tests/unit/testUtils/mockProviderEnv.js +149 -0
- package/dist/tests/unit/testUtils/mockProviderEnv.js.map +1 -0
- package/dist/tests/unit/util/redisCache.unit.test.d.ts +2 -0
- package/dist/tests/unit/util/redisCache.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/util/redisCache.unit.test.js +257 -0
- package/dist/tests/unit/util/redisCache.unit.test.js.map +1 -0
- package/dist/tests/unit/util/usageCounters.unit.test.d.ts +2 -0
- package/dist/tests/unit/util/usageCounters.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/util/usageCounters.unit.test.js +242 -0
- package/dist/tests/unit/util/usageCounters.unit.test.js.map +1 -0
- package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.d.ts +2 -0
- package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js +507 -0
- package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js.map +1 -0
- package/dist/tests/unit/util.ipDistance.unit.test.d.ts +2 -0
- package/dist/tests/unit/util.ipDistance.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/util.ipDistance.unit.test.js +99 -0
- package/dist/tests/unit/util.ipDistance.unit.test.js.map +1 -0
- package/dist/tests/unit/util.unit.test.d.ts +2 -0
- package/dist/tests/unit/util.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/util.unit.test.js +167 -0
- package/dist/tests/unit/util.unit.test.js.map +1 -0
- package/dist/tests/unit/utils/devicePlatform.unit.test.d.ts +2 -0
- package/dist/tests/unit/utils/devicePlatform.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/utils/devicePlatform.unit.test.js +58 -0
- package/dist/tests/unit/utils/devicePlatform.unit.test.js.map +1 -0
- package/dist/tests/unit/utils/hashUserAgent.unit.test.d.ts +2 -0
- package/dist/tests/unit/utils/hashUserAgent.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/utils/hashUserAgent.unit.test.js +52 -0
- package/dist/tests/unit/utils/hashUserAgent.unit.test.js.map +1 -0
- package/dist/tests/unit/utils/hashUserIp.unit.test.d.ts +2 -0
- package/dist/tests/unit/utils/hashUserIp.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/utils/hashUserIp.unit.test.js +81 -0
- package/dist/tests/unit/utils/hashUserIp.unit.test.js.map +1 -0
- package/dist/util/usageCounters.d.ts +22 -0
- package/dist/util/usageCounters.d.ts.map +1 -0
- package/dist/util/usageCounters.js +201 -0
- package/dist/util/usageCounters.js.map +1 -0
- package/dist/util.d.ts +25 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +3 -4
- package/dist/util.js.map +1 -0
- package/dist/utils/devicePlatform.d.ts +5 -0
- package/dist/utils/devicePlatform.d.ts.map +1 -0
- package/dist/utils/devicePlatform.js +10 -0
- package/dist/utils/devicePlatform.js.map +1 -0
- package/dist/utils/dns.d.ts +22 -0
- package/dist/utils/dns.d.ts.map +1 -0
- package/dist/utils/dns.js +84 -0
- package/dist/utils/dns.js.map +1 -0
- package/dist/utils/hashUserAgent.d.ts +2 -0
- package/dist/utils/hashUserAgent.d.ts.map +1 -0
- package/dist/utils/hashUserAgent.js.map +1 -0
- package/dist/utils/hashUserIp.d.ts +2 -0
- package/dist/utils/hashUserIp.d.ts.map +1 -0
- package/dist/utils/hashUserIp.js.map +1 -0
- package/dist/utils/honeypot/encoders.d.ts +3 -0
- package/dist/utils/honeypot/encoders.d.ts.map +1 -0
- package/dist/utils/honeypot/encoders.js +86 -0
- package/dist/utils/honeypot/encoders.js.map +1 -0
- package/dist/utils/honeypot/phraseBank.d.ts +3 -0
- package/dist/utils/honeypot/phraseBank.d.ts.map +1 -0
- package/dist/utils/honeypot/phraseBank.js +47 -0
- package/dist/utils/honeypot/phraseBank.js.map +1 -0
- package/dist/utils/normalizeRequestIp.d.ts +3 -0
- package/dist/utils/normalizeRequestIp.d.ts.map +1 -0
- package/dist/utils/normalizeRequestIp.js +27 -0
- package/dist/utils/normalizeRequestIp.js.map +1 -0
- package/package.json +30 -21
- package/vite.cjs.config.ts +17 -5
- package/vite.esm.config.ts +18 -4
- package/vite.test.config.ts +1 -1
- package/vite.threads.test.config.ts +1 -1
- package/dist/cjs/services/ipInfo.cjs +0 -87
- package/dist/services/ipInfo.js +0 -87
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const dns = require("node:dns");
|
|
4
|
+
const https = require("node:https");
|
|
5
|
+
const node_util = require("node:util");
|
|
6
|
+
function _interopNamespaceDefault(e) {
|
|
7
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
8
|
+
if (e) {
|
|
9
|
+
for (const k in e) {
|
|
10
|
+
if (k !== "default") {
|
|
11
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: () => e[k]
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
const dns__namespace = /* @__PURE__ */ _interopNamespaceDefault(dns);
|
|
23
|
+
const https__namespace = /* @__PURE__ */ _interopNamespaceDefault(https);
|
|
24
|
+
const DEFAULT_DNS_SERVERS = ["8.8.8.8", "1.1.1.1"];
|
|
25
|
+
const DEFAULT_HTTPS_TIMEOUT_MS = 1e3;
|
|
26
|
+
const createResolver = (dnsServers) => {
|
|
27
|
+
const resolver = new dns__namespace.Resolver();
|
|
28
|
+
resolver.setServers(dnsServers ?? DEFAULT_DNS_SERVERS);
|
|
29
|
+
return resolver;
|
|
30
|
+
};
|
|
31
|
+
const checkForCname = async (domain, resolver) => {
|
|
32
|
+
try {
|
|
33
|
+
const res = resolver ?? createResolver();
|
|
34
|
+
const resolveCname = node_util.promisify(res.resolveCname.bind(res));
|
|
35
|
+
return await resolveCname(domain);
|
|
36
|
+
} catch (err) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const checkForARecord = async (domain, resolver) => {
|
|
41
|
+
try {
|
|
42
|
+
const res = resolver ?? createResolver();
|
|
43
|
+
const resolve4 = node_util.promisify(res.resolve4.bind(res));
|
|
44
|
+
return await resolve4(domain);
|
|
45
|
+
} catch (err) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const checkForMXRecord = async (domain, resolver) => {
|
|
50
|
+
try {
|
|
51
|
+
const res = resolver ?? createResolver();
|
|
52
|
+
const resolveMx = node_util.promisify(res.resolveMx.bind(res));
|
|
53
|
+
return await resolveMx(domain);
|
|
54
|
+
} catch (err) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
const checkForRedirect = (url, timeoutMs = DEFAULT_HTTPS_TIMEOUT_MS) => {
|
|
59
|
+
return new Promise((resolve) => {
|
|
60
|
+
const req = https__namespace.get(url, { timeout: timeoutMs }, (res) => {
|
|
61
|
+
res.resume();
|
|
62
|
+
if (res.statusCode && res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
|
|
63
|
+
try {
|
|
64
|
+
const absoluteUrl = new URL(res.headers.location, url).href;
|
|
65
|
+
resolve({ redirectUrl: absoluteUrl });
|
|
66
|
+
} catch {
|
|
67
|
+
resolve({});
|
|
68
|
+
}
|
|
69
|
+
} else {
|
|
70
|
+
resolve({});
|
|
71
|
+
}
|
|
72
|
+
}).on("timeout", () => {
|
|
73
|
+
req.destroy();
|
|
74
|
+
resolve({ timeout: true });
|
|
75
|
+
}).on("error", (e) => {
|
|
76
|
+
const isTlsError = e.message.includes("CERT") || e.message.includes("SSL") || e.message.includes("TLS") || e.message.includes("certificate") || e.message.includes("EPROTO");
|
|
77
|
+
resolve({ tlsError: isTlsError });
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
const runDnsChecks = async (domain, options) => {
|
|
82
|
+
const resolver = createResolver(options?.dnsServers);
|
|
83
|
+
try {
|
|
84
|
+
const [cnameResult, mxRecordResult, redirectResult] = await Promise.all([
|
|
85
|
+
checkForCname(domain, resolver),
|
|
86
|
+
checkForMXRecord(domain, resolver),
|
|
87
|
+
checkForRedirect(`https://${domain}`)
|
|
88
|
+
]);
|
|
89
|
+
return {
|
|
90
|
+
cnameResult,
|
|
91
|
+
mxRecordResult,
|
|
92
|
+
redirectResult
|
|
93
|
+
};
|
|
94
|
+
} catch (e) {
|
|
95
|
+
throw new Error(`Error during DNS checks: ${e.toString()}`);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
exports.checkForARecord = checkForARecord;
|
|
99
|
+
exports.checkForCname = checkForCname;
|
|
100
|
+
exports.checkForMXRecord = checkForMXRecord;
|
|
101
|
+
exports.checkForRedirect = checkForRedirect;
|
|
102
|
+
exports.runDnsChecks = runDnsChecks;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const types = require("@prosopo/types");
|
|
4
|
+
const MORSE_MAP = {
|
|
5
|
+
a: ".-",
|
|
6
|
+
b: "-...",
|
|
7
|
+
c: "-.-.",
|
|
8
|
+
d: "-..",
|
|
9
|
+
e: ".",
|
|
10
|
+
f: "..-.",
|
|
11
|
+
g: "--.",
|
|
12
|
+
h: "....",
|
|
13
|
+
i: "..",
|
|
14
|
+
j: ".---",
|
|
15
|
+
k: "-.-",
|
|
16
|
+
l: ".-..",
|
|
17
|
+
m: "--",
|
|
18
|
+
n: "-.",
|
|
19
|
+
o: "---",
|
|
20
|
+
p: ".--.",
|
|
21
|
+
q: "--.-",
|
|
22
|
+
r: ".-.",
|
|
23
|
+
s: "...",
|
|
24
|
+
t: "-",
|
|
25
|
+
u: "..-",
|
|
26
|
+
v: "...-",
|
|
27
|
+
w: ".--",
|
|
28
|
+
x: "-..-",
|
|
29
|
+
y: "-.--",
|
|
30
|
+
z: "--..",
|
|
31
|
+
"0": "-----",
|
|
32
|
+
"1": ".----",
|
|
33
|
+
"2": "..---",
|
|
34
|
+
"3": "...--",
|
|
35
|
+
"4": "....-",
|
|
36
|
+
"5": ".....",
|
|
37
|
+
"6": "-....",
|
|
38
|
+
"7": "--...",
|
|
39
|
+
"8": "---..",
|
|
40
|
+
"9": "----."
|
|
41
|
+
};
|
|
42
|
+
const SEMAPHORE_MAP = {
|
|
43
|
+
a: "↙↓",
|
|
44
|
+
b: "←↓",
|
|
45
|
+
c: "↖↓",
|
|
46
|
+
d: "↑↓",
|
|
47
|
+
e: "↓↘",
|
|
48
|
+
f: "↓→",
|
|
49
|
+
g: "↓↗",
|
|
50
|
+
h: "↙←",
|
|
51
|
+
i: "↙↖",
|
|
52
|
+
j: "↓↑",
|
|
53
|
+
k: "↑←",
|
|
54
|
+
l: "↗←",
|
|
55
|
+
m: "←↖",
|
|
56
|
+
n: "←↑",
|
|
57
|
+
o: "↖↑",
|
|
58
|
+
p: "↑↗",
|
|
59
|
+
q: "↗→",
|
|
60
|
+
r: "→↘",
|
|
61
|
+
s: "↘↓",
|
|
62
|
+
t: "↓↙",
|
|
63
|
+
u: "↘↗",
|
|
64
|
+
v: "→↑",
|
|
65
|
+
w: "↘↑",
|
|
66
|
+
x: "↙↗",
|
|
67
|
+
y: "→↗",
|
|
68
|
+
z: "↘→"
|
|
69
|
+
};
|
|
70
|
+
const encodeMorse = (text) => {
|
|
71
|
+
const words = text.toLowerCase().split(/\s+/).filter(Boolean);
|
|
72
|
+
return words.map(
|
|
73
|
+
(word) => [...word].map((ch) => MORSE_MAP[ch]).filter((code) => Boolean(code)).join(" ")
|
|
74
|
+
).filter(Boolean).join(" / ");
|
|
75
|
+
};
|
|
76
|
+
const encodeSemaphore = (text) => {
|
|
77
|
+
const words = text.toLowerCase().split(/\s+/).filter(Boolean);
|
|
78
|
+
return words.map(
|
|
79
|
+
(word) => [...word].map((ch) => SEMAPHORE_MAP[ch]).filter((code) => Boolean(code)).join(" ")
|
|
80
|
+
).filter(Boolean).join(" / ");
|
|
81
|
+
};
|
|
82
|
+
const encodeHoneypotQuestion = (text, encoding) => {
|
|
83
|
+
const encoded = encoding === types.EncodingType.morse ? encodeMorse(text) : encodeSemaphore(text);
|
|
84
|
+
return Buffer.from(encoded, "utf-8").toString("base64");
|
|
85
|
+
};
|
|
86
|
+
exports.encodeHoneypotQuestion = encodeHoneypotQuestion;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const fs = require("node:fs");
|
|
4
|
+
const logger$1 = require("@prosopo/logger");
|
|
5
|
+
const DEFAULT_PHRASE_BANK_PATH = "/app/data/honeypot-phrases.json";
|
|
6
|
+
const logger = logger$1.getLogger("info", "honeypot-phrase-bank");
|
|
7
|
+
let cachedPhrases = null;
|
|
8
|
+
const resolvePath = () => process.env.PROSOPO_HONEYPOT_PHRASE_BANK_PATH ?? DEFAULT_PHRASE_BANK_PATH;
|
|
9
|
+
const loadPhrases = () => {
|
|
10
|
+
const path = resolvePath();
|
|
11
|
+
try {
|
|
12
|
+
const raw = fs.readFileSync(path, "utf-8");
|
|
13
|
+
const parsed = JSON.parse(raw);
|
|
14
|
+
if (parsed && typeof parsed === "object" && "phrases" in parsed && Array.isArray(parsed.phrases)) {
|
|
15
|
+
const phrases = parsed.phrases.filter(
|
|
16
|
+
(p) => typeof p === "string" && p.trim().length > 0
|
|
17
|
+
);
|
|
18
|
+
logger.info(() => ({
|
|
19
|
+
msg: "Loaded honeypot phrase bank",
|
|
20
|
+
data: { path, count: phrases.length }
|
|
21
|
+
}));
|
|
22
|
+
return phrases;
|
|
23
|
+
}
|
|
24
|
+
logger.warn(() => ({
|
|
25
|
+
msg: "Honeypot phrase bank missing `phrases` array",
|
|
26
|
+
data: { path }
|
|
27
|
+
}));
|
|
28
|
+
return [];
|
|
29
|
+
} catch (err) {
|
|
30
|
+
logger.warn(() => ({
|
|
31
|
+
msg: "Failed to load honeypot phrase bank — fallback questions disabled",
|
|
32
|
+
data: { path, err: err instanceof Error ? err.message : String(err) }
|
|
33
|
+
}));
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const getRandomPhrase = () => {
|
|
38
|
+
if (cachedPhrases === null) cachedPhrases = loadPhrases();
|
|
39
|
+
if (cachedPhrases.length === 0) return void 0;
|
|
40
|
+
const idx = Math.floor(Math.random() * cachedPhrases.length);
|
|
41
|
+
return cachedPhrases[idx];
|
|
42
|
+
};
|
|
43
|
+
const resetPhraseBankCache = () => {
|
|
44
|
+
cachedPhrases = null;
|
|
45
|
+
};
|
|
46
|
+
exports.getRandomPhrase = getRandomPhrase;
|
|
47
|
+
exports.resetPhraseBankCache = resetPhraseBankCache;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const normalizeRequestIp = (rawIp, logger) => {
|
|
4
|
+
let normalizedIp = "";
|
|
5
|
+
const rawType = typeof rawIp;
|
|
6
|
+
const rawCtor = rawIp && rawType === "object" ? rawIp.constructor?.name : void 0;
|
|
7
|
+
const addressProp = rawIp && rawType === "object" ? rawIp.address : void 0;
|
|
8
|
+
if (rawType === "string") {
|
|
9
|
+
normalizedIp = rawIp;
|
|
10
|
+
} else if (typeof addressProp === "string") {
|
|
11
|
+
normalizedIp = addressProp;
|
|
12
|
+
} else if (rawIp != null) {
|
|
13
|
+
normalizedIp = String(rawIp);
|
|
14
|
+
}
|
|
15
|
+
logger.debug(() => ({
|
|
16
|
+
msg: "Normalized request IP",
|
|
17
|
+
data: {
|
|
18
|
+
rawIpType: rawType,
|
|
19
|
+
rawIpCtor: rawCtor,
|
|
20
|
+
rawIpString: rawType === "string" ? rawIp : void 0,
|
|
21
|
+
addressPropType: typeof addressProp,
|
|
22
|
+
normalizedIp
|
|
23
|
+
}
|
|
24
|
+
}));
|
|
25
|
+
return normalizedIp;
|
|
26
|
+
};
|
|
27
|
+
exports.normalizeRequestIp = normalizeRequestIp;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IPAddress } from "@prosopo/types";
|
|
2
|
+
import { type CompositeIpAddress } from "@prosopo/types";
|
|
3
|
+
export declare const getCompositeIpAddress: (ip: string | IPAddress) => CompositeIpAddress;
|
|
4
|
+
export declare const getIpAddressFromComposite: (compositeIpAddress: CompositeIpAddress) => IPAddress;
|
|
5
|
+
//# sourceMappingURL=compositeIpAddress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compositeIpAddress.d.ts","sourceRoot":"","sources":["../src/compositeIpAddress.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,KAAK,kBAAkB,EAAiB,MAAM,gBAAgB,CAAC;AAOxE,eAAO,MAAM,qBAAqB,OAC7B,MAAM,GAAG,SAAS,KACpB,kBAaF,CAAC;AAuBF,eAAO,MAAM,yBAAyB,uBACjB,kBAAkB,KACpC,SAaF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compositeIpAddress.js","sourceRoot":"","sources":["../src/compositeIpAddress.ts"],"names":[],"mappings":"AAeA,OAAO,EAA2B,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,QAAQ,GAAG,GAAG,CAAC;AACrB,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACpC,EAAsB,EACD,EAAE;IACvB,IAAI,SAAoB,CAAC;IAEzB,IAAI,CAAC;QACJ,SAAS,GAAG,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO;YACN,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,aAAa,CAAC,EAAE;SACtB,CAAC;IACH,CAAC;IAED,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CACjC,SAAoB,EACC,EAAE;IACvB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;IAErC,IAAI,SAAS,YAAY,QAAQ,EAAE,CAAC;QACnC,OAAO;YACN,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,aAAa,CAAC,EAAE;SACtB,CAAC;IACH,CAAC;IAED,SAA4B,CAAC;IAE7B,OAAO;QACN,KAAK,EAAE,SAAS,GAAG,aAAa;QAChC,KAAK,EAAE,SAAS,IAAI,QAAQ;QAC5B,IAAI,EAAE,aAAa,CAAC,EAAE;KACtB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,kBAAsC,EAC1B,EAAE;IACd,QAAQ,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACjC,KAAK,aAAa,CAAC,EAAE;YACpB,OAAO,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,KAAK,aAAa,CAAC,EAAE;YACpB,OAAO,QAAQ,CAAC,UAAU,CACzB,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;gBAChD,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,CACtD,CAAC;QACH;YACC,KAAK,EAAE,CAAC;YACR,OAAO,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,MAAmC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAEhF,MAAM,KAAK,GAAG,GAAU,EAAE;IACzB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACnC,CAAC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export * from "./tasks/index.js";
|
|
2
|
+
export { updateSpamEmailDomains } from "./tasks/spam/updateSpamEmailDomains.js";
|
|
3
|
+
export * from "./util.js";
|
|
4
|
+
export * from "./api/block.js";
|
|
5
|
+
export * from "./api/captcha.js";
|
|
6
|
+
export * from "./api/verify.js";
|
|
7
|
+
export * from "./api/ja4Middleware.js";
|
|
8
|
+
export * from "./api/public.js";
|
|
9
|
+
export * from "./api/domainMiddleware.js";
|
|
10
|
+
export * from "./api/startProviderApi.js";
|
|
11
|
+
export * from "./schedulers/captchaScheduler.js";
|
|
12
|
+
export * from "./schedulers/getClientList.js";
|
|
13
|
+
export * from "./schedulers/setClientEntropy.js";
|
|
14
|
+
export * from "./schedulers/updateSpamEmailDomains.js";
|
|
15
|
+
export * from "./api/headerCheckMiddleware.js";
|
|
16
|
+
export * from "./api/admin/createApiAdminRoutesProvider.js";
|
|
17
|
+
export * from "./api/ignoreMiddleware.js";
|
|
18
|
+
export * from "./api/robotsMiddleware.js";
|
|
19
|
+
export * from "./compositeIpAddress.js";
|
|
20
|
+
export * from "./services/ipComparison.js";
|
|
21
|
+
export * from "./api/blacklistRequestInspector.js";
|
|
22
|
+
export { FrictionlessReason } from "./tasks/frictionless/frictionlessTasks.js";
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "./tasks/index.js";
|
|
2
|
+
import { updateSpamEmailDomains } from "./tasks/spam/updateSpamEmailDomains.js";
|
|
2
3
|
import { checkIfTaskIsRunning, deepValidateIpAddress, encodeStringAddress, evaluateIpValidationRules, getIPAddress, getIPAddressFromBigInt, shuffleArray, validateIpAddress } from "./util.js";
|
|
3
4
|
import { blockMiddleware } from "./api/block.js";
|
|
4
5
|
import { prosopoRouter } from "./api/captcha.js";
|
|
@@ -6,18 +7,25 @@ import { prosopoVerifyRouter } from "./api/verify.js";
|
|
|
6
7
|
import { DEFAULT_JA4, getJA4, ja4Middleware } from "./api/ja4Middleware.js";
|
|
7
8
|
import { publicRouter } from "./api/public.js";
|
|
8
9
|
import { domainMiddleware } from "./api/domainMiddleware.js";
|
|
10
|
+
import { getClientApiPathsExpectingProsopoHeaders, getUserFromJWT, isTlsAvailable, startProviderApi } from "./api/startProviderApi.js";
|
|
9
11
|
import { storeCaptchasExternally } from "./schedulers/captchaScheduler.js";
|
|
10
12
|
import { getClientList } from "./schedulers/getClientList.js";
|
|
11
13
|
import { setClientEntropy } from "./schedulers/setClientEntropy.js";
|
|
14
|
+
import { updateSpamEmailDomainsScheduler } from "./schedulers/updateSpamEmailDomains.js";
|
|
12
15
|
import { headerCheckMiddleware } from "./api/headerCheckMiddleware.js";
|
|
13
16
|
import { createApiAdminRoutesProvider } from "./api/admin/createApiAdminRoutesProvider.js";
|
|
14
17
|
import { ignoreMiddleware } from "./api/ignoreMiddleware.js";
|
|
15
18
|
import { robotsMiddleware } from "./api/robotsMiddleware.js";
|
|
16
19
|
import { getCompositeIpAddress, getIpAddressFromComposite } from "./compositeIpAddress.js";
|
|
17
20
|
import { compareIPs } from "./services/ipComparison.js";
|
|
21
|
+
import { BlacklistRequestInspector, getPrioritisedAccessRule, getRequestUserScope } from "./api/blacklistRequestInspector.js";
|
|
22
|
+
import "./tasks/frictionless/frictionlessTasks.js";
|
|
23
|
+
import { FrictionlessReason } from "@prosopo/types";
|
|
18
24
|
import { Tasks } from "./tasks/tasks.js";
|
|
19
25
|
export {
|
|
26
|
+
BlacklistRequestInspector,
|
|
20
27
|
DEFAULT_JA4,
|
|
28
|
+
FrictionlessReason,
|
|
21
29
|
Tasks,
|
|
22
30
|
blockMiddleware,
|
|
23
31
|
checkIfTaskIsRunning,
|
|
@@ -27,14 +35,19 @@ export {
|
|
|
27
35
|
domainMiddleware,
|
|
28
36
|
encodeStringAddress,
|
|
29
37
|
evaluateIpValidationRules,
|
|
38
|
+
getClientApiPathsExpectingProsopoHeaders,
|
|
30
39
|
getClientList,
|
|
31
40
|
getCompositeIpAddress,
|
|
32
41
|
getIPAddress,
|
|
33
42
|
getIPAddressFromBigInt,
|
|
34
43
|
getIpAddressFromComposite,
|
|
35
44
|
getJA4,
|
|
45
|
+
getPrioritisedAccessRule,
|
|
46
|
+
getRequestUserScope,
|
|
47
|
+
getUserFromJWT,
|
|
36
48
|
headerCheckMiddleware,
|
|
37
49
|
ignoreMiddleware,
|
|
50
|
+
isTlsAvailable,
|
|
38
51
|
ja4Middleware,
|
|
39
52
|
prosopoRouter,
|
|
40
53
|
prosopoVerifyRouter,
|
|
@@ -42,6 +55,9 @@ export {
|
|
|
42
55
|
robotsMiddleware,
|
|
43
56
|
setClientEntropy,
|
|
44
57
|
shuffleArray,
|
|
58
|
+
startProviderApi,
|
|
45
59
|
storeCaptchasExternally,
|
|
60
|
+
updateSpamEmailDomains,
|
|
61
|
+
updateSpamEmailDomainsScheduler,
|
|
46
62
|
validateIpAddress
|
|
47
63
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC"}
|
package/dist/pairs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pairs.d.ts","sourceRoot":"","sources":["../src/pairs.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,iBAAiB,SAAU,MAAM,EAAE,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAWlE,CAAC;AAMF,eAAO,MAAM,sBAAsB,eAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,YActE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pairs.js","sourceRoot":"","sources":["../src/pairs.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAKnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAsB,EAAE;IAEvE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAgC,EAAE,EAAE;IAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAE9B,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtB,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IAGD,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACzD,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lang.d.ts","sourceRoot":"","sources":["../../src/rules/lang.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,eAAO,MAAM,cAAc,WAClB,mBAAmB,kBACX,MAAM,KACpB,MAeF,CAAC"}
|
package/dist/rules/lang.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const checkLangRules = (config, acceptLanguage) => {
|
|
2
2
|
const lConfig = config.lRules;
|
|
3
3
|
let lScore = 0;
|
|
4
|
-
if (lConfig) {
|
|
4
|
+
if (lConfig && acceptLanguage) {
|
|
5
5
|
const languages = acceptLanguage.split(",").map((lang) => lang.trim().split(";")[0]);
|
|
6
6
|
for (const lang of languages) {
|
|
7
7
|
if (lang && lConfig[lang]) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../src/rules/lang.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,MAA2B,EAC3B,cAAsB,EACb,EAAE;IACX,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,cAAc;aAC9B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { KeyringPair } from "@prosopo/types";
|
|
2
|
+
import { type ProsopoConfigOutput } from "@prosopo/types";
|
|
3
|
+
export declare function storeCaptchasExternally(pair: KeyringPair, cronSchedule: string, config: ProsopoConfigOutput): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=captchaScheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captchaScheduler.d.ts","sourceRoot":"","sources":["../../src/schedulers/captchaScheduler.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,mBAAmB,EAAsB,MAAM,gBAAgB,CAAC;AAK9E,wBAAsB,uBAAuB,CAC5C,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,mBAAmB,iBA8B3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captchaScheduler.js","sourceRoot":"","sources":["../../src/schedulers/captchaScheduler.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAA4B,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,IAAiB,EACjB,YAAoB,EACpB,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IAEpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAE7B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAC7C,kBAAkB,CAAC,wBAAwB,EAC3C,GAAG,CAAC,KAAK,EAAE,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,EAAE,WAAW,EAAE;YACrB,GAAG,EAAE,GAAG,kBAAkB,CAAC,wBAAwB,kBAAkB,WAAW,EAAE;SAClF,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtB,GAAG,EAAE,GAAG,kBAAkB,CAAC,wBAAwB,WAAW;aAC9D,CAAC,CAAC,CAAC;YACJ,MAAM,KAAK,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACvB,GAAG;oBACH,GAAG,EAAE,sCAAsC;iBAC3C,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,EAAE,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { KeyringPair } from "@prosopo/types";
|
|
2
|
+
import { type ProsopoConfigOutput } from "@prosopo/types";
|
|
3
|
+
export declare function getClientList(pair: KeyringPair, cronSchedule: string, config: ProsopoConfigOutput): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=getClientList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getClientList.d.ts","sourceRoot":"","sources":["../../src/schedulers/getClientList.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,mBAAmB,EAAsB,MAAM,gBAAgB,CAAC;AAW9E,wBAAsB,aAAa,CAClC,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,mBAAmB,iBA+B3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getClientList.js","sourceRoot":"","sources":["../../src/schedulers/getClientList.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAA4B,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQlD,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,IAAiB,EACjB,YAAoB,EACpB,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IAEpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAE7B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAC7C,kBAAkB,CAAC,aAAa,EAChC,GAAG,CAAC,KAAK,EAAE,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,GAAG,EAAE,GAAG,kBAAkB,CAAC,aAAa,kBAAkB,WAAW,EAAE;YACvE,IAAI,EAAE,EAAE,WAAW,EAAE;SACrB,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtB,GAAG,EAAE,GAAG,kBAAkB,CAAC,aAAa,WAAW;gBACnD,IAAI,EAAE,EAAE;aACR,CAAC,CAAC,CAAC;YACJ,MAAM,KAAK,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3D,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACvB,GAAG;oBACH,GAAG,EAAE,2BAA2B;iBAChC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,EAAE,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { KeyringPair } from "@prosopo/types";
|
|
2
|
+
import { type ProsopoConfigOutput } from "@prosopo/types";
|
|
3
|
+
export declare function setClientEntropy(pair: KeyringPair, cronSchedule: string, config: ProsopoConfigOutput): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=setClientEntropy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setClientEntropy.d.ts","sourceRoot":"","sources":["../../src/schedulers/setClientEntropy.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,mBAAmB,EAAsB,MAAM,gBAAgB,CAAC;AAW9E,wBAAsB,gBAAgB,CACrC,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,mBAAmB,iBA+B3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setClientEntropy.js","sourceRoot":"","sources":["../../src/schedulers/setClientEntropy.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAA4B,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQlD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,IAAiB,EACjB,YAAoB,EACpB,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IAEpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAE7B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAC7C,kBAAkB,CAAC,gBAAgB,EACnC,GAAG,CAAC,KAAK,EAAE,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,GAAG,EAAE,GAAG,kBAAkB,CAAC,gBAAgB,kBAAkB,WAAW,EAAE;YAC1E,IAAI,EAAE,EAAE,WAAW,EAAE;SACrB,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtB,GAAG,EAAE,GAAG,kBAAkB,CAAC,gBAAgB,WAAW;gBACtD,IAAI,EAAE,EAAE;aACR,CAAC,CAAC,CAAC;YACJ,MAAM,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACvB,GAAG;oBACH,GAAG,EAAE,8BAA8B;iBACnC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,EAAE,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { KeyringPair } from "@prosopo/types";
|
|
2
|
+
import { type ProsopoConfigOutput } from "@prosopo/types";
|
|
3
|
+
export declare function updateSpamEmailDomainsScheduler(pair: KeyringPair, cronSchedule: string, config: ProsopoConfigOutput): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=updateSpamEmailDomains.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateSpamEmailDomains.d.ts","sourceRoot":"","sources":["../../src/schedulers/updateSpamEmailDomains.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,mBAAmB,EAAsB,MAAM,gBAAgB,CAAC;AAW9E,wBAAsB,+BAA+B,CACpD,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,mBAAmB,iBAwC3B"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ProviderEnvironment } from "@prosopo/env";
|
|
2
|
+
import { ScheduledTaskNames } from "@prosopo/types";
|
|
3
|
+
import { CronJob } from "cron";
|
|
4
|
+
import { updateSpamEmailDomains } from "../tasks/spam/updateSpamEmailDomains.js";
|
|
5
|
+
import { checkIfTaskIsRunning } from "../util.js";
|
|
6
|
+
async function updateSpamEmailDomainsScheduler(pair, cronSchedule, config) {
|
|
7
|
+
const env = new ProviderEnvironment(config, pair);
|
|
8
|
+
await env.isReady();
|
|
9
|
+
const job = new CronJob(cronSchedule, async () => {
|
|
10
|
+
const taskRunning = await checkIfTaskIsRunning(
|
|
11
|
+
ScheduledTaskNames.UpdateSpamEmailDomains,
|
|
12
|
+
env.getDb()
|
|
13
|
+
);
|
|
14
|
+
env.logger.info(() => ({
|
|
15
|
+
msg: `${ScheduledTaskNames.UpdateSpamEmailDomains} task running: ${taskRunning}`,
|
|
16
|
+
data: { taskRunning }
|
|
17
|
+
}));
|
|
18
|
+
if (!taskRunning) {
|
|
19
|
+
env.logger.info(() => ({
|
|
20
|
+
msg: `${ScheduledTaskNames.UpdateSpamEmailDomains} task....`,
|
|
21
|
+
data: {}
|
|
22
|
+
}));
|
|
23
|
+
const spamEmailDomainsUrls = config.spamEmailDomainsUrls || [];
|
|
24
|
+
if (spamEmailDomainsUrls.length === 0) {
|
|
25
|
+
env.logger.warn(() => ({
|
|
26
|
+
msg: "No spam email domains URLs configured, skipping update"
|
|
27
|
+
}));
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
await updateSpamEmailDomains(
|
|
31
|
+
env.getDb(),
|
|
32
|
+
env.logger,
|
|
33
|
+
spamEmailDomainsUrls
|
|
34
|
+
).catch((err) => {
|
|
35
|
+
env.logger.error(() => ({
|
|
36
|
+
err,
|
|
37
|
+
msg: "Error updating spam email domains"
|
|
38
|
+
}));
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
job.start();
|
|
43
|
+
}
|
|
44
|
+
export {
|
|
45
|
+
updateSpamEmailDomainsScheduler
|
|
46
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateSpamEmailDomains.js","sourceRoot":"","sources":["../../src/schedulers/updateSpamEmailDomains.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAA4B,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQlD,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACpD,IAAiB,EACjB,YAAoB,EACpB,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IAEpB,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAC7C,kBAAkB,CAAC,sBAAsB,EACzC,GAAG,CAAC,KAAK,EAAE,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,GAAG,EAAE,GAAG,kBAAkB,CAAC,sBAAsB,kBAAkB,WAAW,EAAE;YAChF,IAAI,EAAE,EAAE,WAAW,EAAE;SACrB,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtB,GAAG,EAAE,GAAG,kBAAkB,CAAC,sBAAsB,WAAW;gBAC5D,IAAI,EAAE,EAAE;aACR,CAAC,CAAC,CAAC;YACJ,MAAM,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAC;YAC/D,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBACtB,GAAG,EAAE,wDAAwD;iBAC7D,CAAC,CAAC,CAAC;gBACJ,OAAO;YACR,CAAC;YACD,MAAM,sBAAsB,CAC3B,GAAG,CAAC,KAAK,EAAE,EACX,GAAG,CAAC,MAAM,EACV,oBAAoB,CACpB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACvB,GAAG;oBACH,GAAG,EAAE,mCAAmC;iBACxC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,EAAE,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { IPComparisonResponse } from "@prosopo/types";
|
|
2
|
+
import type { IIpInfoService } from "@prosopo/types-env";
|
|
3
|
+
export declare function compareIPs(ip1: string, ip2: string, ipInfoService: IIpInfoService): Promise<IPComparisonResponse>;
|
|
4
|
+
//# sourceMappingURL=ipComparison.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipComparison.d.ts","sourceRoot":"","sources":["../../src/services/ipComparison.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,oBAAoB,EAGpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAgBzD,wBAAsB,UAAU,CAC/B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,cAAc,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CA6J/B"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { getDistance } from "geolib";
|
|
2
|
-
|
|
3
|
-
async function compareIPs(ip1, ip2, apiKey, apiUrl) {
|
|
2
|
+
async function compareIPs(ip1, ip2, ipInfoService) {
|
|
4
3
|
try {
|
|
5
4
|
if (!ip1 || !ip2 || typeof ip1 !== "string" || typeof ip2 !== "string") {
|
|
6
5
|
return {
|
|
@@ -17,8 +16,8 @@ async function compareIPs(ip1, ip2, apiKey, apiUrl) {
|
|
|
17
16
|
};
|
|
18
17
|
}
|
|
19
18
|
const [ip1Info, ip2Info] = await Promise.all([
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
ipInfoService.lookup(ip1),
|
|
20
|
+
ipInfoService.lookup(ip2)
|
|
22
21
|
]);
|
|
23
22
|
if (!ip1Info.isValid && !ip2Info.isValid) {
|
|
24
23
|
return {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipComparison.js","sourceRoot":"","sources":["../../src/services/ipComparison.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { RedisWriteQueue } from "@prosopo/database";
|
|
2
|
+
import type { TranslationKey } from "@prosopo/locale";
|
|
3
|
+
import { type Logger } from "@prosopo/logger";
|
|
4
|
+
import { type CaptchaType, type IPInfoResponse, type ITrafficFilter, type KeyringPair, type ProsopoConfigOutput, type RequestHeaders, type Session, type SimdReadingsStage, Tier, type UserCommitment } from "@prosopo/types";
|
|
5
|
+
import type { ClientRecord, IProviderDatabase, IUserDataSlim, PoWCaptchaRecord, PuzzleCaptchaRecord } from "@prosopo/types-database";
|
|
6
|
+
import type { ProviderEnvironment } from "@prosopo/types-env";
|
|
7
|
+
import { type AccessPolicy, type AccessRulesStorage, type UserScope, type UserScopeRecord } from "@prosopo/user-access-policy";
|
|
8
|
+
import type { BehavioralDataResult } from "./detection/decodeBehavior.js";
|
|
9
|
+
import type { SimdReadingsResult } from "./detection/decodeSimd.js";
|
|
10
|
+
import { type TrafficCheckResult } from "./spam/checkTrafficFilter.js";
|
|
11
|
+
export declare class CaptchaManager {
|
|
12
|
+
pair: KeyringPair;
|
|
13
|
+
db: IProviderDatabase;
|
|
14
|
+
config: ProsopoConfigOutput;
|
|
15
|
+
logger: Logger;
|
|
16
|
+
writeQueue: RedisWriteQueue | null;
|
|
17
|
+
constructor(db: IProviderDatabase, pair: KeyringPair, config: ProsopoConfigOutput, logger?: Logger, writeQueue?: RedisWriteQueue | null);
|
|
18
|
+
updateSessionRecordWithCache(sessionId: string, updates: Partial<Session>, streamToCentral?: boolean): Promise<void>;
|
|
19
|
+
decryptSimdReadingsForAttach(simdReadingsCiphertext: string): Promise<NonNullable<Session["simdReadings"]> | undefined>;
|
|
20
|
+
decryptAndAttachSimdReadingsIfAbsent(sessionId: string, simdReadingsCiphertext: string, stage: SimdReadingsStage): Promise<void>;
|
|
21
|
+
recordSessionSimdReadingsIfAbsentWithCache(sessionId: string, readings: NonNullable<Session["simdReadings"]>, stage: SimdReadingsStage): Promise<void>;
|
|
22
|
+
scheduleMongoSessionUpdate(sessionId: string, updates: Partial<Session>, streamToCentral?: boolean): void;
|
|
23
|
+
scheduleMongoSimdReadingsUpdate(sessionId: string, readings: NonNullable<Session["simdReadings"]>, stage: SimdReadingsStage): void;
|
|
24
|
+
validateSessionIP(sessionRecord: Session, currentIP: string, env: ProviderEnvironment): Promise<{
|
|
25
|
+
valid: boolean;
|
|
26
|
+
reason?: TranslationKey;
|
|
27
|
+
}>;
|
|
28
|
+
isValidRequest(clientSettings: ClientRecord | IUserDataSlim, requestedCaptchaType: CaptchaType, env: ProviderEnvironment, sessionId?: string, userAccessPolicy?: AccessPolicy, currentIP?: string): Promise<{
|
|
29
|
+
valid: boolean;
|
|
30
|
+
reason?: TranslationKey;
|
|
31
|
+
sessionId?: string;
|
|
32
|
+
type: CaptchaType;
|
|
33
|
+
powDifficulty?: number;
|
|
34
|
+
solvedImagesCount?: number;
|
|
35
|
+
ipInfo?: IPInfoResponse;
|
|
36
|
+
}>;
|
|
37
|
+
getVerificationResponse(verified: boolean, clientRecord: ClientRecord, translateFn: (key: string) => string, score?: number, reason?: string): {
|
|
38
|
+
reason?: string | undefined;
|
|
39
|
+
score?: number | undefined;
|
|
40
|
+
status: string;
|
|
41
|
+
verified: boolean;
|
|
42
|
+
};
|
|
43
|
+
getPrioritisedAccessPolicies(userAccessRulesStorage: AccessRulesStorage, clientId: string, userScope: UserScope | UserScopeRecord): Promise<import("@prosopo/user-access-policy").AccessRule[]>;
|
|
44
|
+
getDetectorKeys(): Promise<string[]>;
|
|
45
|
+
decryptSimdReadings(encryptedData: string, decryptKeys: (string | undefined)[]): Promise<SimdReadingsResult | null>;
|
|
46
|
+
decryptBehavioralData(encryptedData: string, decryptKeys: (string | undefined)[]): Promise<BehavioralDataResult | null>;
|
|
47
|
+
checkForHardBlock(userAccessRulesStorage: AccessRulesStorage, challengeRecord: PoWCaptchaRecord | PuzzleCaptchaRecord | UserCommitment, userAccount: string, headers: RequestHeaders, coords?: [number, number][][], countryCode?: string): Promise<AccessPolicy | undefined>;
|
|
48
|
+
checkSpamEmail(email: string): Promise<boolean>;
|
|
49
|
+
resolveTrafficFilterCheck(env: ProviderEnvironment, recordIpInfo: IPInfoResponse | undefined, trafficFilter: Partial<ITrafficFilter> | undefined, currentIp?: string): Promise<TrafficCheckResult>;
|
|
50
|
+
static canClientSeeScore(tier: Tier, score?: number): boolean | 0 | undefined;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=captchaManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captchaManager.d.ts","sourceRoot":"","sources":["../../src/tasks/captchaManager.ts"],"names":[],"mappings":"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"}
|