@prosopo/provider 4.15.14 → 4.15.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +106 -106
  2. package/.turbo/turbo-build$colon$tsc.log +24 -24
  3. package/.turbo/turbo-build.log +107 -104
  4. package/CHANGELOG.md +49 -0
  5. package/dist/_virtual/_rolldown/runtime.js +3 -0
  6. package/dist/api/admin/apiAdminRoutesProvider.js +27 -46
  7. package/dist/api/admin/apiClearAllCountersEndpoint.js +62 -57
  8. package/dist/api/admin/apiDnsEventEndpoint.js +79 -92
  9. package/dist/api/admin/apiGetAllDecisionMachinesEndpoint.js +43 -45
  10. package/dist/api/admin/apiGetDecisionMachineEndpoint.js +40 -40
  11. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js +23 -22
  12. package/dist/api/admin/apiRegisterSiteKeysEndpoint.js +26 -30
  13. package/dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.js +35 -37
  14. package/dist/api/admin/apiRemoveDecisionMachineEndpoint.js +40 -40
  15. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +1 -1
  16. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js +29 -31
  17. package/dist/api/admin/apiRemoveSiteKeyEndpoint.js +33 -29
  18. package/dist/api/admin/apiRemoveSiteKeysEndpoint.js +32 -31
  19. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js +43 -35
  20. package/dist/api/admin/apiUpdateDecisionMachineEndpoint.js +43 -63
  21. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js +36 -35
  22. package/dist/api/admin/createApiAdminRoutesProvider.js +6 -8
  23. package/dist/api/blacklistRequestInspector.js +285 -377
  24. package/dist/api/block.js +17 -30
  25. package/dist/api/captcha/checkSpamEmail.js +88 -98
  26. package/dist/api/captcha/contextAwareValidation.js +21 -15
  27. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js +126 -140
  28. package/dist/api/captcha/getFrictionlessCaptchaChallenge/constants.js +11 -12
  29. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +236 -299
  30. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.js +10 -13
  31. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +336 -462
  32. package/dist/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.js +17 -14
  33. package/dist/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.js +27 -27
  34. package/dist/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.js +42 -63
  35. package/dist/api/captcha/getFrictionlessCaptchaChallenge.js +2 -4
  36. package/dist/api/captcha/getImageCaptchaChallenge.js +136 -207
  37. package/dist/api/captcha/getPoWCaptchaChallenge.js +128 -198
  38. package/dist/api/captcha/getPuzzleCaptchaChallenge.js +132 -201
  39. package/dist/api/captcha/maintenanceModeResponses.js +38 -47
  40. package/dist/api/captcha/submitImageCaptchaSolution.js +75 -101
  41. package/dist/api/captcha/submitPoWCaptchaSolution.js +137 -207
  42. package/dist/api/captcha/submitPuzzleCaptchaSolution.js +73 -105
  43. package/dist/api/captcha.js +76 -58
  44. package/dist/api/dnsEventUrl.js +20 -22
  45. package/dist/api/domainMiddleware.js +104 -115
  46. package/dist/api/forwardVerify.js +62 -48
  47. package/dist/api/handshakeTimingMiddleware.js +43 -62
  48. package/dist/api/hardBlockVerdictCache.js +114 -117
  49. package/dist/api/headerCheckMiddleware.js +34 -34
  50. package/dist/api/ignoreMiddleware.js +13 -15
  51. package/dist/api/ipInfoMiddleware.js +17 -19
  52. package/dist/api/ja4.js +149 -188
  53. package/dist/api/ja4Middleware.js +39 -54
  54. package/dist/api/metrics.js +245 -257
  55. package/dist/api/public.js +52 -54
  56. package/dist/api/robotsMiddleware.js +10 -10
  57. package/dist/api/startProviderApi.js +205 -232
  58. package/dist/api/testSiteKey.js +16 -16
  59. package/dist/api/validateAddress.js +23 -21
  60. package/dist/api/verify.js +334 -377
  61. package/dist/cjs/_virtual/_rolldown/runtime.cjs +23 -0
  62. package/dist/cjs/api/admin/apiAdminRoutesProvider.cjs +40 -59
  63. package/dist/cjs/api/admin/apiClearAllCountersEndpoint.cjs +63 -58
  64. package/dist/cjs/api/admin/apiDnsEventEndpoint.cjs +82 -93
  65. package/dist/cjs/api/admin/apiGetAllDecisionMachinesEndpoint.cjs +46 -48
  66. package/dist/cjs/api/admin/apiGetDecisionMachineEndpoint.cjs +41 -41
  67. package/dist/cjs/api/admin/apiRegisterSiteKeyEndpoint.cjs +25 -24
  68. package/dist/cjs/api/admin/apiRegisterSiteKeysEndpoint.cjs +28 -32
  69. package/dist/cjs/api/admin/apiRemoveAllDecisionMachinesEndpoint.cjs +38 -40
  70. package/dist/cjs/api/admin/apiRemoveDecisionMachineEndpoint.cjs +41 -41
  71. package/dist/cjs/api/admin/apiRemoveDetectorKeyEndpoint.cjs +31 -33
  72. package/dist/cjs/api/admin/apiRemoveSiteKeyEndpoint.cjs +35 -31
  73. package/dist/cjs/api/admin/apiRemoveSiteKeysEndpoint.cjs +34 -33
  74. package/dist/cjs/api/admin/apiToggleMaintenanceModeEndpoint.cjs +45 -35
  75. package/dist/cjs/api/admin/apiUpdateDecisionMachineEndpoint.cjs +45 -65
  76. package/dist/cjs/api/admin/apiUpdateDetectorKeyEndpoint.cjs +38 -37
  77. package/dist/cjs/api/admin/createApiAdminRoutesProvider.cjs +7 -8
  78. package/dist/cjs/api/blacklistRequestInspector.cjs +288 -376
  79. package/dist/cjs/api/block.cjs +18 -30
  80. package/dist/cjs/api/captcha/checkSpamEmail.cjs +90 -100
  81. package/dist/cjs/api/captcha/contextAwareValidation.cjs +21 -14
  82. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs +125 -140
  83. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/constants.cjs +10 -10
  84. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +238 -301
  85. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decryptSimdReadings.cjs +9 -12
  86. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +349 -473
  87. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/honeypotResponse.cjs +18 -14
  88. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/sessionDedup.cjs +26 -26
  89. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/shortCircuit.cjs +42 -63
  90. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge.cjs +2 -3
  91. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +138 -208
  92. package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +131 -200
  93. package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +135 -203
  94. package/dist/cjs/api/captcha/maintenanceModeResponses.cjs +38 -44
  95. package/dist/cjs/api/captcha/submitImageCaptchaSolution.cjs +77 -102
  96. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +140 -209
  97. package/dist/cjs/api/captcha/submitPuzzleCaptchaSolution.cjs +76 -107
  98. package/dist/cjs/api/captcha.cjs +79 -58
  99. package/dist/cjs/api/dnsEventUrl.cjs +20 -21
  100. package/dist/cjs/api/domainMiddleware.cjs +106 -117
  101. package/dist/cjs/api/forwardVerify.cjs +63 -49
  102. package/dist/cjs/api/handshakeTimingMiddleware.cjs +43 -61
  103. package/dist/cjs/api/hardBlockVerdictCache.cjs +114 -114
  104. package/dist/cjs/api/headerCheckMiddleware.cjs +34 -34
  105. package/dist/cjs/api/ignoreMiddleware.cjs +12 -14
  106. package/dist/cjs/api/ipInfoMiddleware.cjs +16 -18
  107. package/dist/cjs/api/ja4.cjs +149 -187
  108. package/dist/cjs/api/ja4Middleware.cjs +40 -53
  109. package/dist/cjs/api/metrics.cjs +229 -228
  110. package/dist/cjs/api/public.cjs +57 -57
  111. package/dist/cjs/api/robotsMiddleware.cjs +9 -9
  112. package/dist/cjs/api/startProviderApi.cjs +219 -237
  113. package/dist/cjs/api/testSiteKey.cjs +15 -14
  114. package/dist/cjs/api/validateAddress.cjs +24 -21
  115. package/dist/cjs/api/verify.cjs +338 -379
  116. package/dist/cjs/compositeIpAddress.cjs +40 -47
  117. package/dist/cjs/index.cjs +65 -71
  118. package/dist/cjs/pairs.cjs +31 -35
  119. package/dist/cjs/rules/lang.cjs +10 -14
  120. package/dist/cjs/schedulers/captchaScheduler.cjs +26 -32
  121. package/dist/cjs/schedulers/getClientList.cjs +35 -33
  122. package/dist/cjs/schedulers/setClientEntropy.cjs +35 -33
  123. package/dist/cjs/schedulers/updateSpamEmailDomains.cjs +39 -43
  124. package/dist/cjs/services/ipComparison.cjs +122 -119
  125. package/dist/cjs/tasks/captchaManager.cjs +407 -486
  126. package/dist/cjs/tasks/client/clientTasks.cjs +347 -470
  127. package/dist/cjs/tasks/dataset/datasetTasks.cjs +25 -29
  128. package/dist/cjs/tasks/dataset/datasetTasksUtils.cjs +16 -32
  129. package/dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs +220 -307
  130. package/dist/cjs/tasks/detection/decodeBehavior.cjs +408 -317
  131. package/dist/cjs/tasks/detection/decodePayload.cjs +686 -468
  132. package/dist/cjs/tasks/detection/decodeSimd.cjs +462 -304
  133. package/dist/cjs/tasks/detection/getBotScore.cjs +37 -43
  134. package/dist/cjs/tasks/dnsEvent/enrichDnsEvent.cjs +88 -71
  135. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +348 -486
  136. package/dist/cjs/tasks/frictionless/frictionlessTasksUtils.cjs +13 -30
  137. package/dist/cjs/tasks/frictionless/routingMachine.cjs +71 -55
  138. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +555 -806
  139. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasksUtils.cjs +22 -23
  140. package/dist/cjs/tasks/index.cjs +2 -4
  141. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +491 -687
  142. package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +17 -29
  143. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +422 -591
  144. package/dist/cjs/tasks/puzzleCaptcha/puzzleTasksUtils.cjs +8 -5
  145. package/dist/cjs/tasks/spam/checkSpamEmail.cjs +133 -141
  146. package/dist/cjs/tasks/spam/checkTrafficFilter.cjs +118 -76
  147. package/dist/cjs/tasks/spam/evaluateEmailSpamRules.cjs +75 -84
  148. package/dist/cjs/tasks/spam/updateSpamEmailDomains.cjs +40 -56
  149. package/dist/cjs/tasks/tasks.cjs +107 -158
  150. package/dist/cjs/util/usageCounters.cjs +220 -211
  151. package/dist/cjs/util.cjs +329 -359
  152. package/dist/cjs/utils/devicePlatform.cjs +14 -8
  153. package/dist/cjs/utils/dns.cjs +68 -93
  154. package/dist/cjs/utils/hashUserAgent.cjs +14 -7
  155. package/dist/cjs/utils/hashUserIp.cjs +14 -6
  156. package/dist/cjs/utils/honeypot/encoders.cjs +74 -80
  157. package/dist/cjs/utils/honeypot/phraseBank.cjs +51 -44
  158. package/dist/cjs/utils/normalizeRequestIp.cjs +33 -25
  159. package/dist/compositeIpAddress.js +38 -46
  160. package/dist/index.js +12 -56
  161. package/dist/pairs.js +31 -37
  162. package/dist/rules/lang.js +11 -15
  163. package/dist/schedulers/captchaScheduler.js +25 -31
  164. package/dist/schedulers/getClientList.js +34 -32
  165. package/dist/schedulers/setClientEntropy.js +34 -32
  166. package/dist/schedulers/updateSpamEmailDomains.js +38 -42
  167. package/dist/services/ipComparison.js +122 -119
  168. package/dist/tasks/captchaManager.js +403 -483
  169. package/dist/tasks/client/clientTasks.js +343 -467
  170. package/dist/tasks/dataset/datasetTasks.js +24 -28
  171. package/dist/tasks/dataset/datasetTasksUtils.js +15 -31
  172. package/dist/tasks/decisionMachine/decisionMachineRunner.js +217 -306
  173. package/dist/tasks/detection/getBotScore.js +37 -43
  174. package/dist/tasks/dnsEvent/enrichDnsEvent.d.ts.map +1 -1
  175. package/dist/tasks/dnsEvent/enrichDnsEvent.js +88 -74
  176. package/dist/tasks/dnsEvent/enrichDnsEvent.js.map +1 -1
  177. package/dist/tasks/frictionless/frictionlessTasks.js +342 -479
  178. package/dist/tasks/frictionless/frictionlessTasksUtils.js +14 -32
  179. package/dist/tasks/frictionless/routingMachine.js +72 -56
  180. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +550 -801
  181. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +21 -22
  182. package/dist/tasks/index.js +1 -3
  183. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
  184. package/dist/tasks/powCaptcha/powTasks.js +486 -682
  185. package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
  186. package/dist/tasks/powCaptcha/powTasksUtils.js +15 -28
  187. package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
  188. package/dist/tasks/puzzleCaptcha/puzzleTasks.js +417 -586
  189. package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
  190. package/dist/tasks/puzzleCaptcha/puzzleTasksUtils.js +9 -6
  191. package/dist/tasks/spam/checkSpamEmail.js +133 -141
  192. package/dist/tasks/spam/checkTrafficFilter.d.ts +1 -0
  193. package/dist/tasks/spam/checkTrafficFilter.d.ts.map +1 -1
  194. package/dist/tasks/spam/checkTrafficFilter.js +117 -77
  195. package/dist/tasks/spam/checkTrafficFilter.js.map +1 -1
  196. package/dist/tasks/spam/evaluateEmailSpamRules.js +75 -86
  197. package/dist/tasks/spam/updateSpamEmailDomains.js +36 -54
  198. package/dist/tasks/tasks.js +98 -150
  199. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js +4 -1
  200. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js.map +1 -1
  201. package/dist/tests/unit/api/block.unit.test.js +8 -4
  202. package/dist/tests/unit/api/block.unit.test.js.map +1 -1
  203. package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js +8 -6
  204. package/dist/tests/unit/api/captcha/maintenanceModeShortCircuit.unit.test.js.map +1 -1
  205. package/dist/tests/unit/api/forwardVerify.unit.test.js +3 -1
  206. package/dist/tests/unit/api/forwardVerify.unit.test.js.map +1 -1
  207. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +15 -7
  208. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
  209. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +24 -18
  210. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +1 -1
  211. package/dist/tests/unit/schedulers/getClientList.unit.test.js +19 -13
  212. package/dist/tests/unit/schedulers/getClientList.unit.test.js.map +1 -1
  213. package/dist/tests/unit/schedulers/setClientEntropy.unit.test.js +19 -13
  214. package/dist/tests/unit/schedulers/setClientEntropy.unit.test.js.map +1 -1
  215. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -1
  216. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +22 -16
  217. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -1
  218. package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.js +140 -0
  219. package/dist/tests/unit/tasks/spam/checkTrafficFilter.unit.test.js.map +1 -1
  220. package/dist/tests/unit/testUtils/mockProviderEnv.d.ts +7 -7
  221. package/dist/util/usageCounters.js +220 -212
  222. package/dist/util.d.ts.map +1 -1
  223. package/dist/util.js +327 -364
  224. package/dist/util.js.map +1 -1
  225. package/dist/utils/devicePlatform.js +15 -9
  226. package/dist/utils/dns.js +64 -77
  227. package/dist/utils/hashUserAgent.js +14 -7
  228. package/dist/utils/hashUserIp.js +14 -6
  229. package/dist/utils/honeypot/encoders.js +74 -80
  230. package/dist/utils/honeypot/phraseBank.js +49 -44
  231. package/dist/utils/normalizeRequestIp.js +34 -26
  232. package/package.json +24 -24
