@j3r3mcdev/oast-server 1.1.8 → 1.1.10

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 (95) hide show
  1. package/.github/workflows/ci.yml +29 -29
  2. package/.github/workflows/publish.yml +31 -31
  3. package/README.md +192 -192
  4. package/dist/core/router.d.ts +0 -1
  5. package/dist/core/router.js +3 -3
  6. package/jest.config.js +14 -14
  7. package/package.json +45 -45
  8. package/sadmin list shadows +9 -9
  9. package/src/api/controllers/__tests__/tasks.controller.test.ts +74 -74
  10. package/src/api/controllers/events.controller.ts +10 -10
  11. package/src/api/controllers/health.controller.ts +7 -7
  12. package/src/api/controllers/tasks.controller.ts +41 -41
  13. package/src/api/dto/__tests__/create-task.dto.test.ts +41 -41
  14. package/src/api/dto/__tests__/filter-tasks.dto.test.ts +35 -35
  15. package/src/api/dto/create-task.dto.ts +33 -33
  16. package/src/api/dto/filter-tasks.dto.ts +33 -33
  17. package/src/api/services/__tests__/events.service.test.ts +41 -41
  18. package/src/api/services/__tests__/tasks.service.test.ts +41 -41
  19. package/src/api/services/events.service.ts +17 -17
  20. package/src/api/services/tasks.service.ts +79 -79
  21. package/src/api/sse/events.stream.ts +90 -90
  22. package/src/bootstrap.ts +89 -89
  23. package/src/core/__tests__/core-router.test.ts +30 -30
  24. package/src/core/__tests__/core-server.test.ts +44 -44
  25. package/src/core/__tests__/event.normalizer.test.ts +56 -56
  26. package/src/core/__tests__/event.router.test.ts +89 -89
  27. package/src/core/__tests__/logger.test.ts +32 -32
  28. package/src/core/__tests__/storage-manager.test.ts +74 -74
  29. package/src/core/event.normalizer.ts +147 -147
  30. package/src/core/event.router.ts +13 -13
  31. package/src/core/http/__tests__/adapter-node.test.ts +52 -52
  32. package/src/core/http/__tests__/body-parser-multipart.test.ts +41 -41
  33. package/src/core/http/__tests__/body-parser-raw.test.ts +28 -28
  34. package/src/core/http/__tests__/body-parser-text.test.ts +28 -28
  35. package/src/core/http/__tests__/compile-path.test.ts +39 -39
  36. package/src/core/http/__tests__/middleware-pipeline.test.ts +51 -51
  37. package/src/core/http/__tests__/request.test.ts +34 -34
  38. package/src/core/http/__tests__/response.test.ts +35 -35
  39. package/src/core/http/__tests__/router-match.test.ts +171 -171
  40. package/src/core/http/adapter-node.ts +51 -51
  41. package/src/core/http/buildRequest.ts +18 -18
  42. package/src/core/http/compile-path.ts +32 -32
  43. package/src/core/http/errors.ts +37 -37
  44. package/src/core/http/http-server.ts +52 -52
  45. package/src/core/http/middleware.ts +160 -160
  46. package/src/core/http/request.ts +55 -55
  47. package/src/core/http/response.ts +93 -93
  48. package/src/core/http/router.ts +138 -138
  49. package/src/core/id-generator.ts +8 -8
  50. package/src/core/logger.ts +113 -113
  51. package/src/core/router.ts +44 -44
  52. package/src/core/server.ts +85 -85
  53. package/src/core/storage.ts +64 -64
  54. package/src/index.ts +14 -14
  55. package/src/listeners/api/__tests__/api.controller.test.ts +116 -116
  56. package/src/listeners/api/__tests__/api.extractor.test.ts +46 -46
  57. package/src/listeners/api/__tests__/api.listener.test.ts +82 -82
  58. package/src/listeners/api/__tests__/api.routes.test.ts +155 -155
  59. package/src/listeners/api/__tests__/api.sse.test.ts +105 -105
  60. package/src/listeners/api/api.controllers.ts +67 -67
  61. package/src/listeners/api/api.extractor.ts +43 -43
  62. package/src/listeners/api/api.listener.ts +50 -50
  63. package/src/listeners/api/api.routes.ts +76 -76
  64. package/src/listeners/api/api.sse.ts +38 -38
  65. package/src/listeners/dns/__tests__/dns.test.ts +118 -118
  66. package/src/listeners/dns/dns.extractor.ts +14 -14
  67. package/src/listeners/dns/dns.listener.ts +61 -61
  68. package/src/listeners/http/__tests__/http.extractor.test.ts +59 -59
  69. package/src/listeners/http/__tests__/http.listener.test.ts +133 -133
  70. package/src/listeners/http/http.extractor.ts +15 -15
  71. package/src/listeners/http/http.listener.ts +110 -110
  72. package/src/listeners/listener.interface.ts +4 -4
  73. package/src/listeners/smtp/__tests__/smtp.extractor.test.ts +69 -69
  74. package/src/listeners/smtp/__tests__/smtp.listener.test.ts +150 -150
  75. package/src/listeners/smtp/smtp.extractor.ts +18 -18
  76. package/src/listeners/smtp/smtp.listener.ts +78 -60
  77. package/src/listeners/ssrf/__tests__/ssrf.extractor.test.ts +41 -41
  78. package/src/listeners/ssrf/__tests__/ssrf.listener.test.ts +87 -87
  79. package/src/listeners/ssrf/ssrf.extractor.ts +14 -14
  80. package/src/listeners/ssrf/ssrf.listener.ts +37 -37
  81. package/src/listeners/tcp/tcp.extractor.ts +16 -16
  82. package/src/listeners/tcp/tcp.listener.ts +61 -61
  83. package/src/listeners/webhook/__tests__/webhook.extractor.test.ts +35 -35
  84. package/src/listeners/webhook/__tests__/webhook.listener.test.ts +122 -122
  85. package/src/listeners/webhook/webhook.extractor.ts +12 -12
  86. package/src/listeners/webhook/webhook.listener.ts +58 -58
  87. package/src/listeners/websocket/__tests__/websocket.extractor.test.ts +33 -33
  88. package/src/listeners/websocket/__tests__/websocket.listener.test.ts +90 -90
  89. package/src/listeners/websocket/websocket.extractor.ts +11 -11
  90. package/src/listeners/websocket/websocket.listener.ts +40 -40
  91. package/src/storage-adapters/adapters/__tests__/memory.storage.test.ts +75 -75
  92. package/src/storage-adapters/adapters/memory.storage.ts +64 -64
  93. package/src/storage-adapters/storage.interface.ts +26 -26
  94. package/src/types/event.types.ts +166 -147
  95. package/tsconfig.json +20 -20
