marcattacks 2.2.4 → 2.2.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 (64) hide show
  1. package/README.md +17 -2
  2. package/dist/attacker.d.ts +24 -1
  3. package/dist/attacker.d.ts.map +1 -1
  4. package/dist/attacker.js +141 -126
  5. package/dist/attacker.js.map +1 -1
  6. package/dist/command.d.ts +3 -0
  7. package/dist/command.d.ts.map +1 -0
  8. package/dist/{index.js → command.js} +13 -3
  9. package/dist/command.js.map +1 -0
  10. package/dist/demo.d.ts +2 -0
  11. package/dist/demo.d.ts.map +1 -0
  12. package/dist/demo.js +8 -0
  13. package/dist/demo.js.map +1 -0
  14. package/dist/globber.d.ts +3 -0
  15. package/dist/globber.d.ts.map +1 -0
  16. package/dist/globber.js +131 -0
  17. package/dist/globber.js.map +1 -0
  18. package/dist/output/json.d.ts.map +1 -1
  19. package/dist/output/json.js +2 -7
  20. package/dist/output/json.js.map +1 -1
  21. package/dist/output/rdf.d.ts.map +1 -1
  22. package/dist/output/rdf.js +1 -4
  23. package/dist/output/rdf.js.map +1 -1
  24. package/dist/output/xml.d.ts.map +1 -1
  25. package/dist/output/xml.js +2 -6
  26. package/dist/output/xml.js.map +1 -1
  27. package/dist/{filestream.d.ts → stream/filestream.d.ts} +1 -0
  28. package/dist/stream/filestream.d.ts.map +1 -0
  29. package/dist/stream/filestream.js +65 -0
  30. package/dist/stream/filestream.js.map +1 -0
  31. package/dist/stream/httpstream.d.ts.map +1 -0
  32. package/dist/{httpstream.js → stream/httpstream.js} +7 -3
  33. package/dist/stream/httpstream.js.map +1 -0
  34. package/dist/{s3stream.d.ts → stream/s3stream.d.ts} +1 -0
  35. package/dist/stream/s3stream.d.ts.map +1 -0
  36. package/dist/{s3stream.js → stream/s3stream.js} +64 -1
  37. package/dist/stream/s3stream.js.map +1 -0
  38. package/dist/{sftpstream.d.ts → stream/sftpstream.d.ts} +1 -0
  39. package/dist/stream/sftpstream.d.ts.map +1 -0
  40. package/dist/{sftpstream.js → stream/sftpstream.js} +66 -2
  41. package/dist/stream/sftpstream.js.map +1 -0
  42. package/dist/stream/slow-writable.d.ts.map +1 -0
  43. package/dist/stream/slow-writable.js.map +1 -0
  44. package/dist/util/stream_helpers.d.ts.map +1 -1
  45. package/dist/util/stream_helpers.js +20 -23
  46. package/dist/util/stream_helpers.js.map +1 -1
  47. package/package.json +3 -2
  48. package/dist/filestream.d.ts.map +0 -1
  49. package/dist/filestream.js +0 -32
  50. package/dist/filestream.js.map +0 -1
  51. package/dist/httpstream.d.ts.map +0 -1
  52. package/dist/httpstream.js.map +0 -1
  53. package/dist/index.d.ts +0 -3
  54. package/dist/index.d.ts.map +0 -1
  55. package/dist/index.js.map +0 -1
  56. package/dist/s3stream.d.ts.map +0 -1
  57. package/dist/s3stream.js.map +0 -1
  58. package/dist/sftpstream.d.ts.map +0 -1
  59. package/dist/sftpstream.js.map +0 -1
  60. package/dist/slow-writable.d.ts.map +0 -1
  61. package/dist/slow-writable.js.map +0 -1
  62. /package/dist/{httpstream.d.ts → stream/httpstream.d.ts} +0 -0
  63. /package/dist/{slow-writable.d.ts → stream/slow-writable.d.ts} +0 -0
  64. /package/dist/{slow-writable.js → stream/slow-writable.js} +0 -0