@@ -1,53 +1,46 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const types = require("@prosopo/types");
4
- const util = require("@prosopo/util");
5
- const ipAddress = require("ip-address");
6
- const V6_SHIFT = 64n;
7
- const v6_LOWER_MASK = (1n << V6_SHIFT) - 1n;
8
- const getCompositeIpAddress = (ip) => {
9
- let ipAddress2;
10
- try {
11
- ipAddress2 = "string" === typeof ip ? util.getIPAddress(ip) : ip;
12
- } catch (e) {
13
- return {
14
- lower: 0n,
15
- type: types.IpAddressType.v4
16
- };
17
- }
18
- return getCompositeFromIpAddress(ipAddress2);
1
+ let _prosopo_types = require("@prosopo/types");
2
+ let _prosopo_util = require("@prosopo/util");
3
+ let ip_address = require("ip-address");
4
+ //#region src/compositeIpAddress.ts
5
+ var V6_SHIFT = 64n;
6
+ var v6_LOWER_MASK = (1n << V6_SHIFT) - 1n;
7
+ var getCompositeIpAddress = (ip) => {
8
+ let ipAddress;
9
+ try {
10
+ ipAddress = "string" === typeof ip ? (0, _prosopo_util.getIPAddress)(ip) : ip;
11
+ } catch (e) {
12
+ return {
13
+ lower: 0n,
14
+ type: _prosopo_types.IpAddressType.v4
15
+ };
16
+ }
17
+ return getCompositeFromIpAddress(ipAddress);
19
18
  };
20
- const getCompositeFromIpAddress = (ipAddress$1) => {
21
- const numericIp = ipAddress$1.bigInt();
22
- if (ipAddress$1 instanceof ipAddress.Address4) {
23
- return {
24
- lower: numericIp,
25
- type: types.IpAddressType.v4
26
- };
27
- }
28
- ipAddress$1;
29
- return {
30
- lower: numericIp & v6_LOWER_MASK,
31
- upper: numericIp >> V6_SHIFT,
32
- type: types.IpAddressType.v6
33
- };
19
+ var getCompositeFromIpAddress = (ipAddress) => {
20
+ const numericIp = ipAddress.bigInt();
21
+ if (ipAddress instanceof ip_address.Address4) return {
22
+ lower: numericIp,
23
+ type: _prosopo_types.IpAddressType.v4
24
+ };
25
+ return {
26
+ lower: numericIp & v6_LOWER_MASK,
27
+ upper: numericIp >> V6_SHIFT,
28
+ type: _prosopo_types.IpAddressType.v6
29
+ };
34
30
  };
35
- const getIpAddressFromComposite = (compositeIpAddress) => {
36
- switch (compositeIpAddress.type) {
37
- case types.IpAddressType.v4:
38
- return ipAddress.Address4.fromBigInt(getBigInt(compositeIpAddress.lower));
39
- case types.IpAddressType.v6:
40
- return ipAddress.Address6.fromBigInt(
41
- getBigInt(compositeIpAddress.upper) << V6_SHIFT | getBigInt(compositeIpAddress.lower) & v6_LOWER_MASK
42
- );
43
- default:
44
- never();
45
- return ipAddress.Address4.fromBigInt(0n);
46
- }
31
+ var getIpAddressFromComposite = (compositeIpAddress) => {
32
+ switch (compositeIpAddress.type) {
33
+ case _prosopo_types.IpAddressType.v4: return ip_address.Address4.fromBigInt(getBigInt(compositeIpAddress.lower));
34
+ case _prosopo_types.IpAddressType.v6: return ip_address.Address6.fromBigInt(getBigInt(compositeIpAddress.upper) << V6_SHIFT | getBigInt(compositeIpAddress.lower) & v6_LOWER_MASK);
35
+ default:
36
+ never();
37
+ return ip_address.Address4.fromBigInt(0n);
38
+ }
47
39
  };
48
- const getBigInt = (number) => BigInt(number || 0n);
49
- const never = () => {
50
- throw new Error("Unhandled type");
40
+ var getBigInt = (number) => BigInt(number || 0n);
41
+ var never = () => {
42
+ throw new Error("Unhandled type");
51
43
  };
44
+ //#endregion
52
45
  exports.getCompositeIpAddress = getCompositeIpAddress;
53
46
  exports.getIpAddressFromComposite = getIpAddressFromComposite;
@@ -1,72 +1,66 @@
1
- "use strict";
2
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- require("./tasks/index.cjs");
4
- const updateSpamEmailDomains = require("./tasks/spam/updateSpamEmailDomains.cjs");
5
- const util = require("./util.cjs");
6
- const block = require("./api/block.cjs");
7
- const captcha = require("./api/captcha.cjs");
8
- const verify = require("./api/verify.cjs");
9
- const ja4Middleware = require("./api/ja4Middleware.cjs");
10
- const handshakeTimingMiddleware = require("./api/handshakeTimingMiddleware.cjs");
11
- const _public = require("./api/public.cjs");
12
- const domainMiddleware = require("./api/domainMiddleware.cjs");
13
- const startProviderApi = require("./api/startProviderApi.cjs");
14
- const captchaScheduler = require("./schedulers/captchaScheduler.cjs");
15
- const getClientList = require("./schedulers/getClientList.cjs");
16
- const setClientEntropy = require("./schedulers/setClientEntropy.cjs");
17
- const updateSpamEmailDomains$1 = require("./schedulers/updateSpamEmailDomains.cjs");
18
- const headerCheckMiddleware = require("./api/headerCheckMiddleware.cjs");
19
- const createApiAdminRoutesProvider = require("./api/admin/createApiAdminRoutesProvider.cjs");
20
- const ignoreMiddleware = require("./api/ignoreMiddleware.cjs");
21
- const robotsMiddleware = require("./api/robotsMiddleware.cjs");
22
- const compositeIpAddress = require("./compositeIpAddress.cjs");
23
- const ipComparison = require("./services/ipComparison.cjs");
24
- const blacklistRequestInspector = require("./api/blacklistRequestInspector.cjs");
25
- require("./tasks/frictionless/frictionlessTasks.cjs");
26
- const types = require("@prosopo/types");
27
- const tasks = require("./tasks/tasks.cjs");
28
- exports.updateSpamEmailDomains = updateSpamEmailDomains.updateSpamEmailDomains;
29
- exports.checkIfTaskIsRunning = util.checkIfTaskIsRunning;
30
- exports.deepValidateIpAddress = util.deepValidateIpAddress;
31
- exports.encodeStringAddress = util.encodeStringAddress;
32
- exports.evaluateIpValidationRules = util.evaluateIpValidationRules;
33
- exports.getIPAddress = util.getIPAddress;
34
- exports.getIPAddressFromBigInt = util.getIPAddressFromBigInt;
35
- exports.shuffleArray = util.shuffleArray;
36
- exports.validateIpAddress = util.validateIpAddress;
37
- exports.blockMiddleware = block.blockMiddleware;
38
- exports.asyncHandler = captcha.asyncHandler;
39
- exports.prosopoRouter = captcha.prosopoRouter;
40
- exports.prosopoVerifyRouter = verify.prosopoVerifyRouter;
41
- exports.DEFAULT_JA4 = ja4Middleware.DEFAULT_JA4;
42
- exports.getJA4 = ja4Middleware.getJA4;
43
- exports.ja4Middleware = ja4Middleware.ja4Middleware;
44
- exports.getHandshakeTiming = handshakeTimingMiddleware.getHandshakeTiming;
45
- exports.handshakeTimingMiddleware = handshakeTimingMiddleware.handshakeTimingMiddleware;
46
- exports.publicRouter = _public.publicRouter;
47
- exports.domainMiddleware = domainMiddleware.domainMiddleware;
48
- exports.getClientApiPathsExpectingProsopoHeaders = startProviderApi.getClientApiPathsExpectingProsopoHeaders;
49
- exports.getUserFromJWT = startProviderApi.getUserFromJWT;
50
- exports.isTlsAvailable = startProviderApi.isTlsAvailable;
51
- exports.startProviderApi = startProviderApi.startProviderApi;
52
- exports.storeCaptchasExternally = captchaScheduler.storeCaptchasExternally;
53
- exports.getClientList = getClientList.getClientList;
54
- exports.setClientEntropy = setClientEntropy.setClientEntropy;
55
- exports.updateSpamEmailDomainsScheduler = updateSpamEmailDomains$1.updateSpamEmailDomainsScheduler;
56
- exports.headerCheckMiddleware = headerCheckMiddleware.headerCheckMiddleware;
57
- exports.createApiAdminRoutesProvider = createApiAdminRoutesProvider.createApiAdminRoutesProvider;
58
- exports.ignoreMiddleware = ignoreMiddleware.ignoreMiddleware;
59
- exports.robotsMiddleware = robotsMiddleware.robotsMiddleware;
60
- exports.getCompositeIpAddress = compositeIpAddress.getCompositeIpAddress;
61
- exports.getIpAddressFromComposite = compositeIpAddress.getIpAddressFromComposite;
62
- exports.compareIPs = ipComparison.compareIPs;
63
- exports.BlacklistRequestInspector = blacklistRequestInspector.BlacklistRequestInspector;
64
- exports.getPrioritisedAccessRule = blacklistRequestInspector.getPrioritisedAccessRule;
65
- exports.getRequestUserScope = blacklistRequestInspector.getRequestUserScope;
66
- exports.getVerdictCache = blacklistRequestInspector.getVerdictCache;
67
- exports.rankCandidateRules = blacklistRequestInspector.rankCandidateRules;
68
- Object.defineProperty(exports, "FrictionlessReason", {
69
- enumerable: true,
70
- get: () => types.FrictionlessReason
71
- });
72
- exports.Tasks = tasks.Tasks;
2
+ const require_compositeIpAddress = require("./compositeIpAddress.cjs");
3
+ const require_blacklistRequestInspector = require("./api/blacklistRequestInspector.cjs");
4
+ const require_ipComparison = require("./services/ipComparison.cjs");
5
+ const require_util = require("./util.cjs");
6
+ const require_tasks = require("./tasks/tasks.cjs");
7
+ const require_updateSpamEmailDomains = require("./tasks/spam/updateSpamEmailDomains.cjs");
8
+ const require_block = require("./api/block.cjs");
9
+ const require_captcha = require("./api/captcha.cjs");
10
+ const require_verify = require("./api/verify.cjs");
11
+ const require_ja4Middleware = require("./api/ja4Middleware.cjs");
12
+ const require_handshakeTimingMiddleware = require("./api/handshakeTimingMiddleware.cjs");
13
+ const require_public = require("./api/public.cjs");
14
+ const require_domainMiddleware = require("./api/domainMiddleware.cjs");
15
+ const require_createApiAdminRoutesProvider = require("./api/admin/createApiAdminRoutesProvider.cjs");
16
+ const require_headerCheckMiddleware = require("./api/headerCheckMiddleware.cjs");
17
+ const require_ignoreMiddleware = require("./api/ignoreMiddleware.cjs");
18
+ const require_robotsMiddleware = require("./api/robotsMiddleware.cjs");
19
+ const require_startProviderApi = require("./api/startProviderApi.cjs");
20
+ const require_captchaScheduler = require("./schedulers/captchaScheduler.cjs");
21
+ const require_getClientList = require("./schedulers/getClientList.cjs");
22
+ const require_setClientEntropy = require("./schedulers/setClientEntropy.cjs");
23
+ const require_updateSpamEmailDomains$1 = require("./schedulers/updateSpamEmailDomains.cjs");
24
+ let _prosopo_types = require("@prosopo/types");
25
+ exports.BlacklistRequestInspector = require_blacklistRequestInspector.BlacklistRequestInspector;
26
+ exports.DEFAULT_JA4 = require_ja4Middleware.DEFAULT_JA4;
27
+ exports.FrictionlessReason = _prosopo_types.FrictionlessReason;
28
+ exports.Tasks = require_tasks.Tasks;
29
+ exports.asyncHandler = require_captcha.asyncHandler;
30
+ exports.blockMiddleware = require_block.blockMiddleware;
31
+ exports.checkIfTaskIsRunning = require_util.checkIfTaskIsRunning;
32
+ exports.compareIPs = require_ipComparison.compareIPs;
33
+ exports.createApiAdminRoutesProvider = require_createApiAdminRoutesProvider.createApiAdminRoutesProvider;
34
+ exports.deepValidateIpAddress = require_util.deepValidateIpAddress;
35
+ exports.domainMiddleware = require_domainMiddleware.domainMiddleware;
36
+ exports.encodeStringAddress = require_util.encodeStringAddress;
37
+ exports.evaluateIpValidationRules = require_util.evaluateIpValidationRules;
38
+ exports.getClientApiPathsExpectingProsopoHeaders = require_startProviderApi.getClientApiPathsExpectingProsopoHeaders;
39
+ exports.getClientList = require_getClientList.getClientList;
40
+ exports.getCompositeIpAddress = require_compositeIpAddress.getCompositeIpAddress;
41
+ exports.getHandshakeTiming = require_handshakeTimingMiddleware.getHandshakeTiming;
42
+ exports.getIPAddress = require_util.getIPAddress;
43
+ exports.getIPAddressFromBigInt = require_util.getIPAddressFromBigInt;
44
+ exports.getIpAddressFromComposite = require_compositeIpAddress.getIpAddressFromComposite;
45
+ exports.getJA4 = require_ja4Middleware.getJA4;
46
+ exports.getPrioritisedAccessRule = require_blacklistRequestInspector.getPrioritisedAccessRule;
47
+ exports.getRequestUserScope = require_blacklistRequestInspector.getRequestUserScope;
48
+ exports.getUserFromJWT = require_startProviderApi.getUserFromJWT;
49
+ exports.getVerdictCache = require_blacklistRequestInspector.getVerdictCache;
50
+ exports.handshakeTimingMiddleware = require_handshakeTimingMiddleware.handshakeTimingMiddleware;
51
+ exports.headerCheckMiddleware = require_headerCheckMiddleware.headerCheckMiddleware;
52
+ exports.ignoreMiddleware = require_ignoreMiddleware.ignoreMiddleware;
53
+ exports.isTlsAvailable = require_startProviderApi.isTlsAvailable;
54
+ exports.ja4Middleware = require_ja4Middleware.ja4Middleware;
55
+ exports.prosopoRouter = require_captcha.prosopoRouter;
56
+ exports.prosopoVerifyRouter = require_verify.prosopoVerifyRouter;
57
+ exports.publicRouter = require_public.publicRouter;
58
+ exports.rankCandidateRules = require_blacklistRequestInspector.rankCandidateRules;
59
+ exports.robotsMiddleware = require_robotsMiddleware.robotsMiddleware;
60
+ exports.setClientEntropy = require_setClientEntropy.setClientEntropy;
61
+ exports.shuffleArray = require_util.shuffleArray;
62
+ exports.startProviderApi = require_startProviderApi.startProviderApi;
63
+ exports.storeCaptchasExternally = require_captchaScheduler.storeCaptchasExternally;
64
+ exports.updateSpamEmailDomains = require_updateSpamEmailDomains.updateSpamEmailDomains;
65
+ exports.updateSpamEmailDomainsScheduler = require_updateSpamEmailDomains$1.updateSpamEmailDomainsScheduler;
66
+ exports.validateIpAddress = require_util.validateIpAddress;
@@ -1,41 +1,37 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const util = require("@prosopo/util");
4
- const constructPairList = (list) => {
5
- if (list.length % 2 !== 0) {
6
- throw new Error("Invalid pairs length");
7
- }
8
- const pairList = [];
9
- for (let i = 0; i < list.length; i += 2) {
10
- pairList.push([util.at(list, i), util.at(list, i + 1)]);
11
- }
12
- return pairList;
1
+ let _prosopo_util = require("@prosopo/util");
2
+ //#region src/pairs.ts
3
+ /** Construct list of pairs from flat list
4
+ * @param list
5
+ */
6
+ var constructPairList = (list) => {
7
+ if (list.length % 2 !== 0) throw new Error("Invalid pairs length");
8
+ const pairList = [];
9
+ for (let i = 0; i < list.length; i += 2) pairList.push([(0, _prosopo_util.at)(list, i), (0, _prosopo_util.at)(list, i + 1)]);
10
+ return pairList;
13
11
  };
14
- const peelCheckboxPrefix = (flat, solutionLengths) => {
15
- const firstFlat = flat[0];
16
- const firstLen = solutionLengths[0];
17
- if (firstFlat === void 0 || firstLen === void 0) {
18
- return { flat };
19
- }
20
- if (firstFlat.length === 2 * firstLen + 2) {
21
- const checkbox = [util.at(firstFlat, 0), util.at(firstFlat, 1)];
22
- const stripped = [firstFlat.slice(2), ...flat.slice(1)];
23
- return { checkbox, flat: stripped };
24
- }
25
- return { flat };
12
+ var peelCheckboxPrefix = (flat, solutionLengths) => {
13
+ const firstFlat = flat[0];
14
+ const firstLen = solutionLengths[0];
15
+ if (firstFlat === void 0 || firstLen === void 0) return { flat };
16
+ if (firstFlat.length === 2 * firstLen + 2) return {
17
+ checkbox: [(0, _prosopo_util.at)(firstFlat, 0), (0, _prosopo_util.at)(firstFlat, 1)],
18
+ flat: [firstFlat.slice(2), ...flat.slice(1)]
19
+ };
20
+ return { flat };
26
21
  };
27
- const containsIdenticalPairs = (pairsLists) => {
28
- const set = /* @__PURE__ */ new Set();
29
- for (const pairList of pairsLists) {
30
- for (const pair of pairList) {
31
- const x = util.at(pair, 0);
32
- const y = util.at(pair, 1);
33
- const coordString = `${x},${y}`;
34
- set.add(coordString);
35
- }
36
- }
37
- return set.size !== pairsLists.flat().flat().length / 2;
22
+ /**
23
+ * Check if there are identical pairs in flattened lists of pairs
24
+ * @param pairsLists
25
+ */
26
+ var containsIdenticalPairs = (pairsLists) => {
27
+ const set = /* @__PURE__ */ new Set();
28
+ for (const pairList of pairsLists) for (const pair of pairList) {
29
+ const coordString = `${(0, _prosopo_util.at)(pair, 0)},${(0, _prosopo_util.at)(pair, 1)}`;
30
+ set.add(coordString);
31
+ }
32
+ return set.size !== pairsLists.flat().flat().length / 2;
38
33
  };
34
+ //#endregion
39
35
  exports.constructPairList = constructPairList;
40
36
  exports.containsIdenticalPairs = containsIdenticalPairs;
41
37
  exports.peelCheckboxPrefix = peelCheckboxPrefix;
@@ -1,16 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const checkLangRules = (config, acceptLanguage) => {
4
- const lConfig = config.lRules;
5
- let lScore = 0;
6
- if (lConfig && acceptLanguage) {
7
- const languages = acceptLanguage.split(",").map((lang) => lang.trim().split(";")[0]);
8
- for (const lang of languages) {
9
- if (lang && lConfig[lang]) {
10
- lScore += lConfig[lang];
11
- }
12
- }
13
- }
14
- return lScore;
1
+ //#region src/rules/lang.ts
2
+ var checkLangRules = (config, acceptLanguage) => {
3
+ const lConfig = config.lRules;
4
+ let lScore = 0;
5
+ if (lConfig && acceptLanguage) {
6
+ const languages = acceptLanguage.split(",").map((lang) => lang.trim().split(";")[0]);
7
+ for (const lang of languages) if (lang && lConfig[lang]) lScore += lConfig[lang];
8
+ }
9
+ return lScore;
15
10
  };
11
+ //#endregion
16
12
  exports.checkLangRules = checkLangRules;
@@ -1,35 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const env = require("@prosopo/env");
4
- const types = require("@prosopo/types");
5
- const cron = require("cron");
6
- const tasks = require("../tasks/tasks.cjs");
7
- const util = require("../util.cjs");
1
+ const require_util = require("../util.cjs");
2
+ const require_tasks = require("../tasks/tasks.cjs");
3
+ let _prosopo_types = require("@prosopo/types");
4
+ let _prosopo_env = require("@prosopo/env");
5
+ let cron = require("cron");
6
+ //#region src/schedulers/captchaScheduler.ts
8
7
  async function storeCaptchasExternally(pair, cronSchedule, config) {
9
- const env$1 = new env.ProviderEnvironment(config, pair);
10
- await env$1.isReady();
11
- const tasks$1 = new tasks.Tasks(env$1);
12
- const job = new cron.CronJob(cronSchedule, async () => {
13
- const taskRunning = await util.checkIfTaskIsRunning(
14
- types.ScheduledTaskNames.StoreCommitmentsExternal,
15
- env$1.getDb()
16
- );
17
- env$1.logger.info(() => ({
18
- data: { taskRunning },
19
- msg: `${types.ScheduledTaskNames.StoreCommitmentsExternal} task running: ${taskRunning}`
20
- }));
21
- if (!taskRunning) {
22
- env$1.logger.info(() => ({
23
- msg: `${types.ScheduledTaskNames.StoreCommitmentsExternal} task....`
24
- }));
25
- await tasks$1.clientTaskManager.storeCommitmentsExternal().catch((err) => {
26
- env$1.logger.error(() => ({
27
- err,
28
- msg: "Error storing commitments externally"
29
- }));
30
- });
31
- }
32
- });
33
- job.start();
8
+ const env = new _prosopo_env.ProviderEnvironment(config, pair);
9
+ await env.isReady();
10
+ const tasks = new require_tasks.Tasks(env);
11
+ new cron.CronJob(cronSchedule, async () => {
12
+ const taskRunning = await require_util.checkIfTaskIsRunning(_prosopo_types.ScheduledTaskNames.StoreCommitmentsExternal, env.getDb());
13
+ env.logger.info(() => ({
14
+ data: { taskRunning },
15
+ msg: `${_prosopo_types.ScheduledTaskNames.StoreCommitmentsExternal} task running: ${taskRunning}`
16
+ }));
17
+ if (!taskRunning) {
18
+ env.logger.info(() => ({ msg: `${_prosopo_types.ScheduledTaskNames.StoreCommitmentsExternal} task....` }));
19
+ await tasks.clientTaskManager.storeCommitmentsExternal().catch((err) => {
20
+ env.logger.error(() => ({
21
+ err,
22
+ msg: "Error storing commitments externally"
23
+ }));
24
+ });
25
+ }
26
+ }).start();
34
27
  }
28
+ //#endregion
35
29
  exports.storeCaptchasExternally = storeCaptchasExternally;
@@ -1,36 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const env = require("@prosopo/env");
4
- const types = require("@prosopo/types");
5
- const cron = require("cron");
6
- const tasks = require("../tasks/tasks.cjs");
7
- const util = require("../util.cjs");
1
+ const require_util = require("../util.cjs");
2
+ const require_tasks = require("../tasks/tasks.cjs");
3
+ let _prosopo_types = require("@prosopo/types");
4
+ let _prosopo_env = require("@prosopo/env");
5
+ let cron = require("cron");
6
+ //#region src/schedulers/getClientList.ts
7
+ /**
8
+ * Get the list of registered clients that have access to the product on a schedule.
9
+ * @param pair
10
+ * @param cronSchedule
11
+ * @param config
12
+ */
8
13
  async function getClientList(pair, cronSchedule, config) {
9
- const env$1 = new env.ProviderEnvironment(config, pair);
10
- await env$1.isReady();
11
- const tasks$1 = new tasks.Tasks(env$1);
12
- const job = new cron.CronJob(cronSchedule, async () => {
13
- const taskRunning = await util.checkIfTaskIsRunning(
14
- types.ScheduledTaskNames.GetClientList,
15
- env$1.getDb()
16
- );
17
- env$1.logger.info(() => ({
18
- msg: `${types.ScheduledTaskNames.GetClientList} task running: ${taskRunning}`,
19
- data: { taskRunning }
20
- }));
21
- if (!taskRunning) {
22
- env$1.logger.info(() => ({
23
- msg: `${types.ScheduledTaskNames.GetClientList} task....`,
24
- data: {}
25
- }));
26
- await tasks$1.clientTaskManager.getClientList().catch((err) => {
27
- env$1.logger.error(() => ({
28
- err,
29
- msg: "Error getting client list"
30
- }));
31
- });
32
- }
33
- });
34
- job.start();
14
+ const env = new _prosopo_env.ProviderEnvironment(config, pair);
15
+ await env.isReady();
16
+ const tasks = new require_tasks.Tasks(env);
17
+ new cron.CronJob(cronSchedule, async () => {
18
+ const taskRunning = await require_util.checkIfTaskIsRunning(_prosopo_types.ScheduledTaskNames.GetClientList, env.getDb());
19
+ env.logger.info(() => ({
20
+ msg: `${_prosopo_types.ScheduledTaskNames.GetClientList} task running: ${taskRunning}`,
21
+ data: { taskRunning }
22
+ }));
23
+ if (!taskRunning) {
24
+ env.logger.info(() => ({
25
+ msg: `${_prosopo_types.ScheduledTaskNames.GetClientList} task....`,
26
+ data: {}
27
+ }));
28
+ await tasks.clientTaskManager.getClientList().catch((err) => {
29
+ env.logger.error(() => ({
30
+ err,
31
+ msg: "Error getting client list"
32
+ }));
33
+ });
34
+ }
35
+ }).start();
35
36
  }
37
+ //#endregion
36
38
  exports.getClientList = getClientList;
@@ -1,36 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const env = require("@prosopo/env");
4
- const types = require("@prosopo/types");
5
- const cron = require("cron");
6
- const tasks = require("../tasks/tasks.cjs");
7
- const util = require("../util.cjs");
1
+ const require_util = require("../util.cjs");
2
+ const require_tasks = require("../tasks/tasks.cjs");
3
+ let _prosopo_types = require("@prosopo/types");
4
+ let _prosopo_env = require("@prosopo/env");
5
+ let cron = require("cron");
6
+ //#region src/schedulers/setClientEntropy.ts
7
+ /**
8
+ * Sets up a cron job to periodically set client entropy
9
+ * @param pair
10
+ * @param cronSchedule
11
+ * @param config
12
+ */
8
13
  async function setClientEntropy(pair, cronSchedule, config) {
9
- const env$1 = new env.ProviderEnvironment(config, pair);
10
- await env$1.isReady();
11
- const tasks$1 = new tasks.Tasks(env$1);
12
- const job = new cron.CronJob(cronSchedule, async () => {
13
- const taskRunning = await util.checkIfTaskIsRunning(
14
- types.ScheduledTaskNames.SetClientEntropy,
15
- env$1.getDb()
16
- );
17
- env$1.logger.info(() => ({
18
- msg: `${types.ScheduledTaskNames.SetClientEntropy} task running: ${taskRunning}`,
19
- data: { taskRunning }
20
- }));
21
- if (!taskRunning) {
22
- env$1.logger.info(() => ({
23
- msg: `${types.ScheduledTaskNames.SetClientEntropy} task....`,
24
- data: {}
25
- }));
26
- await tasks$1.clientTaskManager.calculateClientEntropy().catch((err) => {
27
- env$1.logger.error(() => ({
28
- err,
29
- msg: "Error setting client entropy"
30
- }));
31
- });
32
- }
33
- });
34
- job.start();
14
+ const env = new _prosopo_env.ProviderEnvironment(config, pair);
15
+ await env.isReady();
16
+ const tasks = new require_tasks.Tasks(env);
17
+ new cron.CronJob(cronSchedule, async () => {
18
+ const taskRunning = await require_util.checkIfTaskIsRunning(_prosopo_types.ScheduledTaskNames.SetClientEntropy, env.getDb());
19
+ env.logger.info(() => ({
20
+ msg: `${_prosopo_types.ScheduledTaskNames.SetClientEntropy} task running: ${taskRunning}`,
21
+ data: { taskRunning }
22
+ }));
23
+ if (!taskRunning) {
24
+ env.logger.info(() => ({
25
+ msg: `${_prosopo_types.ScheduledTaskNames.SetClientEntropy} task....`,
26
+ data: {}
27
+ }));
28
+ await tasks.clientTaskManager.calculateClientEntropy().catch((err) => {
29
+ env.logger.error(() => ({
30
+ err,
31
+ msg: "Error setting client entropy"
32
+ }));
33
+ });
34
+ }
35
+ }).start();
35
36
  }
37
+ //#endregion
36
38
  exports.setClientEntropy = setClientEntropy;