@prosopo/provider 4.14.3 → 4.14.4

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/provider@4.14.3 build:cjs
2
+ > @prosopo/provider@4.14.4 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
@@ -138,7 +138,7 @@ rendering chunks...
138
138
  dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs  6.76 kB
139
139
  dist/cjs/api/ja4.cjs  7.14 kB
140
140
  dist/cjs/api/metrics.cjs  7.94 kB
141
- dist/cjs/api/startProviderApi.cjs  8.11 kB
141
+ dist/cjs/api/startProviderApi.cjs  8.62 kB
142
142
  dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs 10.21 kB
143
143
  dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs 10.59 kB
144
144
  dist/cjs/api/blacklistRequestInspector.cjs 11.68 kB
@@ -154,7 +154,7 @@ rendering chunks...
154
154
  dist/cjs/tasks/powCaptcha/powTasks.cjs 24.67 kB
155
155
  dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs 28.81 kB
156
156
  dist/cjs/tasks/detection/decodePayload.cjs 29.94 kB
157
- ✓ built in 806ms
157
+ ✓ built in 792ms
158
158
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeBehavior.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodeBehavior.js
159
159
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodePayload.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodePayload.js
160
160
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeSimd.js to /home/runner/work/captcha/captcha/packages/provider/dist/cjs/tasks/detection/decodeSimd.js
@@ -1,8 +1,8 @@
1
1
 
2
- > @prosopo/provider@4.14.3 build:tsc
2
+ > @prosopo/provider@4.14.4 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 9:22:51 AM - Projects in this build:
5
+ 12:39:11 PM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * ../util/tsconfig.json
8
8
  * ../logger/tsconfig.json
@@ -25,47 +25,47 @@
25
25
  * ../load-balancer/tsconfig.json
26
26
  * tsconfig.json
27
27
 
28
- 9:22:51 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/vite/vite-plugin-fix-absolute-imports.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
28
+ 12:39:11 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
29
29
 
30
- 9:22:51 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
30
+ 12:39:11 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
31
31
 
32
- 9:22:51 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
32
+ 12:39:11 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
33
33
 
34
- 9:22:51 AM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
34
+ 12:39:11 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
35
35
 
36
- 9:22:51 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/useTranslation.ts' is older than output '../locale/tsconfig.tsbuildinfo'
36
+ 12:39:11 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
37
37
 
38
- 9:22:51 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
38
+ 12:39:11 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
39
39
 
40
- 9:22:51 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/provider/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
40
+ 12:39:11 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/provider/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
41
41
 
42
- 9:22:51 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
42
+ 12:39:11 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
43
43
 
44
- 9:22:51 AM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/index.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
44
+ 12:39:12 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
45
45
 
46
- 9:22:51 AM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
46
+ 12:39:12 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
47
47
 
48
- 9:22:51 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
48
+ 12:39:12 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
49
49
 
50
- 9:22:51 AM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
50
+ 12:39:12 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
51
51
 
52
- 9:22:51 AM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
52
+ 12:39:12 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types/bannedDomain.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
53
53
 
54
- 9:22:51 AM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/mongoGlobalSetup.ts' is older than output '../database/tsconfig.tsbuildinfo'
54
+ 12:39:12 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/unit/redisCacheEscalation.unit.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
55
55
 
56
- 9:22:51 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
56
+ 12:39:12 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
57
57
 
58
- 9:22:51 AM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/env.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
58
+ 12:39:12 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/env.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
59
59
 
60
- 9:22:51 AM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
60
+ 12:39:12 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
61
61
 
62
- 9:22:51 AM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/errorHandler.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
62
+ 12:39:12 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/apiExpressRouterFactory.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
63
63
 
64
- 9:22:51 AM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
64
+ 12:39:12 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/index.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
65
65
 
66
- 9:22:51 AM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
66
+ 12:39:12 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
67
67
 
68
- 9:22:51 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
68
+ 12:39:12 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
69
69
 
70
- 9:22:51 AM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
70
+ 12:39:12 PM - Building project '/home/runner/work/captcha/captcha/packages/provider/tsconfig.json'...
71
71
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/provider@4.14.3 build
2
+ > @prosopo/provider@4.14.4 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/provider@4.14.3 build:cross-env
6
+ > @prosopo/provider@4.14.4 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -138,8 +138,8 @@ rendering chunks...
138
138
  dist/api/captcha/getImageCaptchaChallenge.js  6.35 kB
139
139
  dist/api/captcha/submitPoWCaptchaSolution.js  6.51 kB
140
140
  dist/api/ja4.js  7.01 kB
141
- dist/api/startProviderApi.js  7.38 kB
142
141
  dist/api/metrics.js  7.38 kB
142
+ dist/api/startProviderApi.js  7.89 kB
143
143
  dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js  9.77 kB
144
144
  dist/tasks/decisionMachine/decisionMachineRunner.js 10.54 kB
