whopper 0.1.2 → 0.1.7
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.
- package/README.md +15 -6
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -3
- package/dist/cli.js.map +1 -1
- package/dist/e2e/cli.e2e.test.js +0 -7
- package/dist/e2e/cli.e2e.test.js.map +1 -1
- package/dist/main.js +0 -0
- package/package.json +1 -1
- package/dist/analyzer/util.d.ts +0 -3
- package/dist/analyzer/util.d.ts.map +0 -1
- package/dist/analyzer/util.js +0 -10
- package/dist/analyzer/util.js.map +0 -1
- package/dist/commands/hello.d.ts +0 -3
- package/dist/commands/hello.d.ts.map +0 -1
- package/dist/commands/hello.js +0 -12
- package/dist/commands/hello.js.map +0 -1
- package/dist/commands/version.d.ts +0 -3
- package/dist/commands/version.d.ts.map +0 -1
- package/dist/commands/version.js +0 -10
- package/dist/commands/version.js.map +0 -1
- package/dist/commands/version.test.d.ts +0 -2
- package/dist/commands/version.test.d.ts.map +0 -1
- package/dist/commands/version.test.js +0 -27
- package/dist/commands/version.test.js.map +0 -1
- package/dist/detector/index.d.ts +0 -5
- package/dist/detector/index.d.ts.map +0 -1
- package/dist/detector/index.js +0 -16
- package/dist/detector/index.js.map +0 -1
- package/dist/detector/matcher.d.ts +0 -5
- package/dist/detector/matcher.d.ts.map +0 -1
- package/dist/detector/matcher.js +0 -50
- package/dist/detector/matcher.js.map +0 -1
- package/dist/detector/types.d.ts +0 -10
- package/dist/detector/types.d.ts.map +0 -1
- package/dist/detector/types.js +0 -2
- package/dist/detector/types.js.map +0 -1
- package/dist/signatures/nginx.d.ts +0 -3
- package/dist/signatures/nginx.d.ts.map +0 -1
- package/dist/signatures/nginx.js +0 -12
- package/dist/signatures/nginx.js.map +0 -1
- package/dist/signatures/technologies/spiwer.d.ts +0 -3
- package/dist/signatures/technologies/spiwer.d.ts.map +0 -1
- package/dist/signatures/technologies/spiwer.js +0 -10
- package/dist/signatures/technologies/spiwer.js.map +0 -1
package/README.md
CHANGED
|
@@ -34,12 +34,11 @@ Usage: whopper [options] [command]
|
|
|
34
34
|
A CLI tool that discovers and detects web technologies used on websites.
|
|
35
35
|
|
|
36
36
|
Options:
|
|
37
|
-
-
|
|
37
|
+
-v, --version output the version number
|
|
38
38
|
-h, --help display help for command
|
|
39
39
|
|
|
40
40
|
Commands:
|
|
41
41
|
detect [options] <url> Detects technologies used on the specified website URL.
|
|
42
|
-
version Displays the current version of the CLI tool.
|
|
43
42
|
help [command] display help for command
|
|
44
43
|
```
|
|
45
44
|
|
|
@@ -58,8 +57,18 @@ This command will analyze the specified URL and output the detected technologies
|
|
|
58
57
|
To contribute to Whopper, clone the repository and install the dependencies:
|
|
59
58
|
|
|
60
59
|
```bash
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
git clone https://github.com/0n1shi/whopper
|
|
61
|
+
cd $_
|
|
62
|
+
npm install
|
|
63
|
+
npm link
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Releasing a New Version
|
|
67
|
+
|
|
68
|
+
To release a new version:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
npm version patch # or minor, major
|
|
72
|
+
git push --follow-tags
|
|
73
|
+
npm publish
|
|
65
74
|
```
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,OAAO,QAAc,CAAC;AAgBnC,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAGxC"}
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { createRequire } from "module";
|
|
3
3
|
import { detectCommand } from "./commands/detect.js";
|
|
4
|
-
import { versionCommand } from "./commands/version.js";
|
|
5
4
|
import { banner } from "./commands/banner.js";
|
|
6
5
|
const require = createRequire(import.meta.url);
|
|
7
6
|
const pkg = require("../package.json");
|
|
@@ -12,12 +11,11 @@ function buildCLI() {
|
|
|
12
11
|
const program = new Command()
|
|
13
12
|
.name(NAME)
|
|
14
13
|
.description(DESCRIPTION)
|
|
15
|
-
.version(VERSION)
|
|
14
|
+
.version(VERSION, "-v, --version")
|
|
16
15
|
.showHelpAfterError()
|
|
17
16
|
.showSuggestionAfterError();
|
|
18
17
|
// Register commands here
|
|
19
18
|
program.addCommand(detectCommand());
|
|
20
|
-
program.addCommand(versionCommand());
|
|
21
19
|
return program;
|
|
22
20
|
}
|
|
23
21
|
export function run(argv) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAE9D,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,WAAW,GACf,0EAA0E,CAAC;AAC7E,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAEnC,SAAS,QAAQ;IACf,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,IAAI,CAAC;SACV,WAAW,CAAC,WAAW,CAAC;SACxB,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;SACjC,kBAAkB,EAAE;SACpB,wBAAwB,EAAE,CAAC;IAE9B,yBAAyB;IACzB,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;IAEpC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAc;IAChC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/B,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
|
package/dist/e2e/cli.e2e.test.js
CHANGED
|
@@ -23,13 +23,6 @@ describe("CLI E2E Tests", () => {
|
|
|
23
23
|
const { stdout } = await execAsync(`node ${CLI_PATH} --help`);
|
|
24
24
|
expect(stdout).toContain("Usage:");
|
|
25
25
|
expect(stdout).toContain("detect");
|
|
26
|
-
expect(stdout).toContain("version");
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
describe("version command", () => {
|
|
30
|
-
it("should output version number", async () => {
|
|
31
|
-
const { stdout } = await execAsync(`node ${CLI_PATH} version`);
|
|
32
|
-
expect(stdout.trim()).toMatch(/^\d+\.\d+\.\d+$/);
|
|
33
26
|
});
|
|
34
27
|
});
|
|
35
28
|
describe("detect command", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.e2e.test.js","sourceRoot":"","sources":["../../src/e2e/cli.e2e.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7D,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,SAAS,CAAC,GAAG,EAAE;QACb,0BAA0B;QAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,QAAQ,YAAY,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,QAAQ,SAAS,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.e2e.test.js","sourceRoot":"","sources":["../../src/e2e/cli.e2e.test.ts"],"names":[],"mappings":"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"}
|
package/dist/main.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
package/dist/analyzer/util.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/analyzer/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,eAAO,MAAM,aAAa,GAAI,aAAa,UAAU,EAAE,KAAG,UAQzD,CAAC"}
|
package/dist/analyzer/util.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/analyzer/util.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAyB,EAAc,EAAE;IACrE,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
package/dist/commands/hello.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hello.d.ts","sourceRoot":"","sources":["../../src/commands/hello.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,YAAY,QAAO,OAQ/B,CAAC"}
|
package/dist/commands/hello.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
import chalk from "chalk";
|
|
3
|
-
export const helloCommand = () => {
|
|
4
|
-
return new Command("hello")
|
|
5
|
-
.description("Prints a greeting message")
|
|
6
|
-
.option("-n, --name <name>", "Name to greet")
|
|
7
|
-
.action((options) => {
|
|
8
|
-
const name = options.name || "World";
|
|
9
|
-
console.log(chalk.green(`Hello, ${name}!`));
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=hello.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hello.js","sourceRoot":"","sources":["../../src/commands/hello.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAY,EAAE;IACxC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;SACxB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC;SAC5C,MAAM,CAAC,CAAC,OAAgB,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,cAAc,QAAO,OAMjC,CAAC"}
|
package/dist/commands/version.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
import { VERSION } from "../cli.js";
|
|
3
|
-
export const versionCommand = () => {
|
|
4
|
-
return new Command("version")
|
|
5
|
-
.description("Displays the current version of the CLI tool.")
|
|
6
|
-
.action(() => {
|
|
7
|
-
console.log(VERSION);
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE;IAC1C,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;SAC1B,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.test.d.ts","sourceRoot":"","sources":["../../src/commands/version.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
2
|
-
import { versionCommand } from "./version.js";
|
|
3
|
-
import { VERSION } from "../cli.js";
|
|
4
|
-
describe("versionCommand", () => {
|
|
5
|
-
let consoleLogSpy;
|
|
6
|
-
beforeEach(() => {
|
|
7
|
-
consoleLogSpy = vi.spyOn(console, "log").mockImplementation(() => { });
|
|
8
|
-
});
|
|
9
|
-
afterEach(() => {
|
|
10
|
-
consoleLogSpy.mockRestore();
|
|
11
|
-
});
|
|
12
|
-
it("should create a command named version", () => {
|
|
13
|
-
const command = versionCommand();
|
|
14
|
-
expect(command.name()).toBe("version");
|
|
15
|
-
});
|
|
16
|
-
it("should have a description", () => {
|
|
17
|
-
const command = versionCommand();
|
|
18
|
-
expect(command.description()).toContain("version");
|
|
19
|
-
});
|
|
20
|
-
it("should print the version when action is called", async () => {
|
|
21
|
-
const command = versionCommand();
|
|
22
|
-
// Parse with just the command name, no extra arguments
|
|
23
|
-
await command.parseAsync([], { from: "user" });
|
|
24
|
-
expect(consoleLogSpy).toHaveBeenCalledWith(VERSION);
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
//# sourceMappingURL=version.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.test.js","sourceRoot":"","sources":["../../src/commands/version.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,aAA0C,CAAC;IAE/C,UAAU,CAAC,GAAG,EAAE;QACd,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,uDAAuD;QACvD,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/detector/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Context } from "../browser/index.js";
|
|
2
|
-
import type { Signature } from "../signatures/_types.js";
|
|
3
|
-
import type { Detection } from "./types.js";
|
|
4
|
-
export declare function detect(context: Context, signatures: Signature[]): Detection[];
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/detector/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAe7E"}
|
package/dist/detector/index.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { applySignature } from "./matcher.js";
|
|
2
|
-
export function detect(context, signatures) {
|
|
3
|
-
const detections = [];
|
|
4
|
-
for (const signature of signatures) {
|
|
5
|
-
const [matched, evidences] = applySignature(context, signature);
|
|
6
|
-
if (matched) {
|
|
7
|
-
detections.push({
|
|
8
|
-
name: signature.name,
|
|
9
|
-
confidence: signature.confidence,
|
|
10
|
-
evidences,
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return detections;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/detector/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,UAAU,MAAM,CAAC,OAAgB,EAAE,UAAuB;IAC9D,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,SAAS;aACV,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Context } from "../browser/index.js";
|
|
2
|
-
import type { Signature } from "../signatures/_types.js";
|
|
3
|
-
import type { Evidence } from "./types.js";
|
|
4
|
-
export declare const applySignature: (context: Context, signature: Signature) => [boolean, Evidence[]];
|
|
5
|
-
//# sourceMappingURL=matcher.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/detector/matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAe3C,eAAO,MAAM,cAAc,GACzB,SAAS,OAAO,EAChB,WAAW,SAAS,KACnB,CAAC,OAAO,EAAE,QAAQ,EAAE,CA4CtB,CAAC"}
|
package/dist/detector/matcher.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
const matchString = (value, rule) => {
|
|
2
|
-
if (rule.contains && value.includes(rule.contains)) {
|
|
3
|
-
return true;
|
|
4
|
-
}
|
|
5
|
-
if (rule.regex && new RegExp(rule.regex).test(value)) {
|
|
6
|
-
return true;
|
|
7
|
-
}
|
|
8
|
-
return false;
|
|
9
|
-
};
|
|
10
|
-
export const applySignature = (context, signature) => {
|
|
11
|
-
for (const rule of signature.rules) {
|
|
12
|
-
let ruleMatched = false;
|
|
13
|
-
const evidences = [];
|
|
14
|
-
// Match headers
|
|
15
|
-
if (rule.headers) {
|
|
16
|
-
for (const [header, match] of Object.entries(rule.headers)) {
|
|
17
|
-
const response = context.responses.find((res) => res.headers[header.toLowerCase()]);
|
|
18
|
-
if (response) {
|
|
19
|
-
const headerValue = response.headers[header.toLowerCase()];
|
|
20
|
-
if (headerValue && matchString(headerValue, match)) {
|
|
21
|
-
ruleMatched = true;
|
|
22
|
-
evidences.push({
|
|
23
|
-
type: "header",
|
|
24
|
-
value: `${header}: ${headerValue}`,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
// Match bodies
|
|
31
|
-
if (rule.bodies) {
|
|
32
|
-
for (const match of rule.bodies) {
|
|
33
|
-
for (const response of context.responses) {
|
|
34
|
-
const body = response.headers["content-type"]?.includes("text")
|
|
35
|
-
? response.body
|
|
36
|
-
: "";
|
|
37
|
-
if (body && matchString(body, match)) {
|
|
38
|
-
ruleMatched = true;
|
|
39
|
-
evidences.push({ type: "body", value: body });
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
if (ruleMatched) {
|
|
45
|
-
return [true, evidences];
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return [false, []];
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=matcher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/detector/matcher.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,GAAG,CAClB,KAAa,EACb,IAA2C,EAClC,EAAE;IACX,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAgB,EAChB,SAAoB,EACG,EAAE;IACzB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,gBAAgB;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CACrC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAC3C,CAAC;gBACF,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC3D,IAAI,WAAW,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;wBACnD,WAAW,GAAG,IAAI,CAAC;wBACnB,SAAS,CAAC,IAAI,CAAC;4BACb,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,GAAG,MAAM,KAAK,WAAW,EAAE;yBACnC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,eAAe;QACf,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;wBAC7D,CAAC,CAAC,QAAQ,CAAC,IAAI;wBACf,CAAC,CAAC,EAAE,CAAC;oBACP,IAAI,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;wBACrC,WAAW,GAAG,IAAI,CAAC;wBACnB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACrB,CAAC,CAAC"}
|
package/dist/detector/types.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/detector/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB,CAAC"}
|
package/dist/detector/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/detector/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nginx.d.ts","sourceRoot":"","sources":["../../src/signatures/nginx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,cAAc,EAAE,SAU5B,CAAC"}
|
package/dist/signatures/nginx.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nginx.js","sourceRoot":"","sources":["../../src/signatures/nginx.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,MAAM;IAClB,KAAK,EAAE;QACL;YACE,OAAO,EAAE;gBACP,MAAM,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE;aAClD;SACF;KACF;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spiwer.d.ts","sourceRoot":"","sources":["../../../src/signatures/technologies/spiwer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,eAAe,EAAE,SAS7B,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const swiperSignature = {
|
|
2
|
-
name: "Swiper",
|
|
3
|
-
description: "Most modern mobile touch slider and framework with hardware accelerated transitions",
|
|
4
|
-
rule: {
|
|
5
|
-
confidence: "high",
|
|
6
|
-
urls: ["swiper[@.-](\\d+\\.\\d+\\.\\d+)?"],
|
|
7
|
-
bodies: ["Swiper (\\d+\\.\\d+\\.\\d+)?"],
|
|
8
|
-
},
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=spiwer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spiwer.js","sourceRoot":"","sources":["../../../src/signatures/technologies/spiwer.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAc;IACxC,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,qFAAqF;IACvF,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,CAAC,kCAAkC,CAAC;QAC1C,MAAM,EAAE,CAAC,8BAA8B,CAAC;KACzC;CACF,CAAC"}
|