package/README.md CHANGED
@@ -80,7 +80,7 @@ marcattacks http://somewhere.org/data.xml
80
80
  An S3 path
81
81
 
82
82
  ```
83
- marcattacks s3://accessKey:secretKey@host:port/bucket/key
83
+ marcattacks s3://accessKey:secretKey@hostname:port/bucket/key
84
84
  ```
85
85
 
86
86
  use `s3s://...` for using an SSL layer.
@@ -159,4 +159,19 @@ Available variables:
159
159
  - S3_ACCESS_KEY
160
160
  - S3_SECRET_KEY
161
161
 
162
- A SFTP private key can be provided using the `--key-env` command line option. E.g. `--key-env PRIVATE_KEY`, which results reading a `PRIVATE_KEY` environment variable.
162
+ A SFTP private key can be provided using the `--key-env` command line option. E.g. `--key-env PRIVATE_KEY`, which results reading a `PRIVATE_KEY` environment variable.
163
+
164
+ ## Discover files at a (remote) endpoint
165
+
166
+ Find all files that end with xml on an sftp site:
167
+
168
+ ```
169
+ npx globtrotr --key ~/.ssh/mykey sftp://username@hostname:port/remote/path/@glob:xml
170
+ ```
171
+
172
+ Or, for an S3 site:
173
+
174
+ ```
175
+ npx globtrotr s3s://accessKey:privateKey@hostname:port/bucket/@glob:xml
176
+ ```
177
+
@@ -1,6 +1,29 @@
1
+ import { Readable } from 'stream';
2
+ import { type Transform, type Writable } from 'node:stream';
1
3
  export declare class PipelineError extends Error {
2
4
  readonly statusCode: number;
3
5
  constructor(message: string, statusCode: number);
4
6
  }
5
- export declare function attack(url: string, opts: any): Promise<number>;
7
+ export declare function createInputReadStream(url: URL, opts: any): Promise<{
8
+ stream: Readable;
9
+ resolvedUrl: URL;
10
+ }>;
11
+ export declare function createDecompressionStage(url: URL, opts: {
12
+ z?: boolean;
13
+ }): Promise<Transform | null>;
14
+ export declare function createUntarStage(url: URL, opts: {
15
+ tar?: boolean;
16
+ }): Promise<Transform | null>;
17
+ export declare function createInputTransformStage(url: URL, opts: {
18
+ from: string;
19
+ param?: any;
20
+ }): Promise<Transform>;
21
+ export declare function createCountSkipStage(opts: {
22
+ count?: number;
23
+ skip?: number;
24
+ }): Promise<Transform | null>;
25
+ export declare function createMapTransformStage(opts: any): Promise<Transform | null>;
26
+ export declare function createOutputWriteStream(opts: any): Promise<Writable>;
27
+ export declare function createOutputTransformStage(opts: any): Promise<Transform | null>;
28
+ export declare function attack(url: URL, opts: any): Promise<number>;
6
29
  //# sourceMappingURL=attacker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attacker.d.ts","sourceRoot":"","sources":["../src/attacker.ts"],"names":[],"mappings":"AAsBA,qBAAa,aAAc,SAAQ,KAAK;IACpC,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAUlD;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAI,OAAO,CAAC,MAAM,CAAC,CA0LrE"}
