@atlascrew/apparatus 0.9.0

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 (291) hide show
  1. package/bin/apparatus.mjs +2 -0
  2. package/certs/server.crt +17 -0
  3. package/certs/server.key +28 -0
  4. package/dist/ai/client.js +104 -0
  5. package/dist/ai/client.js.map +1 -0
  6. package/dist/ai/personas.js +104 -0
  7. package/dist/ai/personas.js.map +1 -0
  8. package/dist/ai/redteam.js +1404 -0
  9. package/dist/ai/redteam.js.map +1 -0
  10. package/dist/ai/report-store.js +309 -0
  11. package/dist/ai/report-store.js.map +1 -0
  12. package/dist/app.js +525 -0
  13. package/dist/app.js.map +1 -0
  14. package/dist/attack-sim.js +69 -0
  15. package/dist/attack-sim.js.map +1 -0
  16. package/dist/attacker-tracker.js +276 -0
  17. package/dist/attacker-tracker.js.map +1 -0
  18. package/dist/blackhole.js +95 -0
  19. package/dist/blackhole.js.map +1 -0
  20. package/dist/chaos.js +88 -0
  21. package/dist/chaos.js.map +1 -0
  22. package/dist/cluster.js +462 -0
  23. package/dist/cluster.js.map +1 -0
  24. package/dist/config.js +61 -0
  25. package/dist/config.js.map +1 -0
  26. package/dist/deception.js +205 -0
  27. package/dist/deception.js.map +1 -0
  28. package/dist/demo-mode.js +109 -0
  29. package/dist/demo-mode.js.map +1 -0
  30. package/dist/dist-dashboard/assets/index-BsMhEnGu.js +648 -0
  31. package/dist/dist-dashboard/assets/index-CNOkYC_Q.css +10 -0
  32. package/dist/dist-dashboard/assets/index-CW2grvPC.js +648 -0
  33. package/dist/dist-dashboard/assets/logo/apparatus-favicon.svg +15 -0
  34. package/dist/dist-dashboard/assets/logo/apparatus-icon-dark.svg +24 -0
  35. package/dist/dist-dashboard/assets/logo/apparatus-icon-light.svg +24 -0
  36. package/dist/dist-dashboard/assets/logo/apparatus-logo-512.png +0 -0
  37. package/dist/dist-dashboard/assets/logo/apparatus-logo-dark.svg +18 -0
  38. package/dist/dist-dashboard/assets/logo/apparatus-logo.svg +17 -0
  39. package/dist/dist-dashboard/assets/logo/apple-touch-icon.png +0 -0
  40. package/dist/dist-dashboard/assets/logo/favicon-192.png +0 -0
  41. package/dist/dist-dashboard/assets/logo/favicon-32.png +0 -0
  42. package/dist/dist-dashboard/assets/logo/favicon.ico +0 -0
  43. package/dist/dist-dashboard/assets/logo/icon-192.png +0 -0
  44. package/dist/dist-dashboard/assets/logo/icon-512.png +0 -0
  45. package/dist/dist-dashboard/assets/logo/icon-light-512.png +0 -0
  46. package/dist/dist-dashboard/assets/react-vendor-DpRMSntD.js +1 -0
  47. package/dist/dist-dashboard/assets/router-DSc5pRwN.js +59 -0
  48. package/dist/dist-dashboard/docs-index.json +1577 -0
  49. package/dist/dist-dashboard/index.html +21 -0
  50. package/dist/dlp.js +40 -0
  51. package/dist/dlp.js.map +1 -0
  52. package/dist/drills.js +770 -0
  53. package/dist/drills.js.map +1 -0
  54. package/dist/echoHandler.js +113 -0
  55. package/dist/echoHandler.js.map +1 -0
  56. package/dist/escape/index.js +225 -0
  57. package/dist/escape/index.js.map +1 -0
  58. package/dist/escape/methods/dns.js +74 -0
  59. package/dist/escape/methods/dns.js.map +1 -0
  60. package/dist/escape/methods/http.js +81 -0
  61. package/dist/escape/methods/http.js.map +1 -0
  62. package/dist/escape/methods/icmp.js +36 -0
  63. package/dist/escape/methods/icmp.js.map +1 -0
  64. package/dist/escape/methods/tcp.js +38 -0
  65. package/dist/escape/methods/tcp.js.map +1 -0
  66. package/dist/escape/methods/udp.js +27 -0
  67. package/dist/escape/methods/udp.js.map +1 -0
  68. package/dist/escape/methods/websocket.js +37 -0
  69. package/dist/escape/methods/websocket.js.map +1 -0
  70. package/dist/forensics.js +111 -0
  71. package/dist/forensics.js.map +1 -0
  72. package/dist/generator.js +67 -0
  73. package/dist/generator.js.map +1 -0
  74. package/dist/ghosting.js +414 -0
  75. package/dist/ghosting.js.map +1 -0
  76. package/dist/graphql.js +44 -0
  77. package/dist/graphql.js.map +1 -0
  78. package/dist/history.js +40 -0
  79. package/dist/history.js.map +1 -0
  80. package/dist/imposter/creds.js +16 -0
  81. package/dist/imposter/creds.js.map +1 -0
  82. package/dist/imposter/index.js +44 -0
  83. package/dist/imposter/index.js.map +1 -0
  84. package/dist/imposter/providers/aws.js +103 -0
  85. package/dist/imposter/providers/aws.js.map +1 -0
  86. package/dist/imposter/providers/gcp.js +26 -0
  87. package/dist/imposter/providers/gcp.js.map +1 -0
  88. package/dist/index.js +53 -0
  89. package/dist/index.js.map +1 -0
  90. package/dist/infra-debug.js +68 -0
  91. package/dist/infra-debug.js.map +1 -0
  92. package/dist/jwt-debug.js +272 -0
  93. package/dist/jwt-debug.js.map +1 -0
  94. package/dist/kv.js +22 -0
  95. package/dist/kv.js.map +1 -0
  96. package/dist/lib/generators.js +43 -0
  97. package/dist/lib/generators.js.map +1 -0
  98. package/dist/lib/json.js +26 -0
  99. package/dist/lib/json.js.map +1 -0
  100. package/dist/logger.js +9 -0
  101. package/dist/logger.js.map +1 -0
  102. package/dist/metrics.js +20 -0
  103. package/dist/metrics.js.map +1 -0
  104. package/dist/mtd.js +30 -0
  105. package/dist/mtd.js.map +1 -0
  106. package/dist/oidc.js +69 -0
  107. package/dist/oidc.js.map +1 -0
  108. package/dist/persistence/cluster-state.js +47 -0
  109. package/dist/persistence/cluster-state.js.map +1 -0
  110. package/dist/persistence/deception-history.js +65 -0
  111. package/dist/persistence/deception-history.js.map +1 -0
  112. package/dist/persistence/drill-runs.js +138 -0
  113. package/dist/persistence/drill-runs.js.map +1 -0
  114. package/dist/persistence/request-history.js +41 -0
  115. package/dist/persistence/request-history.js.map +1 -0
  116. package/dist/persistence/scenario-catalog.js +73 -0
  117. package/dist/persistence/scenario-catalog.js.map +1 -0
  118. package/dist/persistence/status.js +51 -0
  119. package/dist/persistence/status.js.map +1 -0
  120. package/dist/persistence/tarpit-state.js +47 -0
  121. package/dist/persistence/tarpit-state.js.map +1 -0
  122. package/dist/persistence/webhook-store.js +69 -0
  123. package/dist/persistence/webhook-store.js.map +1 -0
  124. package/dist/proxy.js +28 -0
  125. package/dist/proxy.js.map +1 -0
  126. package/dist/ratelimit.js +32 -0
  127. package/dist/ratelimit.js.map +1 -0
  128. package/dist/redteam.js +442 -0
  129. package/dist/redteam.js.map +1 -0
  130. package/dist/scenarios.js +229 -0
  131. package/dist/scenarios.js.map +1 -0
  132. package/dist/scripting.js +30 -0
  133. package/dist/scripting.js.map +1 -0
  134. package/dist/self-healing.js +42 -0
  135. package/dist/self-healing.js.map +1 -0
  136. package/dist/sentinel.js +50 -0
  137. package/dist/sentinel.js.map +1 -0
  138. package/dist/server-bad-ssl.js +47 -0
  139. package/dist/server-bad-ssl.js.map +1 -0
  140. package/dist/server-grpc.js +66 -0
  141. package/dist/server-grpc.js.map +1 -0
  142. package/dist/server-http1.js +5 -0
  143. package/dist/server-http1.js.map +1 -0
  144. package/dist/server-http2.js +27 -0
  145. package/dist/server-http2.js.map +1 -0
  146. package/dist/server-icap.js +46 -0
  147. package/dist/server-icap.js.map +1 -0
  148. package/dist/server-l4.js +30 -0
  149. package/dist/server-l4.js.map +1 -0
  150. package/dist/server-mqtt.js +29 -0
  151. package/dist/server-mqtt.js.map +1 -0
  152. package/dist/server-protocols.js +18 -0
  153. package/dist/server-protocols.js.map +1 -0
  154. package/dist/server-redis.js +112 -0
  155. package/dist/server-redis.js.map +1 -0
  156. package/dist/server-smtp.js +66 -0
  157. package/dist/server-smtp.js.map +1 -0
  158. package/dist/server-syslog.js +23 -0
  159. package/dist/server-syslog.js.map +1 -0
  160. package/dist/server-ws.js +18 -0
  161. package/dist/server-ws.js.map +1 -0
  162. package/dist/sidecar/chaos/engine.js +41 -0
  163. package/dist/sidecar/chaos/engine.js.map +1 -0
  164. package/dist/sidecar/index.js +98 -0
  165. package/dist/sidecar/index.js.map +1 -0
  166. package/dist/simulator/dependency-graph.js +102 -0
  167. package/dist/simulator/dependency-graph.js.map +1 -0
  168. package/dist/simulator/supply-chain.js +67 -0
  169. package/dist/simulator/supply-chain.js.map +1 -0
  170. package/dist/sink.js +24 -0
  171. package/dist/sink.js.map +1 -0
  172. package/dist/sse-broadcast.js +105 -0
  173. package/dist/sse-broadcast.js.map +1 -0
  174. package/dist/swagger.js +309 -0
  175. package/dist/swagger.js.map +1 -0
  176. package/dist/sysinfo.js +36 -0
  177. package/dist/sysinfo.js.map +1 -0
  178. package/dist/tarpit.js +126 -0
  179. package/dist/tarpit.js.map +1 -0
  180. package/dist/tool-executor.js +315 -0
  181. package/dist/tool-executor.js.map +1 -0
  182. package/dist/tui/api-client.js +341 -0
  183. package/dist/tui/api-client.js.map +1 -0
  184. package/dist/tui/core/action-handler.js +302 -0
  185. package/dist/tui/core/action-handler.js.map +1 -0
  186. package/dist/tui/core/index.js +18 -0
  187. package/dist/tui/core/index.js.map +1 -0
  188. package/dist/tui/core/keyboard.js +329 -0
  189. package/dist/tui/core/keyboard.js.map +1 -0
  190. package/dist/tui/core/modal.js +397 -0
  191. package/dist/tui/core/modal.js.map +1 -0
  192. package/dist/tui/core/screen-manager.js +262 -0
  193. package/dist/tui/core/screen-manager.js.map +1 -0
  194. package/dist/tui/core/store.js +254 -0
  195. package/dist/tui/core/store.js.map +1 -0
  196. package/dist/tui/core/widget.js +167 -0
  197. package/dist/tui/core/widget.js.map +1 -0
  198. package/dist/tui/dashboard.js +649 -0
  199. package/dist/tui/dashboard.js.map +1 -0
  200. package/dist/tui/index.js +118 -0
  201. package/dist/tui/index.js.map +1 -0
  202. package/dist/tui/modals/add-rule-modal.js +190 -0
  203. package/dist/tui/modals/add-rule-modal.js.map +1 -0
  204. package/dist/tui/modals/dlp-output-modal.js +102 -0
  205. package/dist/tui/modals/dlp-output-modal.js.map +1 -0
  206. package/dist/tui/modals/dns-form-modal.js +26 -0
  207. package/dist/tui/modals/dns-form-modal.js.map +1 -0
  208. package/dist/tui/modals/ghost-config-modal.js +35 -0
  209. package/dist/tui/modals/ghost-config-modal.js.map +1 -0
  210. package/dist/tui/modals/har-results-modal.js +41 -0
  211. package/dist/tui/modals/har-results-modal.js.map +1 -0
  212. package/dist/tui/modals/index.js +15 -0
  213. package/dist/tui/modals/index.js.map +1 -0
  214. package/dist/tui/modals/jwt-decode-modal.js +45 -0
  215. package/dist/tui/modals/jwt-decode-modal.js.map +1 -0
  216. package/dist/tui/modals/jwt-mint-modal.js +70 -0
  217. package/dist/tui/modals/jwt-mint-modal.js.map +1 -0
  218. package/dist/tui/modals/ping-form-modal.js +19 -0
  219. package/dist/tui/modals/ping-form-modal.js.map +1 -0
  220. package/dist/tui/modals/redteam-results-modal.js +43 -0
  221. package/dist/tui/modals/redteam-results-modal.js.map +1 -0
  222. package/dist/tui/modals/scan-form-modal.js +26 -0
  223. package/dist/tui/modals/scan-form-modal.js.map +1 -0
  224. package/dist/tui/screens/defense-screen.js +281 -0
  225. package/dist/tui/screens/defense-screen.js.map +1 -0
  226. package/dist/tui/screens/forensics-screen.js +81 -0
  227. package/dist/tui/screens/forensics-screen.js.map +1 -0
  228. package/dist/tui/screens/index.js +140 -0
  229. package/dist/tui/screens/index.js.map +1 -0
  230. package/dist/tui/screens/system-screen.js +81 -0
  231. package/dist/tui/screens/system-screen.js.map +1 -0
  232. package/dist/tui/screens/testing-screen.js +429 -0
  233. package/dist/tui/screens/testing-screen.js.map +1 -0
  234. package/dist/tui/screens/traffic-screen.js +76 -0
  235. package/dist/tui/screens/traffic-screen.js.map +1 -0
  236. package/dist/tui/sse-client.js +130 -0
  237. package/dist/tui/sse-client.js.map +1 -0
  238. package/dist/tui/state/metrics-buffer.js +195 -0
  239. package/dist/tui/state/metrics-buffer.js.map +1 -0
  240. package/dist/tui/state/metrics-buffer.test.js +102 -0
  241. package/dist/tui/state/metrics-buffer.test.js.map +1 -0
  242. package/dist/tui/theme.js +136 -0
  243. package/dist/tui/theme.js.map +1 -0
  244. package/dist/tui/types.js +6 -0
  245. package/dist/tui/types.js.map +1 -0
  246. package/dist/tui/widgets/chaos-widget.js +152 -0
  247. package/dist/tui/widgets/chaos-widget.js.map +1 -0
  248. package/dist/tui/widgets/cluster-widget.js +156 -0
  249. package/dist/tui/widgets/cluster-widget.js.map +1 -0
  250. package/dist/tui/widgets/dlp-widget.js +161 -0
  251. package/dist/tui/widgets/dlp-widget.js.map +1 -0
  252. package/dist/tui/widgets/ghost-widget.js +169 -0
  253. package/dist/tui/widgets/ghost-widget.js.map +1 -0
  254. package/dist/tui/widgets/har-widget.js +173 -0
  255. package/dist/tui/widgets/har-widget.js.map +1 -0
  256. package/dist/tui/widgets/index.js +122 -0
  257. package/dist/tui/widgets/index.js.map +1 -0
  258. package/dist/tui/widgets/jwt-widget.js +177 -0
  259. package/dist/tui/widgets/jwt-widget.js.map +1 -0
  260. package/dist/tui/widgets/kv-widget.js +261 -0
  261. package/dist/tui/widgets/kv-widget.js.map +1 -0
  262. package/dist/tui/widgets/mtd-widget.js +181 -0
  263. package/dist/tui/widgets/mtd-widget.js.map +1 -0
  264. package/dist/tui/widgets/netdiag-widget.js +155 -0
  265. package/dist/tui/widgets/netdiag-widget.js.map +1 -0
  266. package/dist/tui/widgets/oidc-widget.js +162 -0
  267. package/dist/tui/widgets/oidc-widget.js.map +1 -0
  268. package/dist/tui/widgets/pcap-widget.js +239 -0
  269. package/dist/tui/widgets/pcap-widget.js.map +1 -0
  270. package/dist/tui/widgets/redteam-widget.js +155 -0
  271. package/dist/tui/widgets/redteam-widget.js.map +1 -0
  272. package/dist/tui/widgets/rps-gauge-widget.js +124 -0
  273. package/dist/tui/widgets/rps-gauge-widget.js.map +1 -0
  274. package/dist/tui/widgets/sentinel-widget.js +171 -0
  275. package/dist/tui/widgets/sentinel-widget.js.map +1 -0
  276. package/dist/tui/widgets/sparklines-widget.js +127 -0
  277. package/dist/tui/widgets/sparklines-widget.js.map +1 -0
  278. package/dist/tui/widgets/sysinfo-widget.js +197 -0
  279. package/dist/tui/widgets/sysinfo-widget.js.map +1 -0
  280. package/dist/tui/widgets/traffic-chart-widget.js +170 -0
  281. package/dist/tui/widgets/traffic-chart-widget.js.map +1 -0
  282. package/dist/tui/widgets/webhook-widget.js +259 -0
  283. package/dist/tui/widgets/webhook-widget.js.map +1 -0
  284. package/dist/utils/ip.js +18 -0
  285. package/dist/utils/ip.js.map +1 -0
  286. package/dist/victim/index.js +71 -0
  287. package/dist/victim/index.js.map +1 -0
  288. package/dist/webhook.js +88 -0
  289. package/dist/webhook.js.map +1 -0
  290. package/package.json +90 -0
  291. package/proto/echo.proto +19 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/tui/dashboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Apparatus TUI Entry Point