@@ -1,29 +1,29 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: ["main"]
6
- pull_request:
7
- branches: ["main"]
8
-
9
- jobs:
10
- build-and-test:
11
- runs-on: ubuntu-latest
12
-
13
- steps:
14
- - name: Checkout repository
15
- uses: actions/checkout@v4
16
-
17
- - name: Setup Node
18
- uses: actions/setup-node@v4
19
- with:
20
- node-version: 20
21
-
22
- - name: Install dependencies
23
- run: npm install
24
-
25
- - name: Run tests
26
- run: npm test
27
-
28
- - name: Build project
29
- run: npm run build
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+ branches: ["main"]
8
+
9
+ jobs:
10
+ build-and-test:
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - name: Checkout repository
15
+ uses: actions/checkout@v4
16
+
17
+ - name: Setup Node
18
+ uses: actions/setup-node@v4
19
+ with:
20
+ node-version: 20
21
+
22
+ - name: Install dependencies
23
+ run: npm install
24
+
25
+ - name: Run tests
26
+ run: npm test
27
+
28
+ - name: Build project
29
+ run: npm run build
@@ -1,31 +1,31 @@
1
- name: Publish to npm
2
-
3
- on:
4
- push:
5
- tags:
6
- - "v*.*.*"
7
-
8
- jobs:
9
- publish:
10
- runs-on: ubuntu-latest
11
-
12
- steps:
13
- - name: Checkout repository
14
- uses: actions/checkout@v4
15
-
16
- - name: Setup Node
17
- uses: actions/setup-node@v4
18
- with:
19
- node-version: 20
20
- registry-url: "https://registry.npmjs.org"
21
-
22
- - name: Install dependencies
23
- run: npm ci
24
-
25
- - name: Build project
26
- run: npm run build
27
-
28
- - name: Publish package
29
- env:
30
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
31
- run: npm publish --access public
1
+ name: Publish to npm
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*.*.*"
7
+
8
+ jobs:
9
+ publish:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout repository
14
+ uses: actions/checkout@v4
15
+
16
+ - name: Setup Node
17
+ uses: actions/setup-node@v4
18
+ with:
19
+ node-version: 20
20
+ registry-url: "https://registry.npmjs.org"
21
+
22
+ - name: Install dependencies
23
+ run: npm ci
24
+
25
+ - name: Build project
26
+ run: npm run build
27
+
28
+ - name: Publish package
29
+ env:
30
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
31
+ run: npm publish --access public
package/README.md CHANGED
@@ -1,192 +1,192 @@
1
- # OAST Server — Multi‑Protocol Out‑of‑Band Interaction Framework
2
-
3
- Un serveur OAST modulaire, extensible et agnostique, conçu pour capturer, normaliser et diffuser des interactions _out‑of‑band_ provenant de multiples canaux : HTTP, DNS, SMTP, SSRF, Webhook, WebSocket, TCP, API REST et SSE.
4
-
5
- Ce framework fournit une architecture listener‑based robuste, unifiée et testée, idéale pour les outils de diagnostic, scanners de vulnérabilités, plateformes d’audit ou systèmes de détection avancés.
6
-
7
- ---
8
-
9
- ## ✨ Caractéristiques principales
10
-
11
- - **Architecture modulaire par listeners**
12
- Chaque protocole est isolé dans son propre module (`http`, `dns`, `smtp`, `ssrf`, `webhook`, `websocket`, `tcp`, `api`).
13
-
14
- - **Extractors dédiés**
15
- Chaque listener dispose d’un extractor responsable de la normalisation des données brutes.
16
-
17
- - **API REST intégrée**
18
- Permet de récupérer les events, les tasks, les métadonnées et l’état du serveur.
19
-
20
- - **SSE (Server‑Sent Events)**
21
- Diffusion en temps réel des interactions capturées.
22
-
23
- - **Storage agnostique**
24
- Implémentation par défaut en mémoire, extensible vers Redis, SQLite, PostgreSQL, etc.
25
-
26
- - **Suite de tests complète**
27
- 118 tests unitaires couvrant extractors, listeners, API, SSE et services.
28
-
29
- - **Aucune dépendance lourde**
30
- Pas d’Express, pas de framework web : un cœur minimaliste, rapide et portable.
31
-
32
- ---
33
-
34
- ## 📦 Installation
35
-
36
- ```bash
37
- npm install @j3r3mcdev/oast-server
38
- ```
39
-
40
- ## 🚀 Démarrage rapide
41
-
42
- ```ts
43
- import { ApiListener, HttpListener, DnsListener } from "@j3r3mcdev/oast-server";
44
-
45
- const api = new ApiListener({ port: 8080 });
46
- const http = new HttpListener({ port: 8000 });
47
- const dns = new DnsListener({ port: 5353 });
48
-
49
- api.start();
50
- http.start();
51
- dns.start();
52
-
53
- console.log("OAST server running");
54
- ```
55
-
56
- ## 📡 Protocoles supportés
57
-
58
- | Protocole | Listener | Description |
59
- | ------------- | ------------------- | --------------------------------------- |
60
- | **HTTP** | `HttpListener` | Capture des requêtes HTTP entrantes |
61
- | **DNS** | `DnsListener` | Résolution DNS OAST (A, AAAA, TXT…) |
62
- | **SMTP** | `SmtpListener` | Réception d’emails OAST |
63
- | **SSRF** | `SsrfListener` | Détection d’interactions SSRF |
64
- | **Webhook** | `WebhookListener` | Réception d’appels webhook |
65
- | **WebSocket** | `WebSocketListener` | Connexions WebSocket entrantes |
66
- | **TCP** | `TcpListener` | Connexions TCP brutes |
67
- | **API + SSE** | `ApiListener` | API REST + diffusion temps réel via SSE |
68
-
69
- ## 🧩 Architecture
70
-
71
- ![alt text](image.png)
72
-
73
- Chaque listener contient :
74
-
75
- - `*.listener.ts` → serveur du protocole
76
- - `*.extractor.ts` → normalisation des données
77
- - `__tests__/` → tests unitaires
78
-
79
- ## 🧨 Exemple : Listener HTTP
80
-
81
- ```ts
82
- import { HttpListener } from "@j3r3mcdev/oast-server";
83
-
84
- const http = new HttpListener({
85
- port: 8000,
86
- onEvent: (event) => {
87
- console.log("HTTP event:", event);
88
- },
89
- });
90
-
91
- http.start();
92
- ```
93
-
94
- ---
95
-
96
- # 🧨 **Exemple : Listener DNS**
97
-
98
- ## 🧨 Exemple : Listener DNS
99
-
100
- ```ts
101
- import { DnsListener } from "@j3r3mcdev/oast-server";
102
-
103
- const dns = new DnsListener({
104
- port: 5353,
105
- onEvent: (event) => {
106
- console.log("DNS event:", event);
107
- },
108
- });
109
-
110
- dns.start();
111
- ```
112
-
113
- ---
114
-
115
- # 🧨 **Exemple : SSE (temps réel)**
116
-
117
- ```md
118
- ## 🧨 Exemple : SSE (temps réel)
119
- ```
120
-
121
- ```ts
122
- const stream = new EventSource(
123
- "http://localhost:8080/stream?channels=http,dns",
124
- );
125
-
126
- stream.onmessage = (msg) => {
127
- const event = JSON.parse(msg.data);
128
- console.log("Event reçu :", event);
129
- };
130
- ```
131
-
132
- ---
133
-
134
- # 🧨 **Exemple : API REST**
135
-
136
- ## 🧨 Exemple : API REST
137
-
138
- ### Récupérer les events
139
-
140
- ```bash
141
- curl http://localhost:8080/events
142
- ```
143
-
144
- ### Créer une tâche
145
-
146
- ```bash
147
- curl -X POST http://localhost:8080/tasks \
148
- -H "Content-Type: application/json" \
149
- -d '{"type":"scan","payload":{"url":"http://example.com"}}'
150
- ```
151
-
152
- ---
153
-
154
- # 🧱 **Storage** (Markdown PRO)
155
-
156
- ## 🧱 Storage
157
-
158
- Par défaut : **in‑memory**
159
-
160
- Vous pouvez implémenter votre propre storage :
161
-
162
- ```ts
163
- export interface StorageAdapter {
164
- save(event: OastEvent): Promise<void>;
165
- list(filters: any): Promise<OastEvent[]>;
166
- }
167
-
168
- class MyStorage implements StorageAdapter {
169
- private events = [];
170
- async save(e) {
171
- this.events.push(e);
172
- }
173
- async list() {
174
- return this.events;
175
- }
176
- }
177
- ```
178
-
179
- ---
180
-
181
- # 🧪 **Tests** (Markdown PRO)
182
-
183
- ## 🧪 Tests
184
-
185
- - **37 suites**
186
- - **118 tests**
187
- - **100% verts**
188
- - Tests d’intégration réservés à l’outil d’audit (non inclus dans la lib)
189
-
190
- ## 📘 Licence
191
-
192
- MIT
1
+ # OAST Server — Multi‑Protocol Out‑of‑Band Interaction Framework
2
+
3
+ Un serveur OAST modulaire, extensible et agnostique, conçu pour capturer, normaliser et diffuser des interactions _out‑of‑band_ provenant de multiples canaux : HTTP, DNS, SMTP, SSRF, Webhook, WebSocket, TCP, API REST et SSE.
4
+
5
+ Ce framework fournit une architecture listener‑based robuste, unifiée et testée, idéale pour les outils de diagnostic, scanners de vulnérabilités, plateformes d’audit ou systèmes de détection avancés.
6
+
7
+ ---
8
+
9
+ ## ✨ Caractéristiques principales
10
+
11
+ - **Architecture modulaire par listeners**
12
+ Chaque protocole est isolé dans son propre module (`http`, `dns`, `smtp`, `ssrf`, `webhook`, `websocket`, `tcp`, `api`).
13
+
14
+ - **Extractors dédiés**
15
+ Chaque listener dispose d’un extractor responsable de la normalisation des données brutes.
16
+
17
+ - **API REST intégrée**
18
+ Permet de récupérer les events, les tasks, les métadonnées et l’état du serveur.
19
+
20
+ - **SSE (Server‑Sent Events)**
21
+ Diffusion en temps réel des interactions capturées.
22
+
23
+ - **Storage agnostique**
24
+ Implémentation par défaut en mémoire, extensible vers Redis, SQLite, PostgreSQL, etc.
25
+
26
+ - **Suite de tests complète**
27
+ 118 tests unitaires couvrant extractors, listeners, API, SSE et services.
28
+
29
+ - **Aucune dépendance lourde**
30
+ Pas d’Express, pas de framework web : un cœur minimaliste, rapide et portable.
31
+
32
+ ---
33
+
34
+ ## 📦 Installation
35
+
36
+ ```bash
37
+ npm install @j3r3mcdev/oast-server
38
+ ```
39
+
40
+ ## 🚀 Démarrage rapide
41
+
42
+ ```ts
43
+ import { ApiListener, HttpListener, DnsListener } from "@j3r3mcdev/oast-server";
44
+
45
+ const api = new ApiListener({ port: 8080 });
46
+ const http = new HttpListener({ port: 8000 });
47
+ const dns = new DnsListener({ port: 5353 });
48
+
49
+ api.start();
50
+ http.start();
51
+ dns.start();
52
+
53
+ console.log("OAST server running");
54
+ ```
55
+
56
+ ## 📡 Protocoles supportés
57
+
58
+ | Protocole | Listener | Description |
59
+ | ------------- | ------------------- | --------------------------------------- |
60
+ | **HTTP** | `HttpListener` | Capture des requêtes HTTP entrantes |
61
+ | **DNS** | `DnsListener` | Résolution DNS OAST (A, AAAA, TXT…) |
62
+ | **SMTP** | `SmtpListener` | Réception d’emails OAST |
63
+ | **SSRF** | `SsrfListener` | Détection d’interactions SSRF |
64
+ | **Webhook** | `WebhookListener` | Réception d’appels webhook |
65
+ | **WebSocket** | `WebSocketListener` | Connexions WebSocket entrantes |
66
+ | **TCP** | `TcpListener` | Connexions TCP brutes |
67
+ | **API + SSE** | `ApiListener` | API REST + diffusion temps réel via SSE |
68
+
69
+ ## 🧩 Architecture
70
+
71
+ ![alt text](image.png)
72
+
73
+ Chaque listener contient :
74
+
75
+ - `*.listener.ts` → serveur du protocole
76
+ - `*.extractor.ts` → normalisation des données
77
+ - `__tests__/` → tests unitaires
78
+
79
+ ## 🧨 Exemple : Listener HTTP
80
+
81
+ ```ts
82
+ import { HttpListener } from "@j3r3mcdev/oast-server";
83
+
84
+ const http = new HttpListener({
85
+ port: 8000,
86
+ onEvent: (event) => {
87
+ console.log("HTTP event:", event);
88
+ },
89
+ });
90
+
91
+ http.start();
92
+ ```
93
+
94
+ ---
95
+
96
+ # 🧨 **Exemple : Listener DNS**
97
+
98
+ ## 🧨 Exemple : Listener DNS
99
+
100
+ ```ts
101
+ import { DnsListener } from "@j3r3mcdev/oast-server";
102
+
103
+ const dns = new DnsListener({
104
+ port: 5353,
105
+ onEvent: (event) => {
106
+ console.log("DNS event:", event);
107
+ },
108
+ });
109
+
110
+ dns.start();
111
+ ```
112
+
113
+ ---
114
+
115
+ # 🧨 **Exemple : SSE (temps réel)**
116
+
117
+ ```md
118
+ ## 🧨 Exemple : SSE (temps réel)
119
+ ```
120
+
121
+ ```ts
122
+ const stream = new EventSource(
123
+ "http://localhost:8080/stream?channels=http,dns",
124
+ );
125
+
126
+ stream.onmessage = (msg) => {
127
+ const event = JSON.parse(msg.data);
128
+ console.log("Event reçu :", event);
129
+ };
130
+ ```
131
+
132
+ ---
133
+
134
+ # 🧨 **Exemple : API REST**
135
+
136
+ ## 🧨 Exemple : API REST
137
+
138
+ ### Récupérer les events
139
+
140
+ ```bash
141
+ curl http://localhost:8080/events
142
+ ```
143
+
144
+ ### Créer une tâche
145
+
146
+ ```bash
147
+ curl -X POST http://localhost:8080/tasks \
148
+ -H "Content-Type: application/json" \
149
+ -d '{"type":"scan","payload":{"url":"http://example.com"}}'
150
+ ```
151
+
152
+ ---
153
+
154
+ # 🧱 **Storage** (Markdown PRO)
155
+
156
+ ## 🧱 Storage
157
+
158
+ Par défaut : **in‑memory**
159
+
160
+ Vous pouvez implémenter votre propre storage :
161
+
162
+ ```ts
163
+ export interface StorageAdapter {
164
+ save(event: OastEvent): Promise<void>;
165
+ list(filters: any): Promise<OastEvent[]>;
166
+ }
167
+
168
+ class MyStorage implements StorageAdapter {
169
+ private events = [];
170
+ async save(e) {
171
+ this.events.push(e);
172
+ }
173
+ async list() {
174
+ return this.events;
175
+ }
176
+ }
177
+ ```
178
+
179
+ ---
180
+
181
+ # 🧪 **Tests** (Markdown PRO)
182
+
183
+ ## 🧪 Tests
184
+
185
+ - **37 suites**
186
+ - **118 tests**
187
+ - **100% verts**
188
+ - Tests d’intégration réservés à l’outil d’audit (non inclus dans la lib)
189
+
190
+ ## 📘 Licence
191
+
192
+ MIT
@@ -12,6 +12,5 @@ export declare class CoreRouter {
12
12
  private hooks;
13
13
  constructor(storage: Storage, options?: RouterOptions);
14
14
  dispatch(event: AnyNormalizedEvent): Promise<void>;
15
- route(event: AnyNormalizedEvent): Promise<void>;
16
15
  addHook(hook: RouterHook): void;
17
16
  }