1
+ {"version":3,"file":"attacker.d.ts","sourceRoot":"","sources":["../src/attacker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAe5D,qBAAa,aAAc,SAAQ,KAAK;IACpC,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAUlD;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,GAAG,CAAA;CAAE,CAAC,CA2ChH;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;IAAE,CAAC,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAKzG;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAKnG;AAED,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAQ/G;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAK3G;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAMlF;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgD1E;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAMrF;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CA+DjE"}
package/dist/attacker.js CHANGED
@@ -1,17 +1,15 @@
1
1
  import log4js from 'log4js';
2
2
  import { loadPlugin } from './plugin-loader.js';
3
- import { sftpLatestFile, sftpReadStream, sftpWriteStream } from './sftpstream.js';
4
- import { httpReadStream } from './httpstream.js';
3
+ import { sftpLatestFile, sftpReadStream, sftpWriteStream } from './stream/sftpstream.js';
4
+ import { httpReadStream } from './stream/httpstream.js';
5
5
  import { Readable } from 'stream';
6
- import { pathToFileURL } from "node:url";
7
6
  import {} from 'node:stream';
8
- import { SlowWritable } from './slow-writable.js';
9
- import path from "node:path";
7
+ import { SlowWritable } from './stream/slow-writable.js';
10
8
  import fs from 'fs';
11
- import { s3LatestObject, s3ReadStream, s3WriteStream } from './s3stream.js';
9
+ import { s3LatestObject, s3ReadStream, s3WriteStream } from './stream/s3stream.js';
12
10
  import { pipeline } from 'node:stream/promises';
13
11
  import { createCountableSkippedStream, createUntarredStream, createUncompressedStream, createVerboseStream } from './util/stream_helpers.js';
14
- import { fileLatestFile, fileReadStream } from './filestream.js';
12
+ import { fileLatestFile, fileReadStream } from './stream/filestream.js';
15
13
  const logger = log4js.getLogger();
16
14
  export class PipelineError extends Error {
17
15
  statusCode;
@@ -24,135 +22,152 @@ export class PipelineError extends Error {
24
22
  }
25
23
  }
26
24
  }