4
+ * Security-focused terminal dashboard for Apparatus
5
+ */
6
+ import { createDashboard } from './dashboard.js';
7
+ function parseArgs() {
8
+ const args = process.argv.slice(2);
9
+ let target = process.env.APPARATUS_TARGET ?? 'http://localhost:8080';
10
+ let help = false;
11
+ for (let i = 0; i < args.length; i++) {
12
+ const arg = args[i];
13
+ if (arg === '--help' || arg === '-h') {
14
+ help = true;
15
+ }
16
+ else if ((arg === '--target' || arg === '-t') && args[i + 1]) {
17
+ target = args[i + 1];
18
+ i++;
19
+ }
20
+ else if (arg?.startsWith('--target=')) {
21
+ target = arg.split('=')[1];
22
+ }
23
+ else if (arg?.startsWith('-t=')) {
24
+ target = arg.split('=')[1];
25
+ }
26
+ }
27
+ // Ensure target has protocol
28
+ if (!target.startsWith('http://') && !target.startsWith('https://')) {
29
+ target = `http://${target}`;
30
+ }
31
+ // Remove trailing slash
32
+ target = target.replace(/\/$/, '');
33
+ return { target, help };
34
+ }
35
+ function printHelp() {
36
+ console.log(`
37
+ Apparatus TUI - Apparatus Terminal Dashboard
38
+
39
+ Usage:
40
+ pnpm run tui [options]
41
+ node --loader ts-node/esm src/tui/index.ts [options]
42
+
43
+ Options:
44
+ -t, --target <url> Target Apparatus server URL (default: http://localhost:8080)
45
+ -h, --help Show this help message
46
+
47
+ Environment Variables:
48
+ APPARATUS_TARGET Default target URL
49
+
50
+ Examples:
51
+ pnpm run tui
52
+ pnpm run tui -- --target http://localhost:8080
53
+ pnpm run tui -- -t https://echo.example.com:8443
54
+
55
+ Keyboard Shortcuts:
56
+ q, Ctrl+C Quit
57
+ ?, h Help
58
+ f Filter requests
59
+ c Clear filters
60
+ x Release selected tarpit IP
61
+ X Release all tarpit IPs
62
+ R Reconnect SSE
63
+ r Refresh all data
64
+ ↑/↓, j/k Navigate
65
+ Enter Show details
66
+ `);
67
+ }
68
+ function checkTty() {
69
+ if (!process.stdout.isTTY) {
70
+ console.log('Apparatus TUI requires an interactive terminal.');
71
+ console.log('');
72
+ console.log('For non-interactive monitoring, use:');
73
+ console.log(' curl -N http://localhost:8080/sse');
74
+ console.log('');
75
+ return false;
76
+ }
77
+ return true;
78
+ }
79
+ async function main() {
80
+ const args = parseArgs();
81
+ if (args.help) {
82
+ printHelp();
83
+ process.exit(0);
84
+ }
85
+ if (!checkTty()) {
86
+ process.exit(1);
87
+ }
88
+ console.log(`Connecting to ${args.target}...`);
89
+ try {
90
+ const dashboard = createDashboard({
91
+ target: args.target,
92
+ refreshInterval: 5000,
93
+ maxRequests: 100,
94
+ });
95
+ // Handle process signals
96
+ process.on('SIGINT', () => {
97
+ dashboard.sseClient.disconnect();
98
+ dashboard.poller.stopAll();
99
+ dashboard.screen.destroy();
100
+ process.exit(0);
101
+ });
102
+ process.on('SIGTERM', () => {
103
+ dashboard.sseClient.disconnect();
104
+ dashboard.poller.stopAll();
105
+ dashboard.screen.destroy();
106
+ process.exit(0);
107
+ });
108
+ }
109
+ catch (err) {
110
+ console.error('Failed to start dashboard:', err);
111
+ process.exit(1);
112
+ }
113
+ }
114
+ main().catch((err) => {
115
+ console.error('Fatal error:', err);
116
+ process.exit(1);
117
+ });
118
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * Add Rule Modal for Active Shield (Sentinel)
3
+ * Form for creating new virtual patching rules
4
+ */
5
+ import blessed from 'blessed';
6
+ import { colors } from '../theme.js';
7
+ export function showAddRuleModal(screen, modal, onSubmit) {
8
+ modal.close();
9
+ const container = blessed.box({
10
+ parent: screen,
11
+ top: 'center',
12
+ left: 'center',
13
+ width: '70%',
14
+ height: 16,
15
+ label: ' Add Active Shield Rule ',
16
+ border: { type: 'line' },
17
+ style: {
18
+ border: { fg: colors.accent },
19
+ fg: 'white',
20
+ bg: 'black',
21
+ },
22
+ tags: true,
23
+ });
24
+ // Pattern label
25
+ blessed.text({
26
+ parent: container,
27
+ top: 0,
28
+ left: 2,
29
+ content: 'Pattern (regex):',
30
+ style: { fg: 'white' },
31
+ });
32
+ // Pattern input
33
+ const patternInput = blessed.textbox({
34
+ parent: container,
35
+ top: 1,
36
+ left: 2,
37
+ width: '100%-6',
38
+ height: 1,
39
+ style: {
40
+ fg: 'white',
41
+ bg: 'black',
42
+ focus: { bg: colors.primary },
43
+ },
44
+ inputOnFocus: true,
45
+ value: '',
46
+ });
47
+ // Help text
48
+ blessed.text({
49
+ parent: container,
50
+ top: 2,
51
+ left: 2,
52
+ width: '100%-4',
53
+ content: '{gray-fg}Examples: /admin, \\.env, wp-admin, eval\\(, DROP\\s+TABLE{/gray-fg}',
54
+ tags: true,
55
+ style: { fg: 'gray' },
56
+ });
57
+ // Action label
58
+ blessed.text({
59
+ parent: container,
60
+ top: 4,
61
+ left: 2,
62
+ content: 'Action:',
63
+ style: { fg: 'white' },
64
+ });
65
+ // Action radio buttons
66
+ let selectedAction = 'block';
67
+ const blockRadio = blessed.radiobutton({
68
+ parent: container,
69
+ top: 5,
70
+ left: 2,
71
+ width: 15,
72
+ height: 1,
73
+ content: '● Block',
74
+ style: {
75
+ fg: 'white',
76
+ focus: { bg: colors.primary },
77
+ },
78
+ checked: true,
79
+ });
80
+ const logRadio = blessed.radiobutton({
81
+ parent: container,
82
+ top: 5,
83
+ left: 18,
84
+ width: 15,
85
+ height: 1,
86
+ content: '○ Log Only',
87
+ style: {
88
+ fg: 'white',
89
+ focus: { bg: colors.primary },
90
+ },
91
+ });
92
+ blockRadio.on('check', () => {
93
+ selectedAction = 'block';
94
+ blockRadio.setContent('● Block');
95
+ logRadio.setContent('○ Log Only');
96
+ screen.render();
97
+ });
98
+ logRadio.on('check', () => {
99
+ selectedAction = 'log';
100
+ blockRadio.setContent('○ Block');
101
+ logRadio.setContent('● Log Only');
102
+ screen.render();
103
+ });
104
+ // Description
105
+ blessed.text({
106
+ parent: container,
107
+ top: 7,
108
+ left: 2,
109
+ width: '100%-4',
110
+ content: '{gray-fg}Block: Request will be rejected (403)\nLog: Request allowed but logged{/gray-fg}',
111
+ tags: true,
112
+ style: { fg: 'gray' },
113
+ });
114
+ // Buttons
115
+ const submitBtn = blessed.button({
116
+ parent: container,
117
+ top: 10,
118
+ left: 2,
119
+ width: 12,
120
+ height: 1,
121
+ content: ' Submit ',
122
+ style: {
123
+ fg: 'white',
124
+ bg: colors.success,
125
+ focus: { bg: 'green' },
126
+ },
127
+ });
128
+ const cancelBtn = blessed.button({
129
+ parent: container,
130
+ top: 10,
131
+ left: 16,
132
+ width: 12,
133
+ height: 1,
134
+ content: ' Cancel ',
135
+ style: {
136
+ fg: 'white',
137
+ bg: 'gray',
138
+ focus: { bg: 'red' },
139
+ },
140
+ });
141
+ const cleanup = () => {
142
+ screen.remove(container);
143
+ screen.render();
144
+ };
145
+ const handleSubmit = () => {
146
+ const pattern = patternInput.getValue().trim();
147
+ if (!pattern) {
148
+ // Show error
149
+ blessed.box({
150
+ parent: screen,
151
+ top: 'center',
152
+ left: 'center',
153
+ width: 40,
154
+ height: 5,
155
+ border: { type: 'line' },
156
+ style: {
157
+ border: { fg: colors.error },
158
+ fg: 'white',
159
+ bg: 'black',
160
+ },
161
+ content: '\n {red-fg}✗{/red-fg} Pattern cannot be empty!',
162
+ tags: true,
163
+ });
164
+ setTimeout(() => {
165
+ screen.children.forEach((child) => {
166
+ if (child !== container)
167
+ screen.remove(child);
168
+ });
169
+ patternInput.focus();
170
+ screen.render();
171
+ }, 1500);
172
+ return;
173
+ }
174
+ cleanup();
175
+ onSubmit(pattern, selectedAction);
176
+ };
177
+ submitBtn.on('press', handleSubmit);
178
+ cancelBtn.on('press', cleanup);
179
+ container.key(['escape'], cleanup);
180
+ patternInput.key(['enter'], () => {
181
+ submitBtn.focus();
182
+ });
183
+ container.key(['tab'], () => {
184
+ // Tab navigation between inputs
185
+ submitBtn.focus();
186
+ });
187
+ patternInput.focus();
188
+ screen.render();
189
+ }
190
+ //# sourceMappingURL=add-rule-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-rule-modal.js","sourceRoot":"","sources":["../../../src/tui/modals/add-rule-modal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * DLP Output Modal
3
+ * Displays generated DLP test data in detail
4
+ */
5
+ import blessed from 'blessed';
6
+ import { colors } from '../theme.js';
7
+ export function showDlpOutputModal(screen, modal, data) {
8
+ modal.close();
9
+ const container = blessed.box({
10
+ parent: screen,
11
+ top: 'center',
12
+ left: 'center',
13
+ width: '80%',
14
+ height: '70%',
15
+ label: ` DLP Test Data: ${data.type.toUpperCase()} `,
16
+ border: { type: 'line' },
17
+ style: {
18
+ border: { fg: colors.accent },
19
+ fg: 'white',
20
+ bg: 'black',
21
+ },
22
+ tags: true,
23
+ keys: true,
24
+ vi: true,
25
+ scrollable: true,
26
+ alwaysScroll: true,
27
+ scrollbar: {
28
+ ch: '█',
29
+ track: { bg: 'gray' },
30
+ style: { bg: colors.primary },
31
+ },
32
+ });
33
+ const lines = [];
34
+ lines.push('{bold}Type:{/bold}');
35
+ lines.push(` {cyan-fg}${data.type.toUpperCase()}{/cyan-fg}`);
36
+ lines.push('');
37
+ lines.push('{bold}Description:{/bold}');
38
+ lines.push(` ${data.description}`);
39
+ lines.push('');
40
+ lines.push('{bold}Generated Value:{/bold}');
41
+ lines.push('');
42
+ // Format the value based on type
43
+ if (data.type === 'email') {
44
+ // Split comma-separated emails
45
+ const emails = data.value.split(',').map((e) => e.trim());
46
+ emails.forEach((email, index) => {
47
+ lines.push(` {green-fg}${index + 1}. ${email}{/green-fg}`);
48
+ });
49
+ }
50
+ else if (data.type === 'sql') {
51
+ // Show SQL error with syntax highlighting
52
+ lines.push(` {red-fg}${data.value}{/red-fg}`);
53
+ }
54
+ else {
55
+ // CC, SSN - show with formatting
56
+ lines.push(` {green-fg}${data.value}{/green-fg}`);
57
+ }
58
+ lines.push('');
59
+ lines.push('');
60
+ lines.push('{bold}Usage Examples:{/bold}');
61
+ lines.push('');
62
+ if (data.type === 'cc') {
63
+ lines.push(' {yellow-fg}Test DLP blocking:{/yellow-fg}');
64
+ lines.push(` curl -X POST http://target/api/payment -d '{"card":"${data.value}"}'`);
65
+ lines.push('');
66
+ lines.push(' {yellow-fg}Test WAF response:{/yellow-fg}');
67
+ lines.push(` curl http://target/checkout?cc=${data.value}`);
68
+ }
69
+ else if (data.type === 'ssn') {
70
+ lines.push(' {yellow-fg}Test DLP blocking:{/yellow-fg}');
71
+ lines.push(` curl -X POST http://target/api/user -d '{"ssn":"${data.value}"}'`);
72
+ lines.push('');
73
+ lines.push(' {yellow-fg}Test form submission:{/yellow-fg}');
74
+ lines.push(` curl -X POST http://target/profile -F 'ssn=${data.value}'`);
75
+ }
76
+ else if (data.type === 'email') {
77
+ lines.push(' {yellow-fg}Test bulk email scraping:{/yellow-fg}');
78
+ lines.push(` curl http://target/scrape -d 'emails=${data.value}'`);
79
+ }
80
+ else if (data.type === 'sql') {
81
+ lines.push(' {yellow-fg}This simulates a SQL error response{/yellow-fg}');
82
+ lines.push(' Used to test if WAF masks database errors');
83
+ }
84
+ lines.push('');
85
+ lines.push('');
86
+ lines.push('{bold}Copy to Clipboard:{/bold}');
87
+ lines.push('');
88
+ lines.push(' {gray-fg}In production, use:{/gray-fg}');
89
+ lines.push(` {gray-fg}echo "${data.value}" | pbcopy # macOS{/gray-fg}`);
90
+ lines.push(` {gray-fg}echo "${data.value}" | xclip # Linux{/gray-fg}`);
91
+ lines.push('');
92
+ lines.push('');
93
+ lines.push('{gray-fg}Press Esc or q to close{/gray-fg}');
94
+ container.setContent(lines.join('\n'));
95
+ container.key(['escape', 'q', 'enter'], () => {
96
+ screen.remove(container);
97
+ screen.render();
98
+ });
99
+ container.focus();
100
+ screen.render();
101
+ }
102
+ //# sourceMappingURL=dlp-output-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dlp-output-modal.js","sourceRoot":"","sources":["../../../src/tui/modals/dlp-output-modal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,kBAAkB,CAChC,MAA8B,EAC9B,KAAmB,EACnB,IAAa;IAEb,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;QAC5B,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,mBAAmB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG;QACpD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACxB,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE;YAC7B,EAAE,EAAE,OAAO;YACX,EAAE,EAAE,OAAO;SACZ;QACD,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,IAAI;QACR,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE;YACT,EAAE,EAAE,GAAG;YACP,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACrB,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE;SAC9B;KACF,CAAC,CAAC;IAEH,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,iCAAiC;IACjC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,+BAA+B;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;YAC9C,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC/B,0CAA0C;QAC1C,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,iCAAiC;QACjC,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,yDAAyD,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QACrF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,qDAAqD,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,gDAAgD,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,0CAA0C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,KAAK,iCAAiC,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,KAAK,kCAAkC,CAAC,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAEzD,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,EAAE,CAAC;IAClB,MAAM,CAAC,MAAM,EAAE,CAAC;AAClB,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * DNS Lookup Form Modal
3
+ * Form for DNS record resolution
4
+ */
5
+ export function showDnsFormModal(modal, onSubmit) {
6
+ const fields = [
7
+ {
8
+ name: 'target',
9
+ label: 'Domain/Hostname',
10
+ type: 'text',
11
+ default: 'example.com',
12
+ required: true,
13
+ },
14
+ {
15
+ name: 'type',
16
+ label: 'Record Type (A, AAAA, MX, TXT, NS, CNAME, SRV)',
17
+ type: 'text',
18
+ default: 'A',
19
+ required: true,
20
+ },
21
+ ];
22
+ modal.showForm('DNS Lookup', fields, (values) => {
23
+ onSubmit(values.target, values.type.toUpperCase());
24
+ });
25
+ }
26
+ //# sourceMappingURL=dns-form-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dns-form-modal.js","sourceRoot":"","sources":["../../../src/tui/modals/dns-form-modal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,UAAU,gBAAgB,CAC9B,KAAmB,EACnB,QAAgD;IAEhD,MAAM,MAAM,GAAgB;QAC1B;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,aAAa;YACtB,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,gDAAgD;YACvD,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,IAAI;SACf;KACF,CAAC;IAEF,KAAK,CAAC,QAAQ,CACZ,YAAY,EACZ,MAAM,EACN,CAAC,MAAM,EAAE,EAAE;QACT,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACrD,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Ghost Traffic Configuration Modal
3
+ * Form for configuring ghost traffic parameters
4
+ */
5
+ export function showGhostConfigModal(modal, type, currentValue, onSubmit) {
6
+ if (type === 'target') {
7
+ const fields = [
8
+ {
9
+ name: 'target',
10
+ label: 'Target URL',
11
+ type: 'text',
12
+ default: String(currentValue || 'http://localhost:8080'),
13
+ required: true,
14
+ },
15
+ ];
16
+ modal.showForm('Set Ghost Traffic Target', fields, (values) => {
17
+ onSubmit(values.target);
18
+ });
19
+ }
20
+ else {
21
+ const fields = [
22
+ {
23
+ name: 'delay',
24
+ label: 'Delay (milliseconds)',
25
+ type: 'text',
26
+ default: String(currentValue || '1000'),
27
+ required: true,
28
+ },
29
+ ];
30
+ modal.showForm('Set Ghost Traffic Delay', fields, (values) => {
31
+ onSubmit(parseInt(values.delay, 10));
32
+ });
33
+ }
34
+ }
35
+ //# sourceMappingURL=ghost-config-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ghost-config-modal.js","sourceRoot":"","sources":["../../../src/tui/modals/ghost-config-modal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,UAAU,oBAAoB,CAClC,KAAmB,EACnB,IAAwB,EACxB,YAA6B,EAC7B,QAA0C;IAE1C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,MAAM,GAAgB;YAC1B;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,MAAM,CAAC,YAAY,IAAI,uBAAuB,CAAC;gBACxD,QAAQ,EAAE,IAAI;aACf;SACF,CAAC;QAEF,KAAK,CAAC,QAAQ,CACZ,0BAA0B,EAC1B,MAAM,EACN,CAAC,MAAM,EAAE,EAAE;YACT,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAgB;YAC1B;gBACE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,sBAAsB;gBAC7B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC;gBACvC,QAAQ,EAAE,IAAI;aACf;SACF,CAAC;QAEF,KAAK,CAAC,QAAQ,CACZ,yBAAyB,EACzB,MAAM,EACN,CAAC,MAAM,EAAE,EAAE;YACT,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * HAR Results Modal
3
+ *
4
+ * Display modal for showing HAR replay results with details.
5
+ */
6
+ /**
7
+ * Show HAR replay results in a modal
8
+ */
9
+ export function showHarResultsModal(modal, results) {
10
+ const lines = [];
11
+ lines.push('{bold}{cyan-fg}HAR Replay Results{/cyan-fg}{/bold}');
12
+ lines.push('');
13
+ lines.push(`Total requests: {bold}${results.length}{/bold}`);
14
+ const successful = results.filter((r) => r.status && r.status >= 200 && r.status < 400);
15
+ const errors = results.filter((r) => r.error || (r.status && r.status >= 400));
16
+ lines.push(`Successful: {green-fg}${successful.length}{/green-fg}`);
17
+ lines.push(`Errors: {red-fg}${errors.length}{/red-fg}`);
18
+ lines.push('');
19
+ lines.push('{bold}Details:{/bold}');
20
+ lines.push('');
21
+ // Show first 20 results
22
+ const displayResults = results.slice(0, 20);
23
+ for (const result of displayResults) {
24
+ if (result.error) {
25
+ lines.push(`{red-fg}✗{/red-fg} ${result.url}`);
26
+ lines.push(` {gray-fg}Error: ${result.error}{/gray-fg}`);
27
+ }
28
+ else if (result.status) {
29
+ const color = result.status >= 200 && result.status < 400 ? 'green-fg' : 'red-fg';
30
+ const icon = result.status >= 200 && result.status < 400 ? '✓' : '✗';
31
+ lines.push(`{${color}}${icon}{/${color}} ${result.url}`);
32
+ lines.push(` {gray-fg}Status: ${result.status}{/gray-fg}`);
33
+ }
34
+ }
35
+ if (results.length > 20) {
36
+ lines.push('');
37
+ lines.push(`{gray-fg}... and ${results.length - 20} more{/gray-fg}`);
38
+ }
39
+ modal.showHelp(lines.join('\n'), 'HAR Replay Results');
40
+ }
41
+ //# sourceMappingURL=har-results-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"har-results-modal.js","sourceRoot":"","sources":["../../../src/tui/modals/har-results-modal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAmB,EACnB,OAA0B;IAE1B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;IAE7D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;IAE/E,KAAK,CAAC,IAAI,CAAC,yBAAyB,UAAU,CAAC,MAAM,aAAa,CAAC,CAAC;IACpE,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,wBAAwB;IACxB,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,KAAK,YAAY,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,MAAM,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Modals Index
3
+ * Re-exports all modal functions
4
+ */
5
+ export { showRedTeamResultsModal } from './redteam-results-modal.js';
6
+ export { showDnsFormModal } from './dns-form-modal.js';
7
+ export { showPingFormModal } from './ping-form-modal.js';
8
+ export { showScanFormModal } from './scan-form-modal.js';
9
+ export { showGhostConfigModal } from './ghost-config-modal.js';
10
+ export { showJwtMintModal } from './jwt-mint-modal.js';
11
+ export { showJwtDecodeModal, showJwtDecodedResults } from './jwt-decode-modal.js';
12
+ export { showHarResultsModal } from './har-results-modal.js';
13
+ export { showDlpOutputModal } from './dlp-output-modal.js';
14
+ export { showAddRuleModal } from './add-rule-modal.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/modals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAkB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAwB,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}