codekingpro/portable-devtools
114k
1const TYPE_REGEX = 'regex'
2const TYPE_URL = 'url'
3const TYPE_PATH = 'path'
4
5const NPM_SECRET = {
6 type: TYPE_REGEX,
7 pattern: /\b(npms?_)[a-zA-Z0-9]{36,48}\b/gi,
8 replacement: `[REDACTED_NPM_SECRET]`,
9}
10
11const AUTH_HEADER = {
12 type: TYPE_REGEX,
13 pattern: /\b(Basic\s+|Bearer\s+)[\w+=\-.]+\b/gi,
14 replacement: `[REDACTED_AUTH_HEADER]`,
15}
16
17const JSON_WEB_TOKEN = {
18 type: TYPE_REGEX,
19 pattern: /\b[A-Za-z0-9-_]{10,}(?!\.\d+\.)\.[A-Za-z0-9-_]{3,}\.[A-Za-z0-9-_]{20,}\b/gi,
20 replacement: `[REDACTED_JSON_WEB_TOKEN]`,
21}
22
23const UUID = {
24 type: TYPE_REGEX,
25 pattern: /\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,
26 replacement: `[REDACTED_UUID]`,
27}
28
29const URL_MATCHER = {
30 type: TYPE_REGEX,
31 pattern: /(?:https?|ftp):\/\/[^\s/"$.?#].[^\s"]*/gi,
32 replacement: '[REDACTED_URL]',
33}
34
35const DEEP_HEADER_AUTHORIZATION = {
36 type: TYPE_PATH,
37 predicate: ({ path }) => path.endsWith('.headers.authorization'),
38 replacement: '[REDACTED_HEADER_AUTHORIZATION]',
39}
40
41const DEEP_HEADER_SET_COOKIE = {
42 type: TYPE_PATH,
43 predicate: ({ path }) => path.endsWith('.headers.set-cookie'),
44 replacement: '[REDACTED_HEADER_SET_COOKIE]',
45}
46
47const DEEP_HEADER_COOKIE = {
48 type: TYPE_PATH,
49 predicate: ({ path }) => path.endsWith('.headers.cookie'),
50 replacement: '[REDACTED_HEADER_COOKIE]',
51}
52
53const REWRITE_REQUEST = {
54 type: TYPE_PATH,
55 predicate: ({ path }) => path.endsWith('.request'),
56 replacement: (input) => ({
57 method: input?.method,
58 path: input?.path,
59 headers: input?.headers,
60 url: input?.url,
61 }),
62}
63
64const REWRITE_RESPONSE = {
65 type: TYPE_PATH,
66 predicate: ({ path }) => path.endsWith('.response'),
67 replacement: (input) => ({
68 data: input?.data,
69 status: input?.status,
70 headers: input?.headers,
71 }),
72}
73
74module.exports = {
75 TYPE_REGEX,
76 TYPE_URL,
77 TYPE_PATH,
78 NPM_SECRET,
79 AUTH_HEADER,
80 JSON_WEB_TOKEN,
81 UUID,
82 URL_MATCHER,
83 DEEP_HEADER_AUTHORIZATION,
84 DEEP_HEADER_SET_COOKIE,
85 DEEP_HEADER_COOKIE,
86 REWRITE_REQUEST,
87 REWRITE_RESPONSE,
88}
89 