@eggjs/security 5.0.0-beta.20 → 5.0.0-beta.21

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 (113) hide show
  1. package/dist/agent.d.ts +5 -9
  2. package/dist/agent.js +11 -15
  3. package/dist/app/extend/agent.d.ts +4 -9
  4. package/dist/app/extend/agent.js +8 -12
  5. package/dist/app/extend/application.d.ts +8 -4
  6. package/dist/app/extend/application.js +32 -4
  7. package/dist/app/extend/context.d.ts +58 -4
  8. package/dist/app/extend/context.js +244 -4
  9. package/dist/app/extend/helper.d.ts +10 -22
  10. package/dist/app/extend/helper.js +5 -17
  11. package/dist/app/extend/response.d.ts +35 -4
  12. package/dist/app/extend/response.js +83 -5
  13. package/dist/app/middleware/securities.d.ts +4 -8
  14. package/dist/app/middleware/securities.js +52 -49
  15. package/dist/app.d.ts +5 -9
  16. package/dist/app.js +26 -24
  17. package/dist/config/config.default.d.ts +867 -2
  18. package/dist/config/config.default.js +366 -3
  19. package/dist/config/config.local.d.ts +2 -5
  20. package/dist/config/config.local.js +8 -5
  21. package/dist/index.d.ts +4 -5
  22. package/dist/index.js +5 -8
  23. package/dist/lib/extend/safe_curl.d.ts +16 -3
  24. package/dist/lib/extend/safe_curl.js +25 -3
  25. package/dist/lib/helper/cliFilter.d.ts +4 -2
  26. package/dist/lib/helper/cliFilter.js +17 -3
  27. package/dist/lib/helper/escape.d.ts +2 -2
  28. package/dist/lib/helper/escape.js +3 -3
  29. package/dist/lib/helper/escapeShellArg.d.ts +1 -2
  30. package/dist/lib/helper/escapeShellArg.js +5 -3
  31. package/dist/lib/helper/escapeShellCmd.d.ts +1 -2
  32. package/dist/lib/helper/escapeShellCmd.js +14 -3
  33. package/dist/lib/helper/index.d.ts +19 -22
  34. package/dist/lib/helper/index.js +21 -13
  35. package/dist/lib/helper/shtml.d.ts +2 -2
  36. package/dist/lib/helper/shtml.js +69 -4
  37. package/dist/lib/helper/sjs.d.ts +4 -2
  38. package/dist/lib/helper/sjs.js +49 -3
  39. package/dist/lib/helper/sjson.d.ts +1 -2
  40. package/dist/lib/helper/sjson.js +39 -4
  41. package/dist/lib/helper/spath.d.ts +5 -2
  42. package/dist/lib/helper/spath.js +25 -3
  43. package/dist/lib/helper/surl.d.ts +2 -2
  44. package/dist/lib/helper/surl.js +30 -3
  45. package/dist/lib/middlewares/csp.d.ts +3 -6
  46. package/dist/lib/middlewares/csp.js +57 -4
  47. package/dist/lib/middlewares/csrf.d.ts +3 -6
  48. package/dist/lib/middlewares/csrf.js +37 -4
  49. package/dist/lib/middlewares/dta.d.ts +2 -5
  50. package/dist/lib/middlewares/dta.js +12 -4
  51. package/dist/lib/middlewares/hsts.d.ts +3 -6
  52. package/dist/lib/middlewares/hsts.js +21 -4
  53. package/dist/lib/middlewares/index.d.ts +11 -16
  54. package/dist/lib/middlewares/index.js +23 -14
  55. package/dist/lib/middlewares/methodnoallow.d.ts +2 -5
  56. package/dist/lib/middlewares/methodnoallow.js +20 -3
  57. package/dist/lib/middlewares/noopen.d.ts +3 -6
  58. package/dist/lib/middlewares/noopen.js +15 -4
  59. package/dist/lib/middlewares/nosniff.d.ts +3 -6
  60. package/dist/lib/middlewares/nosniff.js +28 -4
  61. package/dist/lib/middlewares/referrerPolicy.d.ts +3 -6
  62. package/dist/lib/middlewares/referrerPolicy.js +35 -4
  63. package/dist/lib/middlewares/xframe.d.ts +3 -6
  64. package/dist/lib/middlewares/xframe.js +17 -4
  65. package/dist/lib/middlewares/xssProtection.d.ts +3 -6
  66. package/dist/lib/middlewares/xssProtection.js +14 -4
  67. package/dist/lib/utils.d.ts +12 -17
  68. package/dist/lib/utils.js +192 -3
  69. package/dist/types.d.ts +36 -3
  70. package/dist/types.js +2 -3
  71. package/package.json +6 -6
  72. package/dist/application-COC0mYEe.js +0 -32
  73. package/dist/application-n5bk2L_z.d.ts +0 -12
  74. package/dist/cliFilter-7BSD8Nc_.js +0 -18
  75. package/dist/cliFilter-DKZxCxSe.d.ts +0 -7
  76. package/dist/config.default-AcwQOAG0.js +0 -166
  77. package/dist/config.default-D8v08Vox.d.ts +0 -870
  78. package/dist/context-C-N1IY85.d.ts +0 -95
  79. package/dist/context-e-QJTKfq.js +0 -191
  80. package/dist/csp-BW5AJd_f.js +0 -46
  81. package/dist/csrf-9aSLHiby.js +0 -33
  82. package/dist/dta-DVAKEpJ3.js +0 -13
  83. package/dist/escape-Dex_Pk9e.d.ts +0 -2
  84. package/dist/escape-p8-cW8c_.js +0 -7
  85. package/dist/escapeShellArg-BnzDicAC.d.ts +0 -4
  86. package/dist/escapeShellArg-C0v1ZeCl.js +0 -7
  87. package/dist/escapeShellCmd-CkAdyhtO.js +0 -15
  88. package/dist/escapeShellCmd-DQZZIHde.d.ts +0 -4
  89. package/dist/helper-DylzfQ_5.js +0 -25
  90. package/dist/hsts-CWMKNTEh.js +0 -19
  91. package/dist/methodnoallow-BAZONArS.js +0 -15
  92. package/dist/middlewares-CkQjv8t0.js +0 -27
  93. package/dist/noopen-C3jUBwoH.js +0 -17
  94. package/dist/nosniff-CcLkhX2I.js +0 -27
  95. package/dist/referrerPolicy-D4Uafq6c.js +0 -31
  96. package/dist/response-BFnHAJrV.js +0 -69
  97. package/dist/safe_curl-UlViaxoF.js +0 -19
  98. package/dist/safe_curl-mqZZv_YQ.d.ts +0 -20
  99. package/dist/shtml-CAquTzgV.d.ts +0 -6
  100. package/dist/shtml-CgF4kOx-.js +0 -53
  101. package/dist/sjs-Cbmkk5xS.js +0 -36
  102. package/dist/sjs-QZIJYS71.d.ts +0 -7
  103. package/dist/sjson-BetFnVR6.js +0 -32
  104. package/dist/sjson-O-vKJPws.d.ts +0 -4
  105. package/dist/spath-Bu9sy6Kz.js +0 -16
  106. package/dist/spath-DseDPHxf.d.ts +0 -7
  107. package/dist/surl-ClleTea7.js +0 -25
  108. package/dist/surl-JV70X_RZ.d.ts +0 -6
  109. package/dist/types-BZR2U30p.d.ts +0 -38
  110. package/dist/types-DnJpiSJb.js +0 -1
  111. package/dist/utils-Cajs5P8M.js +0 -127
  112. package/dist/xframe-q9fEZkVI.js +0 -18
  113. package/dist/xssProtection-D5QsHX-e.js +0 -17