145
145
  dist/api/blacklistRequestInspector.js 11.38 kB
@@ -155,7 +155,7 @@ rendering chunks...
155
155
  dist/tasks/powCaptcha/powTasks.js 24.26 kB
156
156
  dist/tasks/imgCaptcha/imgCaptchaTasks.js 28.37 kB
157
157
  dist/tasks/detection/decodePayload.js 29.92 kB
158
- ✓ built in 1.37s
158
+ ✓ built in 1.66s
159
159
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeBehavior.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodeBehavior.js
160
160
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodePayload.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodePayload.js
161
161
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/provider/src/tasks/detection/decodeSimd.js to /home/runner/work/captcha/captcha/packages/provider/dist/tasks/detection/decodeSimd.js
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @prosopo/provider
2
2
 
3
+ ## 4.14.4
4
+ ### Patch Changes
5
+
6
+ - 6cb3218: feat(provider): relax captcha-flow rate limits 5x and log 429s
7
+
8
+ - Default rate limits for the captcha-flow endpoints (get/submit image, PoW, frictionless and puzzle challenges, plus the verify endpoints) are now 5x more permissive. The previous defaults were rate limiting legitimate widget traffic.
9
+ - The provider now logs a warning whenever a request is rejected with a 429, including the path, IP and site key, so operators can alarm on sustained rate limiting.
10
+ - Updated dependencies [6cb3218]
11
+ - @prosopo/types@4.9.5
12
+ - @prosopo/api@3.5.12
13
+ - @prosopo/api-express-router@3.1.39
14
+ - @prosopo/database@3.15.8
15
+ - @prosopo/datasets@3.1.46
16
+ - @prosopo/env@3.6.8
17
+ - @prosopo/ipinfo@0.2.32
18
+ - @prosopo/keyring@2.9.52
19
+ - @prosopo/load-balancer@2.10.6
20
+ - @prosopo/types-database@4.11.7
21
+ - @prosopo/types-env@2.10.7
22
+ - @prosopo/user-access-policy@3.11.3
23
+
3
24
  ## 4.14.3
4
25
  ### Patch Changes
5
26
 