27
- export async function attack(url, opts) {
28
- let result = 0;
29
- try {
30
- let inputFile;
31
- if (fs.existsSync(url)) {
32
- const filePath = path.resolve(process.cwd(), url);
33
- inputFile = pathToFileURL(filePath);
25
+ export async function createInputReadStream(url, opts) {
26
+ logger.info(`using: ${getCleanURL(url)}`);
27
+ let readableStream;
28
+ let resolvedUrl = url;
29
+ if (url.protocol.startsWith("http")) {
30
+ readableStream = await httpReadStream(url.toString());
31
+ }
32
+ else if (url.protocol.startsWith("s3")) {
33
+ if (process.env.S3_ACCESS_KEY) {
34
+ url.username = process.env.S3_ACCESS_KEY;
34
35
  }
35
- else {
36
- inputFile = new URL(url);
36
+ if (process.env.S3_SECRET_KEY) {
37
+ url.password = process.env.S3_SECRET_KEY;
37
38
  }
38
- logger.info(`using: ${getCleanURL(inputFile)}`);
39
- let readableStream;
40
- if (inputFile.protocol.startsWith("http")) {
41
- readableStream = await httpReadStream(inputFile.toString());
39
+ resolvedUrl = await s3LatestObject(url, opts);
40
+ readableStream = await s3ReadStream(resolvedUrl, opts);
41
+ }
42
+ else if (url.protocol === 'sftp:') {
43
+ if (process.env.SFTP_USERNAME) {
44
+ url.username = process.env.SFTP_USERNAME;
42
45
  }
43
- else if (inputFile.protocol.startsWith("s3")) {
44
- const url = new URL(inputFile);
45
- if (process.env.S3_ACCESS_KEY) {
46
- url.username = process.env.S3_ACCESS_KEY;
47
- }
48
- if (process.env.S3_SECRET_KEY) {
49
- url.password = process.env.S3_SECRET_KEY;
50
- }
51
- // optional resolve @latest
52
- inputFile = await s3LatestObject(url, opts);
53
- readableStream = await s3ReadStream(inputFile, opts);
46
+ if (process.env.SFTP_PASSWORD) {
47
+ url.password = process.env.SFTP_PASSWORD;
54
48
  }
55
- else if (inputFile.protocol === 'sftp:') {
56
- const url = new URL(inputFile);
49
+ resolvedUrl = await sftpLatestFile(url, opts);
50
+ readableStream = await sftpReadStream(resolvedUrl, opts);
51
+ }
52
+ else if (url.protocol === 'stdin:') {
53
+ readableStream = process.stdin;
54
+ }
55
+ else {
56
+ resolvedUrl = await fileLatestFile(url);
57
+ readableStream = await fileReadStream(resolvedUrl);
58
+ }
59
+ return { stream: readableStream, resolvedUrl: resolvedUrl };
60
+ }
61
+ export async function createDecompressionStage(url, opts) {
62
+ if (opts.z || url.pathname.endsWith(".gz")) {
63
+ return createUncompressedStream();
64
+ }
65
+ return null;
66
+ }
67
+ export async function createUntarStage(url, opts) {
68
+ if (opts.tar || url.pathname.match(/.tar(.\w+$)?$/) || url.pathname.endsWith(".tgz")) {
69
+ return await createUntarredStream();
70
+ }
71
+ return null;
72
+ }
73
+ export async function createInputTransformStage(url, opts) {
74
+ if (!opts.from) {
75
+ console.error(`Need --from`);
76
+ process.exit(1);
77
+ }
78
+ const mod = await loadPlugin(opts.from, 'input');
79
+ return await mod.transform(Object.assign({ path: url }, opts.param));
80
+ }
81
+ export async function createCountSkipStage(opts) {
82
+ if (opts.count || opts.skip) {
83
+ return createCountableSkippedStream(opts.count, opts.skip);
84
+ }
85
+ return null;
86
+ }
87
+ export async function createMapTransformStage(opts) {
88
+ if (opts.map) {
89
+ const mod = await loadPlugin(opts.map, 'transform');
90
+ return await mod.transform(opts.param);
91
+ }
92
+ return null;
93
+ }
94
+ export async function createOutputWriteStream(opts) {
95
+ if (isWritableStream(opts.out)) {
96
+ return opts.out;
97
+ }
98
+ if (opts.out === '@slow') {
99
+ return new SlowWritable({ delayMs: 100 });
100
+ }
101
+ if (opts.out === '@errors') {
102
+ return new SlowWritable({ simulateErrorEveryN: 2 });
103
+ }
104
+ if (opts.out) {
105
+ if (opts.out.startsWith("sftp")) {
106
+ const url = new URL(opts.out);
57
107
  if (process.env.SFTP_USERNAME) {
58
108
  url.username = process.env.SFTP_USERNAME;
59
109
  }
60
110
  if (process.env.SFTP_PASSWORD) {
61
111
  url.password = process.env.SFTP_PASSWORD;
62
112
  }
63
- // optional resolve @latest
64
- inputFile = await sftpLatestFile(url, opts);
65
- readableStream = await sftpReadStream(inputFile, opts);
66
- }
67
- else if (inputFile.protocol === 'stdin:') {
68
- readableStream = process.stdin;
113
+ logger.info(`put ${getCleanURL(url)}`);
114
+ return await sftpWriteStream(url, opts);
69
115
  }
70
- else {
71
- inputFile = await fileLatestFile(inputFile);
72
- readableStream = await fileReadStream(inputFile);
116
+ if (opts.out.startsWith("s3")) {
117
+ const url = new URL(opts.out);
118
+ if (process.env.S3_ACCESS_KEY) {
119
+ url.username = process.env.S3_ACCESS_KEY;
120
+ }
121
+ if (process.env.S3_SECRET_KEY) {
122
+ url.password = process.env.S3_SECRET_KEY;
123
+ }
124
+ logger.info(`put ${getCleanURL(url)}`);
125
+ return await s3WriteStream(url, {});
73
126
  }
127
+ return fs.createWriteStream(opts.out, { encoding: 'utf-8' });
128
+ }
129
+ return process.stdout;
130
+ }
131
+ export async function createOutputTransformStage(opts) {
132
+ if (opts.to) {
133
+ const mod = await loadPlugin(opts.to, 'output');
134
+ return await mod.transform(opts.param);
135
+ }
136
+ return null;
137
+ }
138
+ export async function attack(url, opts) {
139
+ let result = 0;
140
+ try {
141
+ const { stream: readableStream, resolvedUrl: inputFile } = await createInputReadStream(url, opts);
74
142
  const stages = [readableStream];
75
- if (opts.z || inputFile.pathname.endsWith(".gz")) {
76
- stages.push(createUncompressedStream());
77
- }
78
- if (opts.tar || inputFile.pathname.match(/.tar(.\w+$)?$/) || inputFile.pathname.endsWith(".tgz")) {
79
- stages.push(await createUntarredStream());
80
- }
81
- if (opts.from) {
82
- const mod = await loadPlugin(opts.from, 'input');
83
- const transformer = await mod.transform(Object.assign({ path: inputFile }, opts.param));
84
- transformer.on('error', (error) => {
85
- if (error.code === 'ERR_STREAM_PREMATURE_CLOSE') {
86
- stages[0]?.destroy();
87
- }
88
- else {
89
- logger.error("input stream processing error: ", error.message);
90
- stages[0]?.destroy();
91
- process.exitCode = 2;
92
- }
93
- });
94
- transformer.on('finish', () => logger.debug('writeable finished'));
95
- transformer.on('end', () => logger.debug('readable ended'));
96
- transformer.on('close', () => logger.debug('stream closed'));
97
- stages.push(transformer);
98
- }
99
- else {
100
- console.error(`Need --from`);
101
- process.exit(1);
102
- }
103
- if (opts.count || opts.skip) {
104
- stages.push(createCountableSkippedStream(opts.count, opts.skip));
105
- }
143
+ // Add decompression stage if needed
144
+ const decompressionStage = await createDecompressionStage(inputFile, opts);
145
+ if (decompressionStage)
146
+ stages.push(decompressionStage);
147
+ // Add untar stage if needed
148
+ const untarStage = await createUntarStage(inputFile, opts);
149
+ if (untarStage)
150
+ stages.push(untarStage);
151
+ // Add input transform stage (required)
152
+ const inputTransform = await createInputTransformStage(inputFile, opts);
153
+ stages.push(inputTransform);
154
+ // Add count/skip stage if needed
155
+ const countSkipStage = await createCountSkipStage(opts);
156
+ if (countSkipStage)
157
+ stages.push(countSkipStage);
158
+ // Add verbose stream (always included)
106
159
  const verboseStream = createVerboseStream();
107
160
  stages.push(verboseStream);
108
- if (opts.map) {
109
- const mod = await loadPlugin(opts.map, 'transform');
110
- const transformer = await mod.transform(opts.param);
111
- stages.push(transformer);
112
- }
113
- let outStream;
114
- if (isWritableStream(opts.out)) {
115
- outStream = opts.out;
116
- }
117
- else if (opts.out === '@slow') {
118
- outStream = new SlowWritable({ delayMs: 100 });
119
- }
120
- else if (opts.out === '@errors') {
121
- outStream = new SlowWritable({ simulateErrorEveryN: 2 });
122
- }
123
- else if (opts.out) {
124
- if (opts.out.startsWith("sftp")) {
125
- const url = new URL(opts.out);
126
- if (process.env.SFTP_USERNAME) {
127
- url.username = process.env.SFTP_USERNAME;
128
- }
129
- if (process.env.SFTP_PASSWORD) {
130
- url.password = process.env.SFTP_PASSWORD;
131
- }
132
- logger.info(`put ${getCleanURL(url)}`);
133
- outStream = await sftpWriteStream(url, opts);
134
- }
135
- else if (opts.out.startsWith("s3")) {
136
- const url = new URL(opts.out);
137
- if (process.env.S3_ACCESS_KEY) {
138
- url.username = process.env.S3_ACCESS_KEY;
139
- }
140
- if (process.env.S3_SECRET_KEY) {
141
- url.password = process.env.S3_SECRET_KEY;
142
- }
143
- logger.info(`put ${getCleanURL(url)}`);
144
- outStream = await s3WriteStream(url, {});
145
- }
146
- else {
147
- outStream = fs.createWriteStream(opts.out, { encoding: 'utf-8' });
148
- }
149
- }
150
- else {
151
- outStream = process.stdout;
152
- }
153
- if (opts.to) {
154
- const mod = await loadPlugin(opts.to, 'output');
155
- stages.push(await mod.transform(opts.param));
161
+ // Add map transform stage if needed
162
+ const mapStage = await createMapTransformStage(opts);
163
+ if (mapStage)
164
+ stages.push(mapStage);
165
+ // Add output transform stage if needed
166
+ const outputTransform = await createOutputTransformStage(opts);
167
+ if (outputTransform) {
168
+ stages.push(outputTransform);
169
+ // Add output write stream
170
+ const outStream = await createOutputWriteStream(opts);
156
171
  stages.push(outStream);
157
172
  try {
158
173
  await pipeline(stages);
@@ -160,8 +175,9 @@ export async function attack(url, opts) {
160
175
  logger.info("pipeline finished cleanly");
161
176
  }
162
177
  catch (err) {
178
+ result = verboseStream.getCount();
163
179
  if (err.code === 'ERR_STREAM_PREMATURE_CLOSE') {
164
- logger.info("Stream closed by limiter.");
180
+ logger.info("stream closed by limiter.");
165
181
  }
166
182
  else {
167
183
  logger.error("pipeline error:", err);
@@ -172,17 +188,17 @@ export async function attack(url, opts) {
172
188
  }
173
189
  catch (e) {
174
190
  if (e instanceof PipelineError) {
175
- throw (e);
191
+ throw e;
176
192
  }
177
193
  else {
178
194
  logger.error(`process crashed with: ${e}`);
179
- throw (e);
195
+ throw e;
180
196
  }
181
197
  }
182
198
  return result;
183
199
  }
184
200
  function getCleanURL(url) {
185
- const tempUrl = new URL(url.href); // Clone to avoid mutating original
201
+ const tempUrl = new URL(url.href);
186
202
  tempUrl.username = '***';
187
203
  tempUrl.password = '***';
188
204
  return tempUrl;
@@ -192,7 +208,6 @@ function isWritableStream(obj) {
192
208
  typeof obj === 'object' &&
193
209
  typeof obj.write === 'function' &&
194
210
  typeof obj.end === 'function' &&
195
- // internal state check
196
211
  obj.writable !== false);
197
212
  }
198
213
  //# sourceMappingURL=attacker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attacker.js","sourceRoot":"","sources":["../src/attacker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attacker.js","sourceRoot":"","sources":["../src/attacker.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAG,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAiC,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACH,4BAA4B,EAC5B,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAElC,MAAM,OAAO,aAAc,SAAQ,KAAK;IACpB,UAAU,CAAS;IAEnC,YAAY,OAAe,EAAE,UAAkB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QAErD,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC1B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;CACJ;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAQ,EAAE,IAAS;IAC3D,MAAM,CAAC,IAAI,CAAC,UAAU,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAE1C,IAAI,cAAwB,CAAC;IAE7B,IAAI,WAAW,GAAS,GAAG,CAAC;IAE5B,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,cAAc,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;SACI,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,CAAC;QAED,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,cAAc,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;SACI,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,CAAC;QAED,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,cAAc,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;SACI,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IACnC,CAAC;SACI,CAAC;QACF,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QACxC,cAAc,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,GAAQ,EAAE,IAAqB;IAC1E,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,wBAAwB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAQ,EAAE,IAAuB;IACpE,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnF,OAAO,MAAM,oBAAoB,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAQ,EAAE,IAAiC;IACvF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAqC;IAC5E,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,4BAA4B,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAS;IACnD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,OAAO,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAS;IACnD,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC7C,CAAC;YAED,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC7C,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC7C,CAAC;YAED,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC7C,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,MAAM,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAAS;IACtD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACV,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAQ,EAAE,IAAS;IAC5C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClG,MAAM,MAAM,GAAwC,CAAC,cAAc,CAAC,CAAC;QAErE,oCAAoC;QACpC,MAAM,kBAAkB,GAAG,MAAM,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3E,IAAI,kBAAkB;YAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAExD,4BAA4B;QAC5B,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,UAAU;YAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,uCAAuC;QACvC,MAAM,cAAc,GAAG,MAAM,yBAAyB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE5B,iCAAiC;QACjC,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,cAAc;YAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEhD,uCAAuC;QACvC,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3B,oCAAoC;QACpC,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpC,uCAAuC;QACvC,MAAM,eAAe,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAE7B,0BAA0B;YAC1B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEvB,IAAI,CAAC;gBACD,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvB,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAElC,IAAI,GAAG,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;oBAC5C,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;oBACrC,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,YAAY,aAAa,EAAE,CAAC;YAC7B,MAAM,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,GAAQ;IACzB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;IACzB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;IACzB,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAQ;IAC9B,OAAO,CACH,GAAG,KAAK,IAAI;QACZ,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU;QAC/B,OAAO,GAAG,CAAC,GAAG,KAAK,UAAU;QAC7B,GAAG,CAAC,QAAQ,KAAK,KAAK,CACzB,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":""}
@@ -5,6 +5,8 @@ import path from "node:path";
5
5
  import dotenv from 'dotenv';
6
6
  import { attack, PipelineError } from './attacker.js';
7
7
  import { createRequire } from 'node:module';
8
+ import { pathToFileURL } from "node:url";
9
+ import fs from 'fs';
8
10
  const require = createRequire(import.meta.url);
9
11
  const pkg = require('../package.json');
10
12
  program.version(pkg.version)
@@ -68,7 +70,7 @@ function configureDefaultLogger(output) {
68
70
  type: output,
69
71
  layout: {
70
72
  type: "pattern",
71
- pattern: "%[%d %p %f{1} %m%]"
73
+ pattern: "%[%d %p %f{2} %m%]"
72
74
  }
73
75
  }
74
76
  },
@@ -111,7 +113,15 @@ async function main() {
111
113
  console.error(`need an input file`);
112
114
  process.exit(2);
113
115
  }
114
- const result = await attack(url, opts);
116
+ let inputFile;
117
+ if (fs.existsSync(url)) {
118
+ const filePath = path.resolve(process.cwd(), url);
119
+ inputFile = pathToFileURL(filePath);
120
+ }
121
+ else {
122
+ inputFile = new URL(url);
123
+ }
124
+ const result = await attack(inputFile, opts);
115
125
  logger.info(`total: ${result}`);
116
126
  }
117
127
  catch (e) {
@@ -135,4 +145,4 @@ function collect(value, previous) {
135
145
  return previous;
136
146
  }
137
147
  }
138
- //# sourceMappingURL=index.js.map
148
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
package/dist/demo.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=demo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":""}
package/dist/demo.js ADDED
@@ -0,0 +1,8 @@
1
+ import { createInputReadStream, createInputTransformStage } from "./attacker.js";
2
+ main();
3
+ async function main() {
4
+ const reader1 = await createInputReadStream("./data/sample.xml");
5
+ const reader2 = await createInputReadStream("./data/sample.xml");
6
+ const parser = await createInputTransformStage({ from: 'xml' }, "./data/sample.xml", reader1);
7
+ }
8
+ //# sourceMappingURL=demo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAEjF,IAAI,EAAE,CAAC;AAEP,KAAK,UAAU,IAAI;IACf,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IACjE,MAAM,MAAM,GAAI,MAAM,yBAAyB,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAC,mBAAmB,EAAC,OAAO,CAAC,CAAC;AAE/F,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=globber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globber.d.ts","sourceRoot":"","sources":["../src/globber.ts"],"names":[],"mappings":""}