@@ -1,3 +1,366 @@
1
- import { LookupAddress, SecurityConfig, SecurityHelperConfig, SecurityMiddlewareName, config_default_default } from "../config.default-AcwQOAG0.js";
2
-
3
- export { LookupAddress, SecurityConfig, SecurityHelperConfig, SecurityMiddlewareName, config_default_default as default };
1
+ import z from 'zod';
2
+ import { Context } from 'egg';
3
+ const CSRFSupportRequestItem = z.object({
4
+ path: z.instanceof(RegExp),
5
+ methods: z.array(z.string()),
6
+ });
7
+ export const LookupAddress = z.object({
8
+ address: z.string(),
9
+ family: z.number(),
10
+ });
11
+ const LookupAddressAndStringArray = z.union([z.string(), LookupAddress]).array();
12
+ const SSRFCheckAddressFunction = z
13
+ .function()
14
+ .args(z.union([z.string(), LookupAddress, LookupAddressAndStringArray]), z.union([z.number(), z.string()]), z.string())
15
+ .returns(z.boolean());
16
+ export const SecurityMiddlewareName = z.enum([
17
+ 'csrf',
18
+ 'hsts',
19
+ 'methodnoallow',
20
+ 'noopen',
21
+ 'nosniff',
22
+ 'csp',
23
+ 'xssProtection',
24
+ 'xframe',
25
+ 'dta',
26
+ ]);
27
+ /**
28
+ * (ctx) => boolean
29
+ */
30
+ const IgnoreOrMatchHandler = z.function().args(z.instanceof(Context)).returns(z.boolean());
31
+ const IgnoreOrMatch = z.union([z.string(), z.instanceof(RegExp), IgnoreOrMatchHandler]);
32
+ const IgnoreOrMatchOption = z.union([IgnoreOrMatch, IgnoreOrMatch.array()]).optional();
33
+ export const SecurityConfig = z.object({
34
+ /**
35
+ * domain white list
36
+ *
37
+ * Default to `[]`
38
+ */
39
+ domainWhiteList: z.array(z.string()).default([]),
40
+ /**
41
+ * protocol white list
42
+ *
43
+ * Default to `[]`
44
+ */
45
+ protocolWhiteList: z.array(z.string()).default([]),
46
+ /**
47
+ * default open security middleware
48
+ *
49
+ * Default to `'csrf,hsts,methodnoallow,noopen,nosniff,csp,xssProtection,xframe,dta'`
50
+ */
51
+ defaultMiddleware: z.union([z.string(), z.array(SecurityMiddlewareName)]).default(SecurityMiddlewareName.options),
52
+ /**
53
+ * whether defend csrf attack
54
+ */
55
+ csrf: z.preprocess(val => {
56
+ // transform old config, `csrf: false` to `csrf: { enable: false }`
57
+ if (typeof val === 'boolean') {
58
+ return { enable: val };
59
+ }
60
+ return val;
61
+ }, z
62
+ .object({
63
+ match: IgnoreOrMatchOption,
64
+ ignore: IgnoreOrMatchOption,
65
+ /**
66
+ * Default to `true`
67
+ */
68
+ enable: z.boolean().default(true),
69
+ /**
70
+ * csrf token detect source type
71
+ *
72
+ * Default to `'ctoken'`
73
+ */
74
+ type: z.enum(['ctoken', 'referer', 'all', 'any']).default('ctoken'),
75
+ /**
76
+ * ignore json request
77
+ *
78
+ * Default to `false`
79
+ *
80
+ * @deprecated is not safe now, don't use it
81
+ */
82
+ ignoreJSON: z.boolean().default(false),
83
+ /**
84
+ * csrf token cookie name
85
+ *
86
+ * Default to `'csrfToken'`
87
+ */
88
+ cookieName: z.union([z.string(), z.array(z.string())]).default('csrfToken'),
89
+ /**
90
+ * csrf token session name
91
+ *
92
+ * Default to `'csrfToken'`
93
+ */
94
+ sessionName: z.string().default('csrfToken'),
95
+ /**
96
+ * csrf token request header name
97
+ *
98
+ * Default to `'x-csrf-token'`
99
+ */
100
+ headerName: z.string().default('x-csrf-token'),
101
+ /**
102
+ * csrf token request body field name
103
+ *
104
+ * Default to `'_csrf'`
105
+ */
106
+ bodyName: z.union([z.string(), z.array(z.string())]).default('_csrf'),
107
+ /**
108
+ * csrf token request query field name
109
+ *
110
+ * Default to `'_csrf'`
111
+ */
112
+ queryName: z.union([z.string(), z.array(z.string())]).default('_csrf'),
113
+ /**
114
+ * rotate csrf token when it is invalid
115
+ *
116
+ * Default to `false`
117
+ */
118
+ rotateWhenInvalid: z.boolean().default(false),
119
+ /**
120
+ * These config works when using `'ctoken'` type
121
+ *
122
+ * Default to `false`
123
+ */
124
+ useSession: z.boolean().default(false),
125
+ /**
126
+ * csrf token cookie domain setting,
127
+ * can be `(ctx) => string` or `string`
128
+ *
129
+ * Default to `undefined`, auto set the cookie domain in the safe way
130
+ */
131
+ cookieDomain: z.union([z.string(), z.function().args(z.instanceof(Context)).returns(z.string())]).optional(),
132
+ /**
133
+ * csrf token check requests config
134
+ */
135
+ supportedRequests: z
136
+ .array(CSRFSupportRequestItem)
137
+ .default([{ path: /^\//, methods: ['POST', 'PATCH', 'DELETE', 'PUT', 'CONNECT'] }]),
138
+ /**
139
+ * referer or origin header white list.
140
+ * It only works when using `'referer'` type
141
+ *
142
+ * Default to `[]`
143
+ */
144
+ refererWhiteList: z.array(z.string()).default([]),
145
+ /**
146
+ * csrf token cookie options
147
+ *
148
+ * Default to `{
149
+ * signed: false,
150
+ * httpOnly: false,
151
+ * overwrite: true,
152
+ * }`
153
+ */
154
+ cookieOptions: z
155
+ .object({
156
+ signed: z.boolean(),
157
+ httpOnly: z.boolean(),
158
+ overwrite: z.boolean(),
159
+ })
160
+ .default({
161
+ signed: false,
162
+ httpOnly: false,
163
+ overwrite: true,
164
+ }),
165
+ })
166
+ .default({})),
167
+ /**
168
+ * whether enable X-Frame-Options response header
169
+ */
170
+ xframe: z
171
+ .object({
172
+ match: IgnoreOrMatchOption,
173
+ ignore: IgnoreOrMatchOption,
174
+ /**
175
+ * Default to `true`
176
+ */
177
+ enable: z.boolean().default(true),
178
+ /**
179
+ * X-Frame-Options value, can be `'DENY'`, `'SAMEORIGIN'`, `'ALLOW-FROM https://example.com'`
180
+ *
181
+ * Default to `'SAMEORIGIN'`
182
+ */
183
+ value: z.string().default('SAMEORIGIN'),
184
+ })
185
+ .default({}),
186
+ /**
187
+ * whether enable Strict-Transport-Security response header
188
+ */
189
+ hsts: z
190
+ .object({
191
+ match: IgnoreOrMatchOption,
192
+ ignore: IgnoreOrMatchOption,
193
+ /**
194
+ * Default to `false`
195
+ */
196
+ enable: z.boolean().default(false),
197
+ /**
198
+ * Max age of Strict-Transport-Security in seconds
199
+ *
200
+ * Default to `365 * 24 * 3600`
201
+ */
202
+ maxAge: z.number().default(365 * 24 * 3600),
203
+ /**
204
+ * Whether include sub domains
205
+ *
206
+ * Default to `false`
207
+ */
208
+ includeSubdomains: z.boolean().default(false),
209
+ })
210
+ .default({}),
211
+ /**
212
+ * whether enable Http Method filter
213
+ */
214
+ methodnoallow: z
215
+ .object({
216
+ match: IgnoreOrMatchOption,
217
+ ignore: IgnoreOrMatchOption,
218
+ /**
219
+ * Default to `true`
220
+ */
221
+ enable: z.boolean().default(true),
222
+ })
223
+ .default({}),
224
+ /**
225
+ * whether enable IE automatically download open
226
+ */
227
+ noopen: z
228
+ .object({
229
+ match: IgnoreOrMatchOption,
230
+ ignore: IgnoreOrMatchOption,
231
+ /**
232
+ * Default to `true`
233
+ */
234
+ enable: z.boolean().default(true),
235
+ })
236
+ .default({}),
237
+ /**
238
+ * whether enable IE8 automatically detect mime
239
+ */
240
+ nosniff: z
241
+ .object({
242
+ match: IgnoreOrMatchOption,
243
+ ignore: IgnoreOrMatchOption,
244
+ /**
245
+ * Default to `true`
246
+ */
247
+ enable: z.boolean().default(true),
248
+ })
249
+ .default({}),
250
+ /**
251
+ * whether enable IE8 XSS Filter
252
+ */
253
+ xssProtection: z
254
+ .object({
255
+ match: IgnoreOrMatchOption,
256
+ ignore: IgnoreOrMatchOption,
257
+ /**
258
+ * Default to `true`
259
+ */
260
+ enable: z.boolean().default(true),
261
+ /**
262
+ * X-XSS-Protection response header value
263
+ *
264
+ * Default to `'1; mode=block'`
265
+ */
266
+ value: z.coerce.string().default('1; mode=block'),
267
+ })
268
+ .default({}),
269
+ /**
270
+ * content security policy config
271
+ */
272
+ csp: z
273
+ .object({
274
+ match: IgnoreOrMatchOption,
275
+ ignore: IgnoreOrMatchOption,
276
+ /**
277
+ * Default to `false`
278
+ */
279
+ enable: z.boolean().default(false),
280
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP#csp_overview
281
+ policy: z.record(z.union([z.string(), z.array(z.string()), z.boolean()])).default({}),
282
+ /**
283
+ * whether enable report only mode
284
+ * Default to `undefined`
285
+ */
286
+ reportOnly: z.boolean().optional(),
287
+ /**
288
+ * whether support IE
289
+ * Default to `undefined`
290
+ */
291
+ supportIE: z.boolean().optional(),
292
+ })
293
+ .default({}),
294
+ /**
295
+ * whether enable referrer policy
296
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy
297
+ */
298
+ referrerPolicy: z
299
+ .object({
300
+ match: IgnoreOrMatchOption,
301
+ ignore: IgnoreOrMatchOption,
302
+ /**
303
+ * Default to `false`
304
+ */
305
+ enable: z.boolean().default(false),
306
+ /**
307
+ * referrer policy value
308
+ *
309
+ * Default to `'no-referrer-when-downgrade'`
310
+ */
311
+ value: z.string().default('no-referrer-when-downgrade'),
312
+ })
313
+ .default({}),
314
+ /**
315
+ * whether enable auto avoid directory traversal attack
316
+ */
317
+ dta: z
318
+ .object({
319
+ match: IgnoreOrMatchOption,
320
+ ignore: IgnoreOrMatchOption,
321
+ /**
322
+ * Default to `true`
323
+ */
324
+ enable: z.boolean().default(true),
325
+ })
326
+ .default({}),
327
+ ssrf: z
328
+ .object({
329
+ ipBlackList: z.array(z.string()).optional(),
330
+ ipExceptionList: z.array(z.string()).optional(),
331
+ hostnameExceptionList: z.array(z.string()).optional(),
332
+ checkAddress: SSRFCheckAddressFunction.optional(),
333
+ })
334
+ .default({}),
335
+ match: z.union([IgnoreOrMatch, IgnoreOrMatch.array()]).optional(),
336
+ ignore: z.union([IgnoreOrMatch, IgnoreOrMatch.array()]).optional(),
337
+ __protocolWhiteListSet: z.set(z.string()).optional().readonly(),
338
+ });
339
+ const SecurityHelperOnTagAttrHandler = z
340
+ .function()
341
+ .args(z.string(), z.string(), z.string(), z.boolean())
342
+ .returns(z.union([z.string(), z.void()]));
343
+ export const SecurityHelperConfig = z.object({
344
+ shtml: z
345
+ .object({
346
+ /**
347
+ * tag attribute white list
348
+ */
349
+ whiteList: z.record(z.array(z.string())).optional(),
350
+ /**
351
+ * domain white list
352
+ * @deprecated use `config.security.domainWhiteList` instead
353
+ */
354
+ domainWhiteList: z.array(z.string()).optional(),
355
+ /**
356
+ * tag attribute handler
357
+ */
358
+ onTagAttr: SecurityHelperOnTagAttrHandler.optional(),
359
+ })
360
+ .default({}),
361
+ });
362
+ export default {
363
+ security: SecurityConfig.parse({}),
364
+ helper: SecurityHelperConfig.parse({}),
365
+ };
366
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQztBQUNwQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRTlCLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0QyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDMUIsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0NBQzdCLENBQUMsQ0FBQztBQUdILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3BDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ25CLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0NBQ25CLENBQUMsQ0FBQztBQUdILE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ2pGLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQztLQUMvQixRQUFRLEVBQUU7S0FDVixJQUFJLENBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFhLEVBQUUsMkJBQTJCLENBQUMsQ0FBQyxFQUNqRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQ2pDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDWDtLQUNBLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENB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
@@ -1,6 +1,3 @@
1
- import { PartialEggConfig } from "egg";
2
-
3
- //#region src/config/config.local.d.ts
1
+ import type { PartialEggConfig } from 'egg';
4
2
  declare const _default: PartialEggConfig;
5
- //#endregion
6
- export { _default as default };
3
+ export default _default;
@@ -1,5 +1,8 @@
1
- //#region src/config/config.local.ts
2
- var config_local_default = { security: { hsts: { enable: false } } };
3
-
4
- //#endregion
5
- export { config_local_default as default };
1
+ export default {
2
+ security: {
3
+ hsts: {
4
+ enable: false,
5
+ },
6
+ },
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWcubG9jYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsZUFBZTtJQUNiLFFBQVEsRUFBRTtRQUNSLElBQUksRUFBRTtZQUNKLE1BQU0sRUFBRSxLQUFLO1NBQ2Q7S0FDRjtDQUNrQixDQUFDIn0=
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import "./config.default-D8v08Vox.js";
2
- import "./safe_curl-mqZZv_YQ.js";
3
- import "./application-n5bk2L_z.js";
4
- import "./context-C-N1IY85.js";
5
- import "./types-BZR2U30p.js";
1
+ import './app/extend/application.ts';
2
+ import './app/extend/context.ts';
3
+ import './app/extend/response.ts';
4
+ import './types.ts';
package/dist/index.js CHANGED
@@ -1,8 +1,5 @@
1
- import "./utils-Cajs5P8M.js";
2
- import "./safe_curl-UlViaxoF.js";
3
- import "./application-COC0mYEe.js";
4
- import "./context-e-QJTKfq.js";
5
- import "./response-BFnHAJrV.js";
6
- import "./types-DnJpiSJb.js";
7
-
8
- export { };
1
+ import "./app/extend/application.js";
2
+ import "./app/extend/context.js";
3
+ import "./app/extend/response.js";
4
+ import "./types.js";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxZQUFZLENBQUMifQ==
@@ -1,3 +1,16 @@
1
- import "../../config.default-D8v08Vox.js";
2
- import { HttpClientOptions, HttpClientRequestURL, HttpClientResponse, safeCurlForApplication } from "../../safe_curl-mqZZv_YQ.js";
3
- export { HttpClientOptions, HttpClientRequestURL, HttpClientResponse, safeCurlForApplication };
1
+ import type { EggApplicationCore } from 'egg';
2
+ import type { SSRFCheckAddressFunction } from '../../config/config.default.ts';
3
+ type HttpClient = EggApplicationCore['HttpClient'];
4
+ type HttpClientParameters = Parameters<HttpClient['prototype']['request']>;
5
+ export type HttpClientRequestURL = HttpClientParameters[0];
6
+ export type HttpClientOptions = HttpClientParameters[1] & {
7
+ checkAddress?: SSRFCheckAddressFunction;
8
+ };
9
+ export type HttpClientResponse<T = any> = Awaited<ReturnType<HttpClient['prototype']['request']>> & {
10
+ data: T;
11
+ };
12
+ /**
13
+ * safe curl with ssrf protection
14
+ */
15
+ export declare function safeCurlForApplication<T = any>(app: EggApplicationCore, url: HttpClientRequestURL, options?: HttpClientOptions): Promise<import("egg").HttpClientResponse<T>>;
16
+ export {};
@@ -1,3 +1,25 @@
1
- import { safeCurlForApplication } from "../../safe_curl-UlViaxoF.js";
2
-
3
- export { safeCurlForApplication };
1
+ const SSRF_HTTPCLIENT = Symbol('SSRF_HTTPCLIENT');
2
+ /**
3
+ * safe curl with ssrf protection
4
+ */
5
+ export async function safeCurlForApplication(app, url, options = {}) {
6
+ const ssrfConfig = app.config.security.ssrf;
7
+ if (ssrfConfig?.checkAddress) {
8
+ options.checkAddress = ssrfConfig.checkAddress;
9
+ }
10
+ else {
11
+ app.logger.warn('[@eggjs/security] please configure `config.security.ssrf` first');
12
+ }
13
+ if (ssrfConfig?.checkAddress) {
14
+ let httpClient = app[SSRF_HTTPCLIENT];
15
+ // use the new httpClient init with checkAddress
16
+ if (!httpClient) {
17
+ httpClient = app[SSRF_HTTPCLIENT] = app.createHttpClient({
18
+ checkAddress: ssrfConfig.checkAddress,
19
+ });
20
+ }
21
+ return await httpClient.request(url, options);
22
+ }
23
+ return await app.curl(url, options);
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZV9jdXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9leHRlbmQvc2FmZV9jdXJsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBUWxEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsR0FBdUIsRUFDdkIsR0FBeUIsRUFDekIsVUFBNkIsRUFBRTtJQUUvQixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDNUMsSUFBSSxVQUFVLEVBQUUsWUFBWSxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO0lBQ2pELENBQUM7U0FBTSxDQUFDO1FBQ04sR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUVBQWlFLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsWUFBWSxFQUFFLENBQUM7UUFDN0IsSUFBSSxVQUFVLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBdUQsQ0FBQztRQUM1RixnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLFVBQVUsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDO2dCQUN2RCxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7YUFDdEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sTUFBTSxVQUFVLENBQUMsT0FBTyxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsT0FBTyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3pDLENBQUMifQ==
@@ -1,2 +1,4 @@
1
- import { cliFilter } from "../../cliFilter-DKZxCxSe.js";
2
- export { cliFilter as default };
1
+ /**
2
+ * remote command execution
3
+ */
4
+ export default function cliFilter(text: string): string;
@@ -1,3 +1,17 @@
1
- import { cliFilter } from "../../cliFilter-7BSD8Nc_.js";
2
-
3
- export { cliFilter as default };
1
+ /**
2
+ * remote command execution
3
+ */
4
+ const BASIC_ALPHABETS = new Set('abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ.-_'.split(''));
5
+ export default function cliFilter(text) {
6
+ const str = '' + text;
7
+ let res = '';
8
+ let ascii;
9
+ for (let index = 0; index < str.length; index++) {
10
+ ascii = str[index];
11
+ if (BASIC_ALPHABETS.has(ascii)) {
12
+ res += ascii;
13
+ }
14
+ }
15
+ return res;
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpRmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9oZWxwZXIvY2xpRmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQUMsbUVBQW1FLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFL0csTUFBTSxDQUFDLE9BQU8sVUFBVSxTQUFTLENBQUMsSUFBWTtJQUM1QyxNQUFNLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNiLElBQUksS0FBSyxDQUFDO0lBRVYsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNoRCxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9CLEdBQUcsSUFBSSxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyJ9
@@ -1,2 +1,2 @@
1
- import { escapeHTML } from "../../escape-Dex_Pk9e.js";
2
- export { escapeHTML as default };
1
+ import escapeHTML from 'escape-html';
2
+ export default escapeHTML;
@@ -1,3 +1,3 @@
1
- import { escape_default } from "../../escape-p8-cW8c_.js";
2
-
3
- export { escape_default as default };
1
+ import escapeHTML from 'escape-html';
2
+ export default escapeHTML;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9oZWxwZXIvZXNjYXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQztBQUVyQyxlQUFlLFVBQVUsQ0FBQyJ9
@@ -1,2 +1 @@
1
- import { escapeShellArg } from "../../escapeShellArg-BnzDicAC.js";
2
- export { escapeShellArg as default };
1
+ export default function escapeShellArg(text: string): string;
@@ -1,3 +1,5 @@
1
- import { escapeShellArg } from "../../escapeShellArg-C0v1ZeCl.js";
2
-
3
- export { escapeShellArg as default };
1
+ export default function escapeShellArg(text) {
2
+ const str = '' + text;
3
+ return "'" + str.replace(/\\/g, '\\\\').replace(/'/g, "\\'") + "'";
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYXBlU2hlbGxBcmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2hlbHBlci9lc2NhcGVTaGVsbEFyZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsT0FBTyxVQUFVLGNBQWMsQ0FBQyxJQUFZO0lBQ2pELE1BQU0sR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDdEIsT0FBTyxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7QUFDckUsQ0FBQyJ9
@@ -1,2 +1 @@
1
- import { escapeShellCmd } from "../../escapeShellCmd-DQZZIHde.js";
2
- export { escapeShellCmd as default };
1
+ export default function escapeShellCmd(text: string): string;
@@ -1,3 +1,14 @@
1
- import { escapeShellCmd } from "../../escapeShellCmd-CkAdyhtO.js";
2
-
3
- export { escapeShellCmd as default };
1
+ const BASIC_ALPHABETS = new Set('#&;`|*?~<>^()[]{}$;\'",\x0A\xFF'.split(''));
2
+ export default function escapeShellCmd(text) {
3
+ const str = '' + text;
4
+ let res = '';
5
+ let ascii;
6
+ for (let index = 0; index < str.length; index++) {
7
+ ascii = str[index];
8
+ if (!BASIC_ALPHABETS.has(ascii)) {
9
+ res += ascii;
10
+ }
11
+ }
12
+ return res;
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYXBlU2hlbGxDbWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2hlbHBlci9lc2NhcGVTaGVsbENtZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUU3RSxNQUFNLENBQUMsT0FBTyxVQUFVLGNBQWMsQ0FBQyxJQUFZO0lBQ2pELE1BQU0sR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDdEIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2IsSUFBSSxLQUFLLENBQUM7SUFFVixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ2hELEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxHQUFHLElBQUksS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMifQ==
@@ -1,24 +1,21 @@
1
- import { cliFilter } from "../../cliFilter-DKZxCxSe.js";
2
- import { escapeShellArg } from "../../escapeShellArg-BnzDicAC.js";
3
- import { escapeShellCmd } from "../../escapeShellCmd-DQZZIHde.js";
4
- import { shtml } from "../../shtml-CAquTzgV.js";
5
- import { escapeJavaScript } from "../../sjs-QZIJYS71.js";
6
- import { jsonEscape } from "../../sjson-O-vKJPws.js";
7
- import { pathFilter } from "../../spath-DseDPHxf.js";
8
- import { surl } from "../../surl-JV70X_RZ.js";
9
- import { escapeHTML } from "../../escape-Dex_Pk9e.js";
10
-
11
- //#region src/lib/helper/index.d.ts
1
+ import cliFilter from './cliFilter.ts';
2
+ import escape from './escape.ts';
3
+ import escapeShellArg from './escapeShellArg.ts';
4
+ import escapeShellCmd from './escapeShellCmd.ts';
5
+ import shtml from './shtml.ts';
6
+ import sjs from './sjs.ts';
7
+ import sjson from './sjson.ts';
8
+ import spath from './spath.ts';
9
+ import surl from './surl.ts';
12
10
  declare const _default: {
13
- cliFilter: typeof cliFilter;
14
- escape: typeof escapeHTML;
15
- escapeShellArg: typeof escapeShellArg;
16
- escapeShellCmd: typeof escapeShellCmd;
17
- shtml: typeof shtml;
18
- sjs: typeof escapeJavaScript;
19
- sjson: typeof jsonEscape;
20
- spath: typeof pathFilter;
21
- surl: typeof surl;
11
+ cliFilter: typeof cliFilter;
12
+ escape: typeof escape;
13
+ escapeShellArg: typeof escapeShellArg;
14
+ escapeShellCmd: typeof escapeShellCmd;
15
+ shtml: typeof shtml;
16
+ sjs: typeof sjs;
17
+ sjson: typeof sjson;
18
+ spath: typeof spath;
19
+ surl: typeof surl;
22
20
  };
23
- //#endregion
24
- export { _default as default };
21
+ export default _default;
@@ -1,13 +1,21 @@
1
- import "../../utils-Cajs5P8M.js";
2
- import "../../cliFilter-7BSD8Nc_.js";
3
- import "../../escape-p8-cW8c_.js";
4
- import "../../escapeShellArg-C0v1ZeCl.js";
5
- import "../../escapeShellCmd-CkAdyhtO.js";
6
- import "../../shtml-CgF4kOx-.js";
7
- import "../../sjs-Cbmkk5xS.js";
8
- import "../../sjson-BetFnVR6.js";
9
- import "../../spath-Bu9sy6Kz.js";
10
- import "../../surl-ClleTea7.js";
11
- import { helper_default } from "../../helper-DylzfQ_5.js";
12
-
13
- export { helper_default as default };
1
+ import cliFilter from "./cliFilter.js";
2
+ import escape from "./escape.js";
3
+ import escapeShellArg from "./escapeShellArg.js";
4
+ import escapeShellCmd from "./escapeShellCmd.js";
5
+ import shtml from "./shtml.js";
6
+ import sjs from "./sjs.js";
7
+ import sjson from "./sjson.js";
8
+ import spath from "./spath.js";
9
+ import surl from "./surl.js";
10
+ export default {
11
+ cliFilter,
12
+ escape,
13
+ escapeShellArg,
14
+ escapeShellCmd,
15
+ shtml,
16
+ sjs,
17
+ sjson,
18
+ spath,
19
+ surl,
20
+ };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2hlbHBlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUMzQixPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDL0IsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUU3QixlQUFlO0lBQ2IsU0FBUztJQUNULE1BQU07SUFDTixjQUFjO0lBQ2QsY0FBYztJQUNkLEtBQUs7SUFDTCxHQUFHO0lBQ0gsS0FBSztJQUNMLEtBQUs7SUFDTCxJQUFJO0NBQ0wsQ0FBQyJ9