@@ -1 +1 @@
1
- {"version":3,"file":"startProviderApi.d.ts","sourceRoot":"","sources":["../../src/api/startProviderApi.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,EAEN,cAAc,EAEd,MAAM,gBAAgB,CAAC;AAQxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAyBvC,eAAO,MAAM,cAAc,QAAO,OAEjC,CAAC;AAMF,eAAO,MAAM,wCAAwC,QAChD,cAAc,EAKjB,CAAC;AAOH,eAAO,MAAM,cAAc,QAAS,OAAO,KAAG,MAAM,GAAG,SAuBtD,CAAC;AA2BF,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,mBAAmB,EACxB,KAAK,UAAQ,EACb,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAiNjB"}
1
+ {"version":3,"file":"startProviderApi.d.ts","sourceRoot":"","sources":["../../src/api/startProviderApi.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,EAEN,cAAc,EAEd,MAAM,gBAAgB,CAAC;AAQxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAyBvC,eAAO,MAAM,cAAc,QAAO,OAEjC,CAAC;AAMF,eAAO,MAAM,wCAAwC,QAChD,cAAc,EAKjB,CAAC;AAOH,eAAO,MAAM,cAAc,QAAS,OAAO,KAAG,MAAM,GAAG,SAuBtD,CAAC;AA2BF,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,mBAAmB,EACxB,KAAK,UAAQ,EACb,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAoOjB"}
@@ -112,6 +112,17 @@ async function startProviderApi(env, admin = false, port) {
112
112
  ...getExpressApiRuleRateLimits()
113
113
  };
114
114
  const adminPaths = Object.values(AdminApiPaths);
115
+ const rateLimitHandler = (path2) => (req, res, _next, options) => {
116
+ env.logger.warn(() => ({
117
+ msg: "Rate limit exceeded",
118
+ data: {
119
+ path: path2,
120
+ ip: req.ip,
121
+ siteKey: req.headers["prosopo-site-key"]
122
+ }
123
+ }));
124
+ res.status(options.statusCode).send(options.message);
125
+ };
115
126
  for (const [path2, limit] of Object.entries(rateLimits)) {
116
127
  const enumPath = path2;
117
128
  if (adminPaths.includes(enumPath)) {
@@ -119,6 +130,7 @@ async function startProviderApi(env, admin = false, port) {
119
130
  enumPath,
120
131
  rateLimit({
121
132
  ...limit,
133
+ handler: rateLimitHandler(enumPath),
122
134
  keyGenerator: (req) => {
123
135
  const user = getUserFromJWT(req);
124
136
  return user || req.ip || "unknown";
@@ -130,6 +142,7 @@ async function startProviderApi(env, admin = false, port) {
130
142
  enumPath,
131
143
  rateLimit({
132
144
  ...limit,
145
+ handler: rateLimitHandler(enumPath),
133
146
  keyGenerator: (req) => {
134
147
  const siteKey = req.headers["prosopo-site-key"];
135
148
  return siteKey || req.ip || "unknown";
@@ -137,7 +150,10 @@ async function startProviderApi(env, admin = false, port) {
137
150
  })
138
151
  );
139
152
  } else {
140
- apiApp.use(enumPath, rateLimit(limit));
153
+ apiApp.use(
154
+ enumPath,
155
+ rateLimit({ ...limit, handler: rateLimitHandler(enumPath) })
156
+ );
141
157
  }
142
158
  }
143
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"startProviderApi.js","sourceRoot":"","sources":["../../src/api/startProviderApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startProviderApi.js","sourceRoot":"","sources":["../../src/api/startProviderApi.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,17 @@ async function startProviderApi(env, admin = false, port) {
115
115
  ...api.getExpressApiRuleRateLimits()
116
116
  };
117
117
  const adminPaths = Object.values(types.AdminApiPaths);
118
+ const rateLimitHandler = (path2) => (req, res, _next, options) => {
119
+ env.logger.warn(() => ({
120
+ msg: "Rate limit exceeded",
121
+ data: {
122
+ path: path2,
123
+ ip: req.ip,
124
+ siteKey: req.headers["prosopo-site-key"]
125
+ }
126
+ }));
127
+ res.status(options.statusCode).send(options.message);
128
+ };
118
129
  for (const [path2, limit] of Object.entries(rateLimits)) {
119
130
  const enumPath = path2;
120
131
  if (adminPaths.includes(enumPath)) {
@@ -122,6 +133,7 @@ async function startProviderApi(env, admin = false, port) {
122
133
  enumPath,
123
134
  rateLimit({
124
135
  ...limit,
136
+ handler: rateLimitHandler(enumPath),
125
137
  keyGenerator: (req) => {
126
138
  const user = getUserFromJWT(req);
127
139
  return user || req.ip || "unknown";
@@ -133,6 +145,7 @@ async function startProviderApi(env, admin = false, port) {
133
145
  enumPath,
134
146
  rateLimit({
135
147
  ...limit,
148
+ handler: rateLimitHandler(enumPath),
136
149
  keyGenerator: (req) => {
137
150
  const siteKey = req.headers["prosopo-site-key"];
138
151
  return siteKey || req.ip || "unknown";
@@ -140,7 +153,10 @@ async function startProviderApi(env, admin = false, port) {
140
153
  })
141
154
  );
142
155
  } else {
143
- apiApp.use(enumPath, rateLimit(limit));
156
+ apiApp.use(
157
+ enumPath,
158
+ rateLimit({ ...limit, handler: rateLimitHandler(enumPath) })
159
+ );
144
160
  }
145
161
  }
146
162
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/provider",
3
- "version": "4.14.3",
3
+ "version": "4.14.4",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -23,23 +23,23 @@
23
23
  "dependencies": {
24
24
  "@noble/hashes": "1.8.0",
25
25
  "@polkadot/util": "13.5.7",
26
- "@prosopo/api": "3.5.11",
27
- "@prosopo/api-express-router": "3.1.38",
26
+ "@prosopo/api": "3.5.12",
27
+ "@prosopo/api-express-router": "3.1.39",
28
28
  "@prosopo/api-route": "2.6.50",
29
29
  "@prosopo/common": "3.1.43",
30
30
  "@prosopo/logger": "2.0.1",
31
- "@prosopo/database": "3.15.7",
32
- "@prosopo/datasets": "3.1.45",
33
- "@prosopo/env": "3.6.7",
34
- "@prosopo/ipinfo": "0.2.31",
35
- "@prosopo/keyring": "2.9.51",
36
- "@prosopo/load-balancer": "2.10.5",
31
+ "@prosopo/database": "3.15.8",
32
+ "@prosopo/datasets": "3.1.46",
33
+ "@prosopo/env": "3.6.8",
34
+ "@prosopo/ipinfo": "0.2.32",
35
+ "@prosopo/keyring": "2.9.52",
36
+ "@prosopo/load-balancer": "2.10.6",
37
37
  "@prosopo/redis-client": "1.0.27",
38
38
  "@prosopo/locale": "3.2.6",
39
- "@prosopo/types": "4.9.4",
40
- "@prosopo/types-database": "4.11.6",
41
- "@prosopo/types-env": "2.10.6",
42
- "@prosopo/user-access-policy": "3.11.2",
39
+ "@prosopo/types": "4.9.5",
40
+ "@prosopo/types-database": "4.11.7",
41
+ "@prosopo/types-env": "2.10.7",
42
+ "@prosopo/user-access-policy": "3.11.3",
43
43
  "@prosopo/util": "3.3.3",
44
44
  "@prosopo/util-crypto": "13.5.30",
45
45
  "cron": "3.1.7",