@@ -9,8 +9,11 @@ class CoreRouter {
9
9
  this.hooks = options.hooks ?? [];
10
10
  }
11
11
  async dispatch(event) {
12
+ // 1. Log
12
13
  this.logger.info(`Event received (${event.type})`, { id: event.id });
14
+ // 2. Save
13
15
  await this.storage.save(event);
16
+ // 3. Hooks
14
17
  for (const hook of this.hooks) {
15
18
  try {
16
19
  await hook(event);
@@ -20,9 +23,6 @@ class CoreRouter {
20
23
  }
21
24
  }
22
25
  }
23
- async route(event) {
24
- return this.dispatch(event);
25
- }
26
26
  addHook(hook) {
27
27
  this.hooks.push(hook);
28
28
  }
package/jest.config.js CHANGED
@@ -1,14 +1,14 @@
1
- const { createDefaultPreset } = require("ts-jest");
2
-
3
- const tsJestTransformCfg = createDefaultPreset().transform;
4
-
5
- /** @type {import("jest").Config} **/
6
- module.exports = {
7
- testEnvironment: "node",
8
- transform: {
9
- ...tsJestTransformCfg,
10
- },
11
-
12
- // 🔥 Empêche Jest d'exécuter les tests compilés dans dist/
13
- testPathIgnorePatterns: ["/dist/"],
14
- };
1
+ const { createDefaultPreset } = require("ts-jest");
2
+
3
+ const tsJestTransformCfg = createDefaultPreset().transform;
4
+
5
+ /** @type {import("jest").Config} **/
6
+ module.exports = {
7
+ testEnvironment: "node",
8
+ transform: {
9
+ ...tsJestTransformCfg,
10
+ },
11
+
12
+ // 🔥 Empêche Jest d'exécuter les tests compilés dans dist/
13
+ testPathIgnorePatterns: ["/dist/"],
14
+ };
package/package.json CHANGED
@@ -1,45 +1,45 @@
1
- {
2
- "name": "@j3r3mcdev/oast-server",
3
- "version": "1.1.8",
4
- "description": "Modular OAST callback server for security auditing",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "scripts": {
8
- "dev": "ts-node-dev --respawn --transpile-only src/core/server.ts",
9
- "build": "tsc -p tsconfig.json",
10
- "start": "node dist/core/server.js",
11
- "clean": "rimraf dist",
12
- "test": "jest --passWithNoTests"
13
- },
14
- "keywords": [
15
- "oast",
16
- "security",
17
- "ssrf",
18
- "callback",
19
- "audit",
20
- "pentest"
21
- ],
22
- "author": "Jérémy",
23
- "license": "MIT",
24
- "dependencies": {
25
- "body-parser": "^1.20.2",
26
- "cors": "^2.8.5",
27
- "dotenv": "^16.4.5",
28
- "express": "^4.19.2",
29
- "ioredis": "^5.4.1",
30
- "ws": "^8.21.0"
31
- },
32
- "devDependencies": {
33
- "@types/body-parser": "^1.19.5",
34
- "@types/cors": "^2.8.17",
35
- "@types/express": "^4.17.21",
36
- "@types/jest": "^29.5.14",
37
- "@types/node": "^20.12.7",
38
- "@types/ws": "^8.18.1",
39
- "jest": "^29.7.0",
40
- "rimraf": "^5.0.5",
41
- "ts-jest": "^29.4.11",
42
- "ts-node-dev": "^2.0.0",
43
- "typescript": "^5.4.5"
44
- }
45
- }
1
+ {
2
+ "name": "@j3r3mcdev/oast-server",
3
+ "version": "1.1.10",
4
+ "description": "Modular OAST callback server for security auditing",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "dev": "ts-node-dev --respawn --transpile-only src/core/server.ts",
9
+ "build": "tsc -p tsconfig.json",
10
+ "start": "node dist/core/server.js",
11
+ "clean": "rimraf dist",
12
+ "test": "jest --passWithNoTests"
13
+ },
14
+ "keywords": [
15
+ "oast",
16
+ "security",
17
+ "ssrf",
18
+ "callback",
19
+ "audit",
20
+ "pentest"
21
+ ],
22
+ "author": "Jérémy",
23
+ "license": "MIT",
24
+ "dependencies": {
25
+ "body-parser": "^1.20.2",
26
+ "cors": "^2.8.5",
27
+ "dotenv": "^16.4.5",
28
+ "express": "^4.19.2",
29
+ "ioredis": "^5.4.1",
30
+ "ws": "^8.21.0"
31
+ },
32
+ "devDependencies": {
33
+ "@types/body-parser": "^1.19.5",
34
+ "@types/cors": "^2.8.17",
35
+ "@types/express": "^4.17.21",
36
+ "@types/jest": "^29.5.14",
37
+ "@types/node": "^20.12.7",
38
+ "@types/ws": "^8.18.1",
39
+ "jest": "^29.7.0",
40
+ "rimraf": "^5.0.5",
41
+ "ts-jest": "^29.4.11",
42
+ "ts-node-dev": "^2.0.0",
43
+ "typescript": "^5.4.5"
44
+ }
45
+ }
@@ -1,9 +1,9 @@
1
- 8faa343 (HEAD -> feat/core-event, origin/main, main) HEAD@{0}: checkout: moving from main to feat/core-event
2
- 8faa343 (HEAD -> feat/core-event, origin/main, main) HEAD@{1}: commit: ADD FULL architecture
3
- 8f8f441 HEAD@{2}: commit: ADD CI/CD
4
- 0c987a0 HEAD@{3}: commit: ADD CI/CD
5
- 8aad148 HEAD@{4}: commit: ADD CI/CD
6
- e1f2959 HEAD@{5}: commit: ADD CI/CD
7
- 271e3b1 HEAD@{6}: commit: ADD Architecture & package.json & tsconfig.json
8
- b840cd3 HEAD@{7}: Branch: renamed refs/heads/master to refs/heads/main
9
- b840cd3 HEAD@{9}: commit (initial): Initial project structure
1
+ 8faa343 (HEAD -> feat/core-event, origin/main, main) HEAD@{0}: checkout: moving from main to feat/core-event
2
+ 8faa343 (HEAD -> feat/core-event, origin/main, main) HEAD@{1}: commit: ADD FULL architecture
3
+ 8f8f441 HEAD@{2}: commit: ADD CI/CD
4
+ 0c987a0 HEAD@{3}: commit: ADD CI/CD
5
+ 8aad148 HEAD@{4}: commit: ADD CI/CD
6
+ e1f2959 HEAD@{5}: commit: ADD CI/CD
7
+ 271e3b1 HEAD@{6}: commit: ADD Architecture & package.json & tsconfig.json
8
+ b840cd3 HEAD@{7}: Branch: renamed refs/heads/master to refs/heads/main
9
+ b840cd3 HEAD@{9}: commit (initial): Initial project structure