@prosopo/provider 3.12.14 → 3.13.6

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 (358) hide show
  1. package/CHANGELOG.md +139 -0
  2. package/dist/api/captcha/getFrictionlessCaptchaChallenge.js +345 -0
  3. package/dist/api/captcha/getImageCaptchaChallenge.js +150 -0
  4. package/dist/api/captcha/getPoWCaptchaChallenge.js +156 -0
  5. package/dist/api/captcha/submitImageCaptchaSolution.js +87 -0
  6. package/dist/api/captcha/submitPoWCaptchaSolution.js +77 -0
  7. package/dist/api/captcha.js +18 -696
  8. package/dist/api/verify.js +2 -1
  9. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge.cjs +344 -0
  10. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +149 -0
  11. package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +155 -0
  12. package/dist/cjs/api/captcha/submitImageCaptchaSolution.cjs +86 -0
  13. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +76 -0
  14. package/dist/cjs/api/captcha.cjs +17 -695
  15. package/dist/cjs/api/verify.cjs +2 -1
  16. package/dist/cjs/index.cjs +2 -0
  17. package/dist/cjs/schedulers/setClientEntropy.cjs +36 -0
  18. package/dist/cjs/tasks/captchaManager.cjs +2 -1
  19. package/dist/cjs/tasks/client/clientTasks.cjs +54 -1
  20. package/dist/cjs/tasks/detection/decodePayload.cjs +379 -609
  21. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +35 -11
  22. package/dist/cjs/tasks/frictionless/frictionlessTasksUtils.cjs +4 -1
  23. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +8 -2
  24. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +2 -2
  25. package/dist/cjs/tasks/tasks.cjs +1 -0
  26. package/dist/cjs/utils/hashUserIp.cjs +9 -0
  27. package/dist/index.js +2 -0
  28. package/dist/schedulers/setClientEntropy.js +29 -24
  29. package/dist/tasks/captchaManager.js +2 -1
  30. package/dist/tasks/client/clientTasks.js +55 -2
  31. package/dist/tasks/detection/decodePayload.js +379 -609
  32. package/dist/tasks/detection/getBotScore.js +2 -2
  33. package/dist/tasks/frictionless/frictionlessTasks.js +36 -12
  34. package/dist/tasks/frictionless/frictionlessTasksUtils.js +4 -1
  35. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +8 -2
  36. package/dist/tasks/powCaptcha/powTasks.js +2 -2
  37. package/dist/tasks/tasks.js +1 -0
  38. package/dist/utils/hashUserIp.js +9 -0
  39. package/package.json +20 -20
  40. package/coverage/base.css +0 -224
  41. package/coverage/block-navigation.js +0 -87
  42. package/coverage/clover.xml +0 -4278
  43. package/coverage/coverage-final.json +0 -42
  44. package/coverage/favicon.png +0 -0
  45. package/coverage/index.html +0 -311
  46. package/coverage/prettify.css +0 -1
  47. package/coverage/prettify.js +0 -2
  48. package/coverage/sort-arrow-sprite.png +0 -0
  49. package/coverage/sorter.js +0 -210
  50. package/coverage/src/api/admin/apiAdminRoutesProvider.ts.html +0 -214
  51. package/coverage/src/api/admin/apiRegisterSiteKeyEndpoint.ts.html +0 -259
  52. package/coverage/src/api/admin/apiRemoveDetectorKeyEndpoint.ts.html +0 -283
  53. package/coverage/src/api/admin/apiToggleMaintenanceModeEndpoint.ts.html +0 -334
  54. package/coverage/src/api/admin/apiUpdateDetectorKeyEndpoint.ts.html +0 -298
  55. package/coverage/src/api/admin/createApiAdminRoutesProvider.ts.html +0 -163
  56. package/coverage/src/api/admin/index.html +0 -191
  57. package/coverage/src/api/blacklistRequestInspector.ts.html +0 -751
  58. package/coverage/src/api/block.ts.html +0 -187
  59. package/coverage/src/api/captcha.ts.html +0 -2803
  60. package/coverage/src/api/domainMiddleware.ts.html +0 -493
  61. package/coverage/src/api/headerCheckMiddleware.ts.html +0 -256
  62. package/coverage/src/api/ignoreMiddleware.ts.html +0 -181
  63. package/coverage/src/api/index.html +0 -266
  64. package/coverage/src/api/ja4Middleware.ts.html +0 -400
  65. package/coverage/src/api/public.ts.html +0 -343
  66. package/coverage/src/api/robotsMiddleware.ts.html +0 -157
  67. package/coverage/src/api/validateAddress.ts.html +0 -214
  68. package/coverage/src/api/verify.ts.html +0 -871
  69. package/coverage/src/compositeIpAddress.ts.html +0 -340
  70. package/coverage/src/index.html +0 -161
  71. package/coverage/src/index.ts.html +0 -175
  72. package/coverage/src/pairs.ts.html +0 -238
  73. package/coverage/src/rules/index.html +0 -116
  74. package/coverage/src/rules/lang.ts.html +0 -187
  75. package/coverage/src/schedulers/captchaScheduler.ts.html +0 -250
  76. package/coverage/src/schedulers/getClientList.ts.html +0 -271
  77. package/coverage/src/schedulers/index.html +0 -131
  78. package/coverage/src/services/index.html +0 -131
  79. package/coverage/src/services/ipComparison.ts.html +0 -685
  80. package/coverage/src/services/ipInfo.ts.html +0 -490
  81. package/coverage/src/tasks/captchaManager.ts.html +0 -865
  82. package/coverage/src/tasks/client/clientTasks.ts.html +0 -1381
  83. package/coverage/src/tasks/client/index.html +0 -116
  84. package/coverage/src/tasks/dataset/datasetTasks.ts.html +0 -268
  85. package/coverage/src/tasks/dataset/datasetTasksUtils.ts.html +0 -271
  86. package/coverage/src/tasks/dataset/index.html +0 -131
  87. package/coverage/src/tasks/detection/decodePayload.js.html +0 -127
  88. package/coverage/src/tasks/detection/getBotScore.ts.html +0 -244
  89. package/coverage/src/tasks/detection/index.html +0 -131
  90. package/coverage/src/tasks/frictionless/frictionlessTasks.ts.html +0 -1216
  91. package/coverage/src/tasks/frictionless/frictionlessTasksUtils.ts.html +0 -247
  92. package/coverage/src/tasks/frictionless/index.html +0 -131
  93. package/coverage/src/tasks/imgCaptcha/imgCaptchaTasks.ts.html +0 -1972
  94. package/coverage/src/tasks/imgCaptcha/imgCaptchaTasksUtils.ts.html +0 -232
  95. package/coverage/src/tasks/imgCaptcha/index.html +0 -131
  96. package/coverage/src/tasks/index.html +0 -146
  97. package/coverage/src/tasks/index.ts.html +0 -127
  98. package/coverage/src/tasks/powCaptcha/index.html +0 -131
  99. package/coverage/src/tasks/powCaptcha/powTasks.ts.html +0 -961
  100. package/coverage/src/tasks/powCaptcha/powTasksUtils.ts.html +0 -244
  101. package/coverage/src/tasks/tasks.ts.html +0 -388
  102. package/coverage/src/util.ts.html +0 -1627
  103. package/coverage/src/utils/hashUserAgent.ts.html +0 -184
  104. package/coverage/src/utils/index.html +0 -116
  105. package/dist/api/admin/apiAdminRoutesProvider.d.ts +0 -9
  106. package/dist/api/admin/apiAdminRoutesProvider.d.ts.map +0 -1
  107. package/dist/api/admin/apiAdminRoutesProvider.js.map +0 -1
  108. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts +0 -14
  109. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts.map +0 -1
  110. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js.map +0 -1
  111. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts +0 -23
  112. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +0 -1
  113. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js.map +0 -1
  114. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts +0 -13
  115. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts.map +0 -1
  116. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js.map +0 -1
  117. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts +0 -14
  118. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts.map +0 -1
  119. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js.map +0 -1
  120. package/dist/api/admin/createApiAdminRoutesProvider.d.ts +0 -4
  121. package/dist/api/admin/createApiAdminRoutesProvider.d.ts.map +0 -1
  122. package/dist/api/admin/createApiAdminRoutesProvider.js.map +0 -1
  123. package/dist/api/blacklistRequestInspector.d.ts +0 -19
  124. package/dist/api/blacklistRequestInspector.d.ts.map +0 -1
  125. package/dist/api/blacklistRequestInspector.js.map +0 -1
  126. package/dist/api/block.d.ts +0 -3
  127. package/dist/api/block.d.ts.map +0 -1
  128. package/dist/api/block.js.map +0 -1
  129. package/dist/api/captcha.d.ts +0 -4
  130. package/dist/api/captcha.d.ts.map +0 -1
  131. package/dist/api/captcha.js.map +0 -1
  132. package/dist/api/domainMiddleware.d.ts +0 -4
  133. package/dist/api/domainMiddleware.d.ts.map +0 -1
  134. package/dist/api/domainMiddleware.js.map +0 -1
  135. package/dist/api/headerCheckMiddleware.d.ts +0 -4
  136. package/dist/api/headerCheckMiddleware.d.ts.map +0 -1
  137. package/dist/api/headerCheckMiddleware.js.map +0 -1
  138. package/dist/api/ignoreMiddleware.d.ts +0 -3
  139. package/dist/api/ignoreMiddleware.d.ts.map +0 -1
  140. package/dist/api/ignoreMiddleware.js.map +0 -1
  141. package/dist/api/ja4Middleware.d.ts +0 -10
  142. package/dist/api/ja4Middleware.d.ts.map +0 -1
  143. package/dist/api/ja4Middleware.js.map +0 -1
  144. package/dist/api/public.d.ts +0 -4
  145. package/dist/api/public.d.ts.map +0 -1
  146. package/dist/api/public.js.map +0 -1
  147. package/dist/api/robotsMiddleware.d.ts +0 -3
  148. package/dist/api/robotsMiddleware.d.ts.map +0 -1
  149. package/dist/api/robotsMiddleware.js.map +0 -1
  150. package/dist/api/validateAddress.d.ts +0 -5
  151. package/dist/api/validateAddress.d.ts.map +0 -1
  152. package/dist/api/validateAddress.js.map +0 -1
  153. package/dist/api/verify.d.ts +0 -4
  154. package/dist/api/verify.d.ts.map +0 -1
  155. package/dist/api/verify.js.map +0 -1
  156. package/dist/compositeIpAddress.d.ts +0 -5
  157. package/dist/compositeIpAddress.d.ts.map +0 -1
  158. package/dist/compositeIpAddress.js.map +0 -1
  159. package/dist/index.d.ts +0 -17
  160. package/dist/index.d.ts.map +0 -1
  161. package/dist/index.js.map +0 -1
  162. package/dist/pairs.d.ts +0 -3
  163. package/dist/pairs.d.ts.map +0 -1
  164. package/dist/pairs.js.map +0 -1
  165. package/dist/rules/lang.d.ts +0 -3
  166. package/dist/rules/lang.d.ts.map +0 -1
  167. package/dist/rules/lang.js.map +0 -1
  168. package/dist/schedulers/captchaScheduler.d.ts +0 -4
  169. package/dist/schedulers/captchaScheduler.d.ts.map +0 -1
  170. package/dist/schedulers/captchaScheduler.js.map +0 -1
  171. package/dist/schedulers/getClientList.d.ts +0 -4
  172. package/dist/schedulers/getClientList.d.ts.map +0 -1
  173. package/dist/schedulers/getClientList.js.map +0 -1
  174. package/dist/schedulers/setClientEntropy.d.ts +0 -4
  175. package/dist/schedulers/setClientEntropy.d.ts.map +0 -1
  176. package/dist/schedulers/setClientEntropy.js.map +0 -1
  177. package/dist/services/ipComparison.d.ts +0 -3
  178. package/dist/services/ipComparison.d.ts.map +0 -1
  179. package/dist/services/ipComparison.js.map +0 -1
  180. package/dist/services/ipInfo.d.ts +0 -3
  181. package/dist/services/ipInfo.d.ts.map +0 -1
  182. package/dist/services/ipInfo.js.map +0 -1
  183. package/dist/tasks/captchaManager.d.ts +0 -34
  184. package/dist/tasks/captchaManager.d.ts.map +0 -1
  185. package/dist/tasks/captchaManager.js.map +0 -1
  186. package/dist/tasks/client/clientTasks.d.ts +0 -21
  187. package/dist/tasks/client/clientTasks.d.ts.map +0 -1
  188. package/dist/tasks/client/clientTasks.js.map +0 -1
  189. package/dist/tasks/dataset/datasetTasks.d.ts +0 -13
  190. package/dist/tasks/dataset/datasetTasks.d.ts.map +0 -1
  191. package/dist/tasks/dataset/datasetTasks.js.map +0 -1
  192. package/dist/tasks/dataset/datasetTasksUtils.d.ts +0 -3
  193. package/dist/tasks/dataset/datasetTasksUtils.d.ts.map +0 -1
  194. package/dist/tasks/dataset/datasetTasksUtils.js.map +0 -1
  195. package/dist/tasks/detection/decodePayload.d.ts +0 -5
  196. package/dist/tasks/detection/decodePayload.d.ts.map +0 -1
  197. package/dist/tasks/detection/decodePayload.js.map +0 -1
  198. package/dist/tasks/detection/getBotScore.d.ts +0 -20
  199. package/dist/tasks/detection/getBotScore.d.ts.map +0 -1
  200. package/dist/tasks/detection/getBotScore.js.map +0 -1
  201. package/dist/tasks/frictionless/frictionlessTasks.d.ts +0 -67
  202. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +0 -1
  203. package/dist/tasks/frictionless/frictionlessTasks.js.map +0 -1
  204. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts +0 -6
  205. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts.map +0 -1
  206. package/dist/tasks/frictionless/frictionlessTasksUtils.js.map +0 -1
  207. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +0 -30
  208. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +0 -1
  209. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +0 -1
  210. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +0 -7
  211. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +0 -1
  212. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +0 -1
  213. package/dist/tasks/index.d.ts +0 -2
  214. package/dist/tasks/index.d.ts.map +0 -1
  215. package/dist/tasks/index.js.map +0 -1
  216. package/dist/tasks/powCaptcha/powTasks.d.ts +0 -17
  217. package/dist/tasks/powCaptcha/powTasks.d.ts.map +0 -1
  218. package/dist/tasks/powCaptcha/powTasks.js.map +0 -1
  219. package/dist/tasks/powCaptcha/powTasksUtils.d.ts +0 -3
  220. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +0 -1
  221. package/dist/tasks/powCaptcha/powTasksUtils.js.map +0 -1
  222. package/dist/tasks/tasks.d.ts +0 -25
  223. package/dist/tasks/tasks.d.ts.map +0 -1
  224. package/dist/tasks/tasks.js.map +0 -1
  225. package/dist/tests/index.d.ts +0 -2
  226. package/dist/tests/index.d.ts.map +0 -1
  227. package/dist/tests/index.js +0 -2
  228. package/dist/tests/index.js.map +0 -1
  229. package/dist/tests/integration/accessRules.integration.test.d.ts +0 -2
  230. package/dist/tests/integration/accessRules.integration.test.d.ts.map +0 -1
  231. package/dist/tests/integration/accessRules.integration.test.js +0 -588
  232. package/dist/tests/integration/accessRules.integration.test.js.map +0 -1
  233. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.d.ts +0 -2
  234. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.d.ts.map +0 -1
  235. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +0 -60
  236. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +0 -1
  237. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.d.ts +0 -2
  238. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.d.ts.map +0 -1
  239. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js +0 -368
  240. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js.map +0 -1
  241. package/dist/tests/integration/imgCaptcha.integration.test.d.ts +0 -2
  242. package/dist/tests/integration/imgCaptcha.integration.test.d.ts.map +0 -1
  243. package/dist/tests/integration/imgCaptcha.integration.test.js +0 -272
  244. package/dist/tests/integration/imgCaptcha.integration.test.js.map +0 -1
  245. package/dist/tests/integration/ipValidation.integration.test.d.ts +0 -2
  246. package/dist/tests/integration/ipValidation.integration.test.d.ts.map +0 -1
  247. package/dist/tests/integration/ipValidation.integration.test.js +0 -75
  248. package/dist/tests/integration/ipValidation.integration.test.js.map +0 -1
  249. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts +0 -32
  250. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts.map +0 -1
  251. package/dist/tests/integration/mocks/solvedTestCaptchas.js +0 -1046
  252. package/dist/tests/integration/mocks/solvedTestCaptchas.js.map +0 -1
  253. package/dist/tests/integration/powCaptcha.integration.test.d.ts +0 -2
  254. package/dist/tests/integration/powCaptcha.integration.test.d.ts.map +0 -1
  255. package/dist/tests/integration/powCaptcha.integration.test.js +0 -308
  256. package/dist/tests/integration/powCaptcha.integration.test.js.map +0 -1
  257. package/dist/tests/integration/registerSitekey.d.ts +0 -3
  258. package/dist/tests/integration/registerSitekey.d.ts.map +0 -1
  259. package/dist/tests/integration/registerSitekey.js +0 -24
  260. package/dist/tests/integration/registerSitekey.js.map +0 -1
  261. package/dist/tests/integration/userAccessPolicy.d.ts +0 -2
  262. package/dist/tests/integration/userAccessPolicy.d.ts.map +0 -1
  263. package/dist/tests/integration/userAccessPolicy.js +0 -2
  264. package/dist/tests/integration/userAccessPolicy.js.map +0 -1
  265. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.d.ts +0 -2
  266. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.d.ts.map +0 -1
  267. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js +0 -60
  268. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js.map +0 -1
  269. package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts +0 -2
  270. package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts.map +0 -1
  271. package/dist/tests/unit/api/ignoreMiddleware.unit.test.js +0 -43
  272. package/dist/tests/unit/api/ignoreMiddleware.unit.test.js.map +0 -1
  273. package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts +0 -2
  274. package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts.map +0 -1
  275. package/dist/tests/unit/api/ja4Middleware.unit.test.js +0 -57
  276. package/dist/tests/unit/api/ja4Middleware.unit.test.js.map +0 -1
  277. package/dist/tests/unit/compositeIpAddress.unit.test.d.ts +0 -2
  278. package/dist/tests/unit/compositeIpAddress.unit.test.d.ts.map +0 -1
  279. package/dist/tests/unit/compositeIpAddress.unit.test.js +0 -86
  280. package/dist/tests/unit/compositeIpAddress.unit.test.js.map +0 -1
  281. package/dist/tests/unit/pairs.unit.test.d.ts +0 -2
  282. package/dist/tests/unit/pairs.unit.test.d.ts.map +0 -1
  283. package/dist/tests/unit/pairs.unit.test.js +0 -83
  284. package/dist/tests/unit/pairs.unit.test.js.map +0 -1
  285. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts +0 -2
  286. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts.map +0 -1
  287. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +0 -75
  288. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +0 -1
  289. package/dist/tests/unit/services/ipComparison.unit.test.d.ts +0 -2
  290. package/dist/tests/unit/services/ipComparison.unit.test.d.ts.map +0 -1
  291. package/dist/tests/unit/services/ipComparison.unit.test.js +0 -258
  292. package/dist/tests/unit/services/ipComparison.unit.test.js.map +0 -1
  293. package/dist/tests/unit/services/ipInfo.unit.test.d.ts +0 -2
  294. package/dist/tests/unit/services/ipInfo.unit.test.d.ts.map +0 -1
  295. package/dist/tests/unit/services/ipInfo.unit.test.js +0 -210
  296. package/dist/tests/unit/services/ipInfo.unit.test.js.map +0 -1
  297. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts +0 -2
  298. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts.map +0 -1
  299. package/dist/tests/unit/tasks/captchaManager.unit.test.js +0 -311
  300. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +0 -1
  301. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts +0 -2
  302. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts.map +0 -1
  303. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +0 -289
  304. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +0 -1
  305. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts +0 -2
  306. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts.map +0 -1
  307. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js +0 -92
  308. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +0 -1
  309. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts +0 -2
  310. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts.map +0 -1
  311. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +0 -75
  312. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +0 -1
  313. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.d.ts +0 -2
  314. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.d.ts.map +0 -1
  315. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js +0 -143
  316. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js.map +0 -1
  317. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts +0 -2
  318. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts.map +0 -1
  319. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +0 -145
  320. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +0 -1
  321. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts +0 -2
  322. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts.map +0 -1
  323. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js +0 -64
  324. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js.map +0 -1
  325. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts +0 -2
  326. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts.map +0 -1
  327. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +0 -388
  328. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +0 -1
  329. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts +0 -2
  330. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts.map +0 -1
  331. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +0 -46
  332. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +0 -1
  333. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts +0 -2
  334. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts.map +0 -1
  335. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +0 -216
  336. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +0 -1
  337. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts +0 -2
  338. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts.map +0 -1
  339. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +0 -69
  340. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +0 -1
  341. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.d.ts +0 -2
  342. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.d.ts.map +0 -1
  343. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js +0 -505
  344. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js.map +0 -1
  345. package/dist/tests/unit/util.ipDistance.unit.test.d.ts +0 -2
  346. package/dist/tests/unit/util.ipDistance.unit.test.d.ts.map +0 -1
  347. package/dist/tests/unit/util.ipDistance.unit.test.js +0 -93
  348. package/dist/tests/unit/util.ipDistance.unit.test.js.map +0 -1
  349. package/dist/tests/unit/util.unit.test.d.ts +0 -2
  350. package/dist/tests/unit/util.unit.test.d.ts.map +0 -1
  351. package/dist/tests/unit/util.unit.test.js +0 -170
  352. package/dist/tests/unit/util.unit.test.js.map +0 -1
  353. package/dist/util.d.ts +0 -24
  354. package/dist/util.d.ts.map +0 -1
  355. package/dist/util.js.map +0 -1
  356. package/dist/utils/hashUserAgent.d.ts +0 -2
  357. package/dist/utils/hashUserAgent.d.ts.map +0 -1
  358. package/dist/utils/hashUserAgent.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"solvedTestCaptchas.js","sourceRoot":"","sources":["../../../../src/tests/integration/mocks/solvedTestCaptchas.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=powCaptcha.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"powCaptcha.integration.test.d.ts","sourceRoot":"","sources":["../../../src/tests/integration/powCaptcha.integration.test.ts"],"names":[],"mappings":""}
@@ -1,308 +0,0 @@
1
- import { sha256 } from "@noble/hashes/sha256";
2
- import { generateMnemonic, getDefaultProviders, getPair, } from "@prosopo/keyring";
3
- import { ApiParams, CaptchaType, ClientApiPaths, } from "@prosopo/types";
4
- import { at, u8aToHex } from "@prosopo/util";
5
- import { beforeEach, describe, expect, it } from "vitest";
6
- import { dummyUserAccount } from "./mocks/solvedTestCaptchas.js";
7
- import { registerSiteKey } from "./registerSitekey.js";
8
- const baseUrl = "http://localhost:9229";
9
- const getPowCaptchaChallengePath = ClientApiPaths.GetPowCaptchaChallenge;
10
- const userId = "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty";
11
- const bufferToHex = (buffer) => Array.from(buffer)
12
- .map((byte) => byte.toString(16).padStart(2, "0"))
13
- .join("");
14
- const solvePoW = (data, difficulty) => {
15
- let nonce = 0;
16
- const prefix = "0".repeat(difficulty);
17
- while (true) {
18
- const message = new TextEncoder().encode(nonce + data);
19
- const hashHex = bufferToHex(sha256(message));
20
- if (hashHex.startsWith(prefix)) {
21
- return nonce;
22
- }
23
- nonce += 1;
24
- }
25
- };
26
- const failPoW = (data, difficulty) => {
27
- let nonce = 0;
28
- const prefix = "0".repeat(difficulty);
29
- while (true) {
30
- const message = new TextEncoder().encode(nonce + data);
31
- const hashHex = bufferToHex(sha256(message));
32
- if (!hashHex.startsWith(prefix)) {
33
- return nonce;
34
- }
35
- nonce += 1;
36
- }
37
- };
38
- describe("PoW Integration Tests", () => {
39
- describe("GetPowCaptchaChallenge", () => {
40
- let siteKeyMnemonic;
41
- let siteKey;
42
- let userMnemonic;
43
- let userId;
44
- const adminPair = at(getDefaultProviders(), 0).pair;
45
- beforeEach(async () => {
46
- [siteKeyMnemonic, siteKey] = await generateMnemonic();
47
- await registerSiteKey(siteKey, CaptchaType.pow, adminPair);
48
- [userMnemonic, userId] = await generateMnemonic();
49
- });
50
- it("should supply a PoW challenge to a Dapp User", async () => {
51
- const origin = "http://localhost";
52
- const body = {
53
- user: userId,
54
- dapp: siteKey,
55
- };
56
- const response = await fetch(`${baseUrl}${getPowCaptchaChallengePath}`, {
57
- method: "POST",
58
- headers: {
59
- Connection: "close",
60
- "Content-Type": "application/json",
61
- Origin: origin,
62
- "Prosopo-Site-Key": siteKey,
63
- "Prosopo-User": userId,
64
- },
65
- body: JSON.stringify(body),
66
- });
67
- expect(response.status).toBe(200);
68
- const data = await response.json();
69
- console.log("\n ---- \n data \n ---- \n", data);
70
- expect(data).toHaveProperty("challenge");
71
- expect(data).toHaveProperty("difficulty");
72
- expect(data).toHaveProperty("signature");
73
- });
74
- it("should return an error if origin header is not provided", async () => {
75
- const response = await fetch(`${baseUrl}${getPowCaptchaChallengePath}`, {
76
- method: "POST",
77
- headers: {
78
- Connection: "close",
79
- "Content-Type": "application/json",
80
- "Prosopo-Site-Key": siteKey,
81
- "Prosopo-User": userId,
82
- },
83
- body: JSON.stringify({ user: userId, dapp: siteKey }),
84
- });
85
- expect(response.status).toBe(400);
86
- });
87
- it("should return an error if origin header is not valid", async () => {
88
- const origin = "http://notallowed.com";
89
- const response = await fetch(`${baseUrl}${getPowCaptchaChallengePath}`, {
90
- method: "POST",
91
- headers: {
92
- Connection: "close",
93
- "Content-Type": "application/json",
94
- Origin: origin,
95
- "Prosopo-Site-Key": siteKey,
96
- "Prosopo-User": userId,
97
- },
98
- body: JSON.stringify({ user: userId, dapp: siteKey }),
99
- });
100
- expect(response.status).toBe(400);
101
- expect(response.statusText).toBe("Bad Request");
102
- });
103
- });
104
- describe("SubmitPowCaptchaSolution", () => {
105
- let siteKeyMnemonic;
106
- let siteKey;
107
- let userMnemonic;
108
- let userPair;
109
- let userId;
110
- const adminPair = at(getDefaultProviders(), 0).pair;
111
- beforeEach(async () => {
112
- [siteKeyMnemonic, siteKey] = await generateMnemonic();
113
- await registerSiteKey(siteKey, CaptchaType.pow, adminPair);
114
- [userMnemonic, userId] = await generateMnemonic();
115
- userPair = getPair(userMnemonic);
116
- });
117
- it("should verify a correctly completed PoW captcha as true", async () => {
118
- const origin = "http://localhost";
119
- const requestBody = {
120
- user: userId,
121
- dapp: siteKey,
122
- };
123
- const captchaRes = await fetch(`${baseUrl}${getPowCaptchaChallengePath}`, {
124
- method: "POST",
125
- headers: {
126
- Connection: "close",
127
- "Content-Type": "application/json",
128
- Origin: origin,
129
- "Prosopo-Site-Key": siteKey,
130
- "Prosopo-User": userId,
131
- },
132
- body: JSON.stringify(requestBody),
133
- });
134
- const challengeBody = (await captchaRes.json());
135
- const challenge = challengeBody.challenge;
136
- const difficulty = challengeBody.difficulty;
137
- const signature = challengeBody.signature;
138
- const nonce = solvePoW(challenge, difficulty);
139
- const verifiedTimeout = 120000;
140
- const submitBody = {
141
- challenge,
142
- difficulty,
143
- signature: {
144
- [ApiParams.provider]: signature[ApiParams.provider],
145
- [ApiParams.user]: {
146
- [ApiParams.timestamp]: u8aToHex(userPair.sign(challengeBody[ApiParams.timestamp].toString())),
147
- },
148
- },
149
- nonce,
150
- verifiedTimeout,
151
- user: userPair.address,
152
- dapp: siteKey,
153
- };
154
- const response = await fetch(`${baseUrl}${ClientApiPaths.SubmitPowCaptchaSolution}`, {
155
- method: "POST",
156
- headers: {
157
- Connection: "close",
158
- "Content-Type": "application/json",
159
- Origin: origin,
160
- "Prosopo-Site-Key": siteKey,
161
- "Prosopo-User": userId,
162
- },
163
- body: JSON.stringify(submitBody),
164
- });
165
- expect(response.status).toBe(200);
166
- const data = (await response.json());
167
- expect(data).toHaveProperty("verified");
168
- expect(data.verified).toBe(true);
169
- });
170
- it("should return false for incorrectly completed PoW captcha", async () => {
171
- const origin = "http://localhost";
172
- const captchaRes = await fetch(`${baseUrl}${getPowCaptchaChallengePath}`, {
173
- method: "POST",
174
- headers: {
175
- Connection: "close",
176
- "Content-Type": "application/json",
177
- Origin: origin,
178
- "Prosopo-Site-Key": siteKey,
179
- "Prosopo-User": userId,
180
- },
181
- body: JSON.stringify({ user: userId, dapp: siteKey }),
182
- });
183
- const challengeBody = (await captchaRes.json());
184
- const challenge = challengeBody.challenge;
185
- const difficulty = challengeBody.difficulty;
186
- const signature = challengeBody.signature;
187
- const nonce = failPoW(challenge, difficulty);
188
- const verifiedTimeout = 120000;
189
- const body = {
190
- challenge,
191
- difficulty,
192
- [ApiParams.signature]: {
193
- [ApiParams.provider]: signature[ApiParams.provider],
194
- [ApiParams.user]: {
195
- [ApiParams.timestamp]: u8aToHex(userPair.sign(challengeBody[ApiParams.timestamp].toString())),
196
- },
197
- },
198
- nonce,
199
- verifiedTimeout,
200
- user: userPair.address,
201
- dapp: siteKey,
202
- };
203
- const response = await fetch(`${baseUrl}${ClientApiPaths.SubmitPowCaptchaSolution}`, {
204
- method: "POST",
205
- headers: {
206
- Connection: "close",
207
- "Content-Type": "application/json",
208
- Origin: origin,
209
- "Prosopo-Site-Key": siteKey,
210
- "Prosopo-User": userId,
211
- },
212
- body: JSON.stringify(body),
213
- });
214
- expect(response.status).toBe(200);
215
- const data = (await response.json());
216
- expect(data).toHaveProperty("verified");
217
- expect(data.verified).toBe(false);
218
- });
219
- it("should return an error for an unregistered site key", async () => {
220
- const [_mnemonic, unregisteredAccount] = await generateMnemonic();
221
- const userPair = getPair(dummyUserAccount.seed, undefined, "sr25519", 42);
222
- const userId = userPair.address;
223
- const origin = "http://localhost";
224
- const captchaRes = await fetch(`${baseUrl}${getPowCaptchaChallengePath}`, {
225
- method: "POST",
226
- headers: {
227
- Connection: "close",
228
- "Content-Type": "application/json",
229
- Origin: origin,
230
- "Prosopo-Site-Key": unregisteredAccount,
231
- "Prosopo-User": userId,
232
- },
233
- body: JSON.stringify({
234
- user: userId,
235
- dapp: unregisteredAccount,
236
- }),
237
- });
238
- const data = (await captchaRes.json());
239
- expect(data).toHaveProperty("error");
240
- expect(data.error?.message).toBe("Site key not registered");
241
- });
242
- });
243
- it("should return an error for an invalid site key", async () => {
244
- const origin = "http://localhost";
245
- const invalidSiteKey = "junk";
246
- const captchaRes = await fetch(`${baseUrl}${getPowCaptchaChallengePath}`, {
247
- method: "POST",
248
- headers: {
249
- Connection: "close",
250
- "Content-Type": "application/json",
251
- Origin: origin,
252
- "Prosopo-Site-Key": invalidSiteKey,
253
- "Prosopo-User": userId,
254
- },
255
- body: JSON.stringify({ user: userId, dapp: invalidSiteKey }),
256
- });
257
- const challengeBody = (await captchaRes.json());
258
- expect(challengeBody).toHaveProperty("error");
259
- expect(challengeBody.error?.message).toBe("Invalid site key");
260
- });
261
- it("should return an error if the captcha type is set to image", async () => {
262
- const userPair = getPair(dummyUserAccount.seed, undefined, "sr25519");
263
- const userId = userPair.address;
264
- const origin = "http://localhost";
265
- const siteKey = "5C7bfXYwachNuvmasEFtWi9BMS41uBvo6KpYHVSQmad4nWzw";
266
- const adminPair = at(getDefaultProviders(), 0).pair;
267
- await registerSiteKey(siteKey, CaptchaType.image, adminPair);
268
- const captchaRes = await fetch(`${baseUrl}${getPowCaptchaChallengePath}`, {
269
- method: "POST",
270
- headers: {
271
- Connection: "close",
272
- "Content-Type": "application/json",
273
- Origin: origin,
274
- "Prosopo-Site-Key": siteKey,
275
- "Prosopo-User": userId,
276
- },
277
- body: JSON.stringify({ user: userId, dapp: siteKey }),
278
- });
279
- const challengeBody = (await captchaRes.json());
280
- expect(challengeBody).toHaveProperty("error");
281
- expect(challengeBody.error?.message).toBe("Incorrect CAPTCHA type");
282
- expect(challengeBody.error?.code).toBe(400);
283
- });
284
- it("should return an error if the captcha type is set to frictionless and no sessionID is sent", async () => {
285
- const userPair = getPair(dummyUserAccount.seed, undefined, "sr25519");
286
- const userId = userPair.address;
287
- const origin = "http://localhost";
288
- const [mnemonic, dapp] = await generateMnemonic();
289
- const adminPair = at(getDefaultProviders(), 0).pair;
290
- await registerSiteKey(dapp, CaptchaType.frictionless, adminPair);
291
- const captchaRes = await fetch(`${baseUrl}${getPowCaptchaChallengePath}`, {
292
- method: "POST",
293
- headers: {
294
- Connection: "close",
295
- "Content-Type": "application/json",
296
- Origin: origin,
297
- "Prosopo-Site-Key": dapp,
298
- "Prosopo-User": userId,
299
- },
300
- body: JSON.stringify({ user: userId, dapp }),
301
- });
302
- const challengeBody = (await captchaRes.json());
303
- expect(challengeBody).toHaveProperty("error");
304
- expect(challengeBody.error?.message).toBe("Incorrect CAPTCHA type");
305
- expect(challengeBody.error?.code).toBe(400);
306
- });
307
- });
308
- //# sourceMappingURL=powCaptcha.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"powCaptcha.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/powCaptcha.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { type CaptchaType, type KeyringPair } from "@prosopo/types";
2
- export declare const registerSiteKey: (siteKey: string, captchaType: CaptchaType, adminPair: KeyringPair) => Promise<void>;
3
- //# sourceMappingURL=registerSitekey.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerSitekey.d.ts","sourceRoot":"","sources":["../../../src/tests/integration/registerSitekey.ts"],"names":[],"mappings":"AAeA,OAAO,EACN,KAAK,WAAW,EAGhB,KAAK,WAAW,EAEhB,MAAM,gBAAgB,CAAC;AAGxB,eAAO,MAAM,eAAe,YAClB,MAAM,eACF,WAAW,aACb,WAAW,KACpB,OAAO,CAAC,IAAI,CA2Bd,CAAC"}
@@ -1,24 +0,0 @@
1
- import { ProviderApi } from "@prosopo/api";
2
- import { loadBalancer } from "@prosopo/load-balancer";
3
- import { ClientSettingsSchema, EnvironmentTypesSchema, Tier, } from "@prosopo/types";
4
- import { u8aToHex } from "@prosopo/util";
5
- export const registerSiteKey = async (siteKey, captchaType, adminPair) => {
6
- try {
7
- const providers = await loadBalancer(EnvironmentTypesSchema.enum.development);
8
- for (const provider of providers) {
9
- const timestamp = Date.now();
10
- const signature = u8aToHex(adminPair.sign(timestamp.toString()));
11
- const providerApi = new ProviderApi(provider.url, adminPair.address);
12
- const response = await providerApi.registerSiteKey(siteKey, Tier.Free, ClientSettingsSchema.parse({
13
- captchaType,
14
- domains: ["localhost", "0.0.0.0", "127.0.0.0", "example.com"],
15
- frictionlessThreshold: 0.5,
16
- powDifficulty: 4,
17
- }), timestamp.toString(), signature);
18
- }
19
- }
20
- catch (err) {
21
- throw new Error(`Failed to register site key: ${err}`);
22
- }
23
- };
24
- //# sourceMappingURL=registerSitekey.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerSitekey.js","sourceRoot":"","sources":["../../../src/tests/integration/registerSitekey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AActD,OAAO,EAEN,oBAAoB,EACpB,sBAAsB,EAEtB,IAAI,GACJ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EACnC,OAAe,EACf,WAAwB,EACxB,SAAsB,EACN,EAAE;IAClB,IAAI,CAAC;QACJ,MAAM,SAAS,GAAG,MAAM,YAAY,CACnC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CACvC,CAAC;QACF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAEjE,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YAErE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,eAAe,CACjD,OAAO,EACP,IAAI,CAAC,IAAI,EACT,oBAAoB,CAAC,KAAK,CAAC;gBAC1B,WAAW;gBACX,OAAO,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC;gBAC7D,qBAAqB,EAAE,GAAG;gBAC1B,aAAa,EAAE,CAAC;aAChB,CAAC,EACF,SAAS,CAAC,QAAQ,EAAE,EACpB,SAAS,CACT,CAAC;QACH,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;AACF,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=userAccessPolicy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"userAccessPolicy.d.ts","sourceRoot":"","sources":["../../../src/tests/integration/userAccessPolicy.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=userAccessPolicy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"userAccessPolicy.js","sourceRoot":"","sources":["../../../src/tests/integration/userAccessPolicy.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=blacklistRequestInspector.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blacklistRequestInspector.unit.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/api/blacklistRequestInspector.unit.test.ts"],"names":[],"mappings":""}
@@ -1,60 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { getRequestUserScope } from "../../../api/blacklistRequestInspector.js";
3
- describe("getRequestUserScope", () => {
4
- it("should return a user scope with ja4Hash and userAgent and ip and userId", () => {
5
- const ja4 = "t13d1516h2_8daaf6152771_8eba31f8906f";
6
- const userAgent = "testuseragent1";
7
- const rawIp = "1.1.1.1";
8
- const user = "testuser";
9
- const requestHeaders = {
10
- "user-agent": userAgent,
11
- "X-Forwarded-For": rawIp,
12
- };
13
- const userScope = getRequestUserScope(requestHeaders, ja4, rawIp, user);
14
- expect(userScope).toEqual({
15
- ja4Hash: ja4,
16
- userAgent: userAgent,
17
- ip: rawIp,
18
- userId: "testuser",
19
- });
20
- });
21
- it("should return a user scope with ja4Hash and userAgent and ip", () => {
22
- const ja4 = "t13d1516h2_8daaf6152771_8eba31f8906f";
23
- const userAgent = "testuseragent1";
24
- const rawIp = "1.1.1.1";
25
- const requestHeaders = {
26
- "user-agent": userAgent,
27
- "X-Forwarded-For": rawIp,
28
- };
29
- const userScope = getRequestUserScope(requestHeaders, ja4, rawIp);
30
- expect(userScope).toEqual({
31
- ja4Hash: ja4,
32
- userAgent: userAgent,
33
- ip: rawIp,
34
- });
35
- });
36
- it("should return a user scope with userAgent and ip", () => {
37
- const userAgent = "testuseragent1";
38
- const rawIp = "1.1.1.1";
39
- const requestHeaders = {
40
- "user-agent": userAgent,
41
- "X-Forwarded-For": rawIp,
42
- };
43
- const userScope = getRequestUserScope(requestHeaders, undefined, rawIp);
44
- expect(userScope).toEqual({
45
- userAgent: userAgent,
46
- ip: rawIp,
47
- });
48
- });
49
- it("should return a user scope with userAgent", () => {
50
- const userAgent = "testuseragent1";
51
- const requestHeaders = {
52
- "user-agent": userAgent,
53
- };
54
- const userScope = getRequestUserScope(requestHeaders);
55
- expect(userScope).toEqual({
56
- userAgent: userAgent,
57
- });
58
- });
59
- });
60
- //# sourceMappingURL=blacklistRequestInspector.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blacklistRequestInspector.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/blacklistRequestInspector.unit.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QAClF,MAAM,GAAG,GAAG,sCAAsC,CAAC;QACnD,MAAM,SAAS,GAAG,gBAAgB,CAAC;QACnC,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,MAAM,cAAc,GAAG;YACtB,YAAY,EAAE,SAAS;YACvB,iBAAiB,EAAE,KAAK;SACxB,CAAC;QACF,MAAM,SAAS,GAAG,mBAAmB,CAAC,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACzB,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,SAAS;YACpB,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,UAAU;SAClB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACvE,MAAM,GAAG,GAAG,sCAAsC,CAAC;QACnD,MAAM,SAAS,GAAG,gBAAgB,CAAC;QACnC,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,MAAM,cAAc,GAAG;YACtB,YAAY,EAAE,SAAS;YACvB,iBAAiB,EAAE,KAAK;SACxB,CAAC;QACF,MAAM,SAAS,GAAG,mBAAmB,CAAC,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACzB,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,SAAS;YACpB,EAAE,EAAE,KAAK;SACT,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC3D,MAAM,SAAS,GAAG,gBAAgB,CAAC;QACnC,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,MAAM,cAAc,GAAG;YACtB,YAAY,EAAE,SAAS;YACvB,iBAAiB,EAAE,KAAK;SACxB,CAAC;QACF,MAAM,SAAS,GAAG,mBAAmB,CAAC,cAAc,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACzB,SAAS,EAAE,SAAS;YACpB,EAAE,EAAE,KAAK;SACT,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACpD,MAAM,SAAS,GAAG,gBAAgB,CAAC;QACnC,MAAM,cAAc,GAAG;YACtB,YAAY,EAAE,SAAS;SACvB,CAAC;QACF,MAAM,SAAS,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACzB,SAAS,EAAE,SAAS;SACpB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ignoreMiddleware.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ignoreMiddleware.unit.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/api/ignoreMiddleware.unit.test.ts"],"names":[],"mappings":""}
@@ -1,43 +0,0 @@
1
- import { getLogger } from "@prosopo/common";
2
- import { describe, expect, it, vi } from "vitest";
3
- import { ignoreMiddleware } from "../../../api/ignoreMiddleware.js";
4
- const loggerOuter = getLogger("info", import.meta.url);
5
- vi.mock("@prosopo/util", () => ({
6
- hexToU8a: vi.fn(),
7
- isHex: vi.fn(),
8
- }));
9
- describe("ignoreMiddleware", () => {
10
- it("should 404 if url does not contain /v1/prosopo", async () => {
11
- const mockLogger = {
12
- debug: vi.fn().mockImplementation(loggerOuter.debug.bind(loggerOuter)),
13
- log: vi.fn().mockImplementation(loggerOuter.log.bind(loggerOuter)),
14
- info: vi.fn().mockImplementation(loggerOuter.info.bind(loggerOuter)),
15
- error: vi.fn().mockImplementation(loggerOuter.error.bind(loggerOuter)),
16
- trace: vi.fn().mockImplementation(loggerOuter.trace.bind(loggerOuter)),
17
- fatal: vi.fn().mockImplementation(loggerOuter.fatal.bind(loggerOuter)),
18
- warn: vi.fn().mockImplementation(loggerOuter.warn.bind(loggerOuter)),
19
- };
20
- const mockReq = {
21
- url: "/favicon.ico",
22
- originalUrl: "/favicon.ico",
23
- headers: {
24
- signature: "0x1234",
25
- timestamp: new Date().getTime(),
26
- },
27
- logger: mockLogger,
28
- };
29
- const mockRes = {
30
- status: vi.fn().mockReturnThis(),
31
- statusCode: 404,
32
- json: vi.fn(),
33
- send: vi.fn(),
34
- };
35
- const mockNext = vi.fn(() => {
36
- console.log("mock next function");
37
- });
38
- const middleware = ignoreMiddleware();
39
- await middleware(mockReq, mockRes, mockNext);
40
- expect(mockRes.statusCode).toBe(404);
41
- });
42
- });
43
- //# sourceMappingURL=ignoreMiddleware.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ignoreMiddleware.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api/ignoreMiddleware.unit.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEvD,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;IACjB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;CACd,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,UAAU,GAAG;YAClB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/C,CAAC;QACvB,MAAM,OAAO,GAAG;YACf,GAAG,EAAE,cAAc;YACnB,WAAW,EAAE,cAAc;YAC3B,OAAO,EAAE;gBACR,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;aAC/B;YACD,MAAM,EAAE,UAAU;SACI,CAAC;QAExB,MAAM,OAAO,GAAG;YACf,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE;YAChC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;SACU,CAAC;QAEzB,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACnC,CAAC,CAA4B,CAAC;QAE9B,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;QACtC,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE7C,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ja4Middleware.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ja4Middleware.unit.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/unit/api/ja4Middleware.unit.test.ts"],"names":[],"mappings":""}
@@ -1,57 +0,0 @@
1
- import { getLogger } from "@prosopo/common";
2
- import { describe, expect, it, vi } from "vitest";
3
- import { DEFAULT_JA4, getJA4, ja4Middleware, } from "../../../api/ja4Middleware.js";
4
- const loggerOuter = getLogger("info", import.meta.url);
5
- describe("ja4Middleware", () => {
6
- it("should return default JA4 if an error occurs", async () => {
7
- const mockLogger = {
8
- debug: vi.fn().mockImplementation(loggerOuter.debug.bind(loggerOuter)),
9
- log: vi.fn().mockImplementation(loggerOuter.log.bind(loggerOuter)),
10
- info: vi.fn().mockImplementation(loggerOuter.info.bind(loggerOuter)),
11
- error: vi.fn().mockImplementation(loggerOuter.error.bind(loggerOuter)),
12
- trace: vi.fn().mockImplementation(loggerOuter.trace.bind(loggerOuter)),
13
- fatal: vi.fn().mockImplementation(loggerOuter.fatal.bind(loggerOuter)),
14
- warn: vi.fn().mockImplementation(loggerOuter.warn.bind(loggerOuter)),
15
- };
16
- const mockReq = {
17
- headers: {},
18
- logger: mockLogger,
19
- };
20
- const mockRes = {
21
- set: vi.fn(),
22
- status: vi.fn().mockReturnThis(),
23
- send: vi.fn(),
24
- end: vi.fn(),
25
- };
26
- const mockNext = vi.fn();
27
- const ja4MiddlewareInstance = ja4Middleware({});
28
- await ja4MiddlewareInstance(mockReq, mockRes, mockNext);
29
- expect(mockReq.ja4.startsWith(DEFAULT_JA4)).toBe(true);
30
- });
31
- });
32
- describe("getJA4", () => {
33
- it("should return default JA4 in development mode", async () => {
34
- const mockHeaders = {
35
- "x-tls-clienthello": "test",
36
- "x-tls-version": "test",
37
- "x-tls-server-name": "test",
38
- };
39
- const ja4 = await getJA4(mockHeaders);
40
- expect(ja4.ja4PlusFingerprint.startsWith(DEFAULT_JA4)).toBe(true);
41
- });
42
- it("should return the correct JA4 for a known ClientHello", async () => {
43
- const mockHeaders = {
44
- "x-tls-clienthello": "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",
45
- "x-tls-proto": "h2",
46
- "x-tls-proto-mutual": "true",
47
- "x-tls-public-key": "",
48
- "x-tls-public-key-sha256": "",
49
- "x-tls-resumed": "false",
50
- "x-tls-server-name": "pronode8.prosopo.io",
51
- "x-tls-version": "tls1.3",
52
- };
53
- const ja4 = await getJA4(mockHeaders);
54
- expect(ja4.ja4PlusFingerprint).toBe("t13d1516h2_8daaf6152771_d8a2da3f94cd");
55
- });
56
- });
57
- //# sourceMappingURL=ja4Middleware.unit.test.js.map