S-Dreamer commited on
Commit
4a271ac
·
verified ·
1 Parent(s): 461758a

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +689 -19
  3. prompts.txt +0 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Primussecuritydashboard
3
- emoji: 🐢
4
- colorFrom: green
5
- colorTo: purple
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: primussecuritydashboard
3
+ emoji: 🐳
4
+ colorFrom: blue
5
+ colorTo: yellow
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,689 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>PRIMUS Dashboard</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&family=Roboto:wght@300;400;500;700&display=swap');
11
+
12
+ :root {
13
+ --primary: #3b82f6;
14
+ --primary-dark: #2563eb;
15
+ --secondary: #10b981;
16
+ --danger: #ef4444;
17
+ --warning: #f59e0b;
18
+ --dark: #1e293b;
19
+ --light: #f8fafc;
20
+ }
21
+
22
+ body {
23
+ font-family: 'Roboto', sans-serif;
24
+ background-color: #f1f5f9;
25
+ color: var(--dark);
26
+ }
27
+
28
+ .dashboard-title {
29
+ font-family: 'Orbitron', sans-serif;
30
+ letter-spacing: 1px;
31
+ text-shadow: 0 2px 4px rgba(0,0,0,0.1);
32
+ }
33
+
34
+ .card {
35
+ transition: all 0.3s ease;
36
+ box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
37
+ }
38
+
39
+ .card:hover {
40
+ transform: translateY(-2px);
41
+ box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
42
+ }
43
+
44
+ .status-indicator {
45
+ width: 12px;
46
+ height: 12px;
47
+ border-radius: 50%;
48
+ display: inline-block;
49
+ margin-right: 8px;
50
+ }
51
+
52
+ .status-safe {
53
+ background-color: var(--secondary);
54
+ box-shadow: 0 0 10px var(--secondary);
55
+ }
56
+
57
+ .status-warning {
58
+ background-color: var(--warning);
59
+ box-shadow: 0 0 10px var(--warning);
60
+ }
61
+
62
+ .status-danger {
63
+ background-color: var(--danger);
64
+ box-shadow: 0 0 10px var(--danger);
65
+ }
66
+
67
+ .scan-progress {
68
+ height: 4px;
69
+ background: linear-gradient(90deg, var(--primary), var(--secondary));
70
+ background-size: 200% 100%;
71
+ animation: progress 2s linear infinite;
72
+ }
73
+
74
+ @keyframes progress {
75
+ 0% { background-position: 0% 50%; }
76
+ 50% { background-position: 100% 50%; }
77
+ 100% { background-position: 0% 50%; }
78
+ }
79
+
80
+ .glow {
81
+ animation: glow 2s infinite alternate;
82
+ }
83
+
84
+ @keyframes glow {
85
+ from { box-shadow: 0 0 5px rgba(59, 130, 246, 0.5); }
86
+ to { box-shadow: 0 0 20px rgba(59, 130, 246, 0.8); }
87
+ }
88
+
89
+ /* Compact scanner styles */
90
+ .compact-scanner {
91
+ max-height: 300px;
92
+ overflow: hidden;
93
+ transition: all 0.3s ease;
94
+ }
95
+
96
+ .compact-scanner.expanded {
97
+ max-height: 600px;
98
+ }
99
+
100
+ .compact-results {
101
+ max-height: 150px;
102
+ font-size: 0.85rem;
103
+ line-height: 1.3;
104
+ }
105
+
106
+ .compact-input {
107
+ padding: 0.5rem 0.75rem;
108
+ font-size: 0.9rem;
109
+ }
110
+
111
+ .compact-btn {
112
+ padding: 0.5rem 1rem;
113
+ font-size: 0.9rem;
114
+ }
115
+ </style>
116
+ </head>
117
+ <body class="min-h-screen">
118
+ <div class="container mx-auto px-4 py-8">
119
+ <!-- Header -->
120
+ <header class="flex justify-between items-center mb-8">
121
+ <div>
122
+ <h1 class="dashboard-title text-3xl md:text-4xl font-bold text-blue-600">
123
+ <i class="fas fa-shield-alt mr-2"></i>PRIMUS SECURITY DASHBOARD
124
+ </h1>
125
+ <p class="text-slate-500">Comprehensive security monitoring and threat detection</p>
126
+ </div>
127
+ <div class="flex items-center space-x-4">
128
+ <div class="relative">
129
+ <button id="notifications" class="p-2 rounded-full bg-white text-slate-600 hover:bg-slate-100">
130
+ <i class="fas fa-bell"></i>
131
+ <span class="absolute top-0 right-0 w-2 h-2 bg-red-500 rounded-full"></span>
132
+ </button>
133
+ </div>
134
+ <div class="flex items-center space-x-2 bg-white px-4 py-2 rounded-full shadow-sm">
135
+ <div class="w-8 h-8 rounded-full bg-blue-100 flex items-center justify-center text-blue-600">
136
+ <i class="fas fa-user"></i>
137
+ </div>
138
+ <span class="font-medium">Admin</span>
139
+ </div>
140
+ </div>
141
+ </header>
142
+
143
+ <!-- Dashboard Grid -->
144
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-8">
145
+ <!-- System Status Card -->
146
+ <div class="card bg-white rounded-xl overflow-hidden">
147
+ <div class="px-6 py-4 border-b border-slate-100 flex justify-between items-center">
148
+ <h2 class="font-bold text-lg text-slate-800">
149
+ <i class="fas fa-heartbeat mr-2 text-red-500"></i>System Status
150
+ </h2>
151
+ <span class="text-xs px-2 py-1 bg-blue-100 text-blue-600 rounded-full">LIVE</span>
152
+ </div>
153
+ <div class="p-6">
154
+ <div id="status" class="space-y-4">
155
+ <div class="flex justify-between items-center">
156
+ <span class="text-slate-600">Safety Mode:</span>
157
+ <span class="font-medium flex items-center">
158
+ <span class="status-indicator status-safe"></span>
159
+ <span id="safety-mode">Loading...</span>
160
+ </span>
161
+ </div>
162
+ <div class="flex justify-between items-center">
163
+ <span class="text-slate-600">Current Scenario:</span>
164
+ <span class="font-medium" id="scenario">Loading...</span>
165
+ </div>
166
+ <div class="flex justify-between items-center">
167
+ <span class="text-slate-600">Threat Level:</span>
168
+ <span class="font-medium">
169
+ <span id="threat-level" class="px-2 py-1 rounded-full text-xs bg-green-100 text-green-800">Analyzing...</span>
170
+ </span>
171
+ </div>
172
+ <div class="flex justify-between items-center">
173
+ <span class="text-slate-600">Last Updated:</span>
174
+ <span class="font-medium text-sm" id="last-updated">Just now</span>
175
+ </div>
176
+ </div>
177
+ </div>
178
+ <div class="px-6 py-3 bg-slate-50 text-right">
179
+ <button onclick="updateStatus()" class="text-sm text-blue-600 hover:text-blue-800 flex items-center justify-end space-x-1">
180
+ <i class="fas fa-sync-alt"></i>
181
+ <span>Refresh</span>
182
+ </button>
183
+ </div>
184
+ </div>
185
+
186
+ <!-- Compact Network Scanner Card -->
187
+ <div class="card bg-white rounded-xl overflow-hidden compact-scanner" id="scanner-container">
188
+ <div class="px-6 py-4 border-b border-slate-100 flex justify-between items-center">
189
+ <h2 class="font-bold text-lg text-slate-800">
190
+ <i class="fas fa-search mr-2 text-blue-500"></i>Network Scanner
191
+ </h2>
192
+ <button id="toggle-scanner" class="text-blue-600 hover:text-blue-800 text-sm">
193
+ <i class="fas fa-expand-alt"></i>
194
+ </button>
195
+ </div>
196
+ <div class="p-4">
197
+ <div class="mb-3">
198
+ <label for="target-ip" class="block text-sm font-medium text-slate-700 mb-1">Target</label>
199
+ <div class="flex space-x-2">
200
+ <input type="text" id="target-ip" placeholder="192.168.1.1"
201
+ class="flex-1 compact-input border border-slate-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
202
+ <button onclick="scan()" class="compact-btn bg-blue-600 text-white rounded-lg hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 flex items-center space-x-2 glow">
203
+ <i class="fas fa-bolt"></i>
204
+ <span>Scan</span>
205
+ </button>
206
+ </div>
207
+ </div>
208
+ <div id="scan-progress" class="scan-progress rounded-full mb-3 hidden"></div>
209
+ <div class="bg-slate-50 rounded-lg p-3">
210
+ <div class="flex justify-between items-center mb-1">
211
+ <label class="block text-sm font-medium text-slate-700">Results</label>
212
+ <button id="clear-results" class="text-xs text-slate-500 hover:text-slate-700">
213
+ <i class="fas fa-trash-alt mr-1"></i>Clear
214
+ </button>
215
+ </div>
216
+ <pre id="results" class="compact-results text-slate-600 font-mono overflow-y-auto p-2 bg-white rounded border border-slate-200">No scan performed yet. Enter a target and click Scan.</pre>
217
+ </div>
218
+ </div>
219
+ </div>
220
+
221
+ <!-- Threat Detection Card -->
222
+ <div class="card bg-white rounded-xl overflow-hidden">
223
+ <div class="px-6 py-4 border-b border-slate-100">
224
+ <h2 class="font-bold text-lg text-slate-800">
225
+ <i class="fas fa-radar mr-2 text-purple-500"></i>Threat Detection
226
+ </h2>
227
+ </div>
228
+ <div class="p-6">
229
+ <div class="space-y-4">
230
+ <div class="flex items-center justify-between">
231
+ <div class="flex items-center space-x-3">
232
+ <div class="p-2 bg-red-100 rounded-lg text-red-600">
233
+ <i class="fas fa-fire"></i>
234
+ </div>
235
+ <div>
236
+ <h3 class="font-medium">Malicious Activity</h3>
237
+ <p class="text-xs text-slate-500">Potential threats detected</p>
238
+ </div>
239
+ </div>
240
+ <span class="text-red-600 font-bold">12</span>
241
+ </div>
242
+ <div class="flex items-center justify-between">
243
+ <div class="flex items-center space-x-3">
244
+ <div class="p-2 bg-yellow-100 rounded-lg text-yellow-600">
245
+ <i class="fas fa-exclamation-triangle"></i>
246
+ </div>
247
+ <div>
248
+ <h3 class="font-medium">Suspicious Logins</h3>
249
+ <p class="text-xs text-slate-500">Unusual access patterns</p>
250
+ </div>
251
+ </div>
252
+ <span class="text-yellow-600 font-bold">5</span>
253
+ </div>
254
+ <div class="flex items-center justify-between">
255
+ <div class="flex items-center space-x-3">
256
+ <div class="p-2 bg-blue-100 rounded-lg text-blue-600">
257
+ <i class="fas fa-shield-virus"></i>
258
+ </div>
259
+ <div>
260
+ <h3 class="font-medium">Vulnerabilities</h3>
261
+ <p class="text-xs text-slate-500">System weaknesses found</p>
262
+ </div>
263
+ </div>
264
+ <span class="text-blue-600 font-bold">8</span>
265
+ </div>
266
+ </div>
267
+ </div>
268
+ <div class="px-6 py-3 bg-slate-50 text-center">
269
+ <button class="text-sm text-blue-600 hover:text-blue-800 flex items-center justify-center space-x-1 w-full">
270
+ <i class="fas fa-chart-line"></i>
271
+ <span>View Detailed Report</span>
272
+ </button>
273
+ </div>
274
+ </div>
275
+ </div>
276
+
277
+ <!-- Additional Dashboard Sections -->
278
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8">
279
+ <!-- Activity Log -->
280
+ <div class="card bg-white rounded-xl overflow-hidden">
281
+ <div class="px-6 py-4 border-b border-slate-100">
282
+ <h2 class="font-bold text-lg text-slate-800">
283
+ <i class="fas fa-history mr-2 text-green-500"></i>Recent Activity
284
+ </h2>
285
+ </div>
286
+ <div class="p-6">
287
+ <div class="space-y-4">
288
+ <div class="flex items-start space-x-3">
289
+ <div class="mt-1">
290
+ <div class="w-8 h-8 rounded-full bg-blue-100 flex items-center justify-center text-blue-600">
291
+ <i class="fas fa-user-shield text-sm"></i>
292
+ </div>
293
+ </div>
294
+ <div>
295
+ <h3 class="font-medium">Admin login detected</h3>
296
+ <p class="text-sm text-slate-500">From IP: 192.168.1.100 at 10:42 AM</p>
297
+ </div>
298
+ <div class="ml-auto text-xs text-slate-400">2 min ago</div>
299
+ </div>
300
+ <div class="flex items-start space-x-3">
301
+ <div class="mt-1">
302
+ <div class="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center text-green-600">
303
+ <i class="fas fa-check text-sm"></i>
304
+ </div>
305
+ </div>
306
+ <div>
307
+ <h3 class="font-medium">System scan completed</h3>
308
+ <p class="text-sm text-slate-500">No critical threats found</p>
309
+ </div>
310
+ <div class="ml-auto text-xs text-slate-400">15 min ago</div>
311
+ </div>
312
+ <div class="flex items-start space-x-3">
313
+ <div class="mt-1">
314
+ <div class="w-8 h-8 rounded-full bg-yellow-100 flex items-center justify-center text-yellow-600">
315
+ <i class="fas fa-exclamation text-sm"></i>
316
+ </div>
317
+ </div>
318
+ <div>
319
+ <h3 class="font-medium">Unusual network activity</h3>
320
+ <p class="text-sm text-slate-500">From IP: 192.168.1.45 - Port scanning detected</p>
321
+ </div>
322
+ <div class="ml-auto text-xs text-slate-400">1 hour ago</div>
323
+ </div>
324
+ <div class="flex items-start space-x-3">
325
+ <div class="mt-1">
326
+ <div class="w-8 h-8 rounded-full bg-red-100 flex items-center justify-center text-red-600">
327
+ <i class="fas fa-times text-sm"></i>
328
+ </div>
329
+ </div>
330
+ <div>
331
+ <h3 class="font-medium">Blocked brute force attempt</h3>
332
+ <p class="text-sm text-slate-500">22 failed SSH login attempts</p>
333
+ </div>
334
+ <div class="ml-auto text-xs text-slate-400">3 hours ago</div>
335
+ </div>
336
+ </div>
337
+ </div>
338
+ <div class="px-6 py-3 bg-slate-50 text-center">
339
+ <button class="text-sm text-blue-600 hover:text-blue-800 flex items-center justify-center space-x-1 w-full">
340
+ <i class="fas fa-list-ul"></i>
341
+ <span>View Full Log</span>
342
+ </button>
343
+ </div>
344
+ </div>
345
+
346
+ <!-- System Resources -->
347
+ <div class="card bg-white rounded-xl overflow-hidden">
348
+ <div class="px-6 py-4 border-b border-slate-100">
349
+ <h2 class="font-bold text-lg text-slate-800">
350
+ <i class="fas fa-microchip mr-2 text-amber-500"></i>System Resources
351
+ </h2>
352
+ </div>
353
+ <div class="p-6">
354
+ <div class="space-y-6">
355
+ <!-- CPU Usage -->
356
+ <div>
357
+ <div class="flex justify-between mb-1">
358
+ <span class="text-sm font-medium text-slate-700">CPU Usage</span>
359
+ <span class="text-sm font-medium text-blue-600" id="cpu-usage">65%</span>
360
+ </div>
361
+ <div class="w-full bg-slate-200 rounded-full h-2.5">
362
+ <div class="bg-blue-600 h-2.5 rounded-full" style="width: 65%"></div>
363
+ </div>
364
+ </div>
365
+
366
+ <!-- Memory Usage -->
367
+ <div>
368
+ <div class="flex justify-between mb-1">
369
+ <span class="text-sm font-medium text-slate-700">Memory Usage</span>
370
+ <span class="text-sm font-medium text-purple-600" id="memory-usage">78%</span>
371
+ </div>
372
+ <div class="w-full bg-slate-200 rounded-full h-2.5">
373
+ <div class="bg-purple-600 h-2.5 rounded-full" style="width: 78%"></div>
374
+ </div>
375
+ </div>
376
+
377
+ <!-- Disk Usage -->
378
+ <div>
379
+ <div class="flex justify-between mb-1">
380
+ <span class="text-sm font-medium text-slate-700">Disk Usage</span>
381
+ <span class="text-sm font-medium text-green-600" id="disk-usage">42%</span>
382
+ </div>
383
+ <div class="w-full bg-slate-200 rounded-full h-2.5">
384
+ <div class="bg-green-600 h-2.5 rounded-full" style="width: 42%"></div>
385
+ </div>
386
+ </div>
387
+
388
+ <!-- Network Traffic -->
389
+ <div class="grid grid-cols-2 gap-4">
390
+ <div>
391
+ <div class="flex items-center space-x-2">
392
+ <i class="fas fa-arrow-down text-blue-500"></i>
393
+ <span class="text-sm font-medium text-slate-700">Download</span>
394
+ </div>
395
+ <div class="text-xl font-bold mt-1" id="download-speed">12.4 Mbps</div>
396
+ </div>
397
+ <div>
398
+ <div class="flex items-center space-x-2">
399
+ <i class="fas fa-arrow-up text-green-500"></i>
400
+ <span class="text-sm font-medium text-slate-700">Upload</span>
401
+ </div>
402
+ <div class="text-xl font-bold mt-1" id="upload-speed">5.8 Mbps</div>
403
+ </div>
404
+ </div>
405
+ </div>
406
+ </div>
407
+ <div class="px-6 py-3 bg-slate-50 text-center">
408
+ <button onclick="updateResources()" class="text-sm text-blue-600 hover:text-blue-800 flex items-center justify-center space-x-1 w-full">
409
+ <i class="fas fa-sync-alt"></i>
410
+ <span>Refresh Metrics</span>
411
+ </button>
412
+ </div>
413
+ </div>
414
+ </div>
415
+
416
+ <!-- Footer -->
417
+ <footer class="text-center text-sm text-slate-500 mt-8">
418
+ <p>PRIMUS Security Dashboard v2.4.1 | &copy; 2023 PRIMUS Security Systems</p>
419
+ <p class="mt-1">Last system update: <span id="system-version">2023-11-15 14:30 UTC</span></p>
420
+ </footer>
421
+ </div>
422
+
423
+ <script>
424
+ // Update system status
425
+ function updateStatus() {
426
+ const statusElement = document.getElementById('status');
427
+ const safetyModeElement = document.getElementById('safety-mode');
428
+ const scenarioElement = document.getElementById('scenario');
429
+ const threatLevelElement = document.getElementById('threat-level');
430
+ const lastUpdatedElement = document.getElementById('last-updated');
431
+
432
+ // Show loading state
433
+ statusElement.innerHTML = '<div class="text-center py-4"><i class="fas fa-spinner fa-spin text-blue-500 text-2xl"></i><p class="mt-2 text-sm text-slate-600">Updating system status...</p></div>';
434
+
435
+ // Simulate API call with timeout
436
+ setTimeout(() => {
437
+ // Random status data for demonstration
438
+ const statuses = ['Active Protection', 'High Alert', 'Maintenance Mode'];
439
+ const scenarios = ['Normal Operations', 'Under Attack', 'Scheduled Maintenance'];
440
+ const threatLevels = [
441
+ { level: 'Low', class: 'bg-green-100 text-green-800' },
442
+ { level: 'Medium', class: 'bg-yellow-100 text-yellow-800' },
443
+ { level: 'High', class: 'bg-red-100 text-red-800' }
444
+ ];
445
+
446
+ const randomStatus = statuses[Math.floor(Math.random() * statuses.length)];
447
+ const randomScenario = scenarios[Math.floor(Math.random() * scenarios.length)];
448
+ const randomThreat = threatLevels[Math.floor(Math.random() * threatLevels.length)];
449
+
450
+ // Update status indicator color based on status
451
+ const statusIndicator = document.querySelector('#status .status-indicator');
452
+ if (randomStatus === 'High Alert') {
453
+ statusIndicator.className = 'status-indicator status-danger';
454
+ } else if (randomStatus === 'Maintenance Mode') {
455
+ statusIndicator.className = 'status-indicator status-warning';
456
+ } else {
457
+ statusIndicator.className = 'status-indicator status-safe';
458
+ }
459
+
460
+ // Update elements
461
+ safetyModeElement.textContent = randomStatus;
462
+ scenarioElement.textContent = randomScenario;
463
+ threatLevelElement.textContent = randomThreat.level;
464
+ threatLevelElement.className = `px-2 py-1 rounded-full text-xs ${randomThreat.class}`;
465
+
466
+ // Update last updated time
467
+ const now = new Date();
468
+ lastUpdatedElement.textContent = now.toLocaleTimeString();
469
+
470
+ // Restore original status HTML structure
471
+ statusElement.innerHTML = `
472
+ <div class="flex justify-between items-center">
473
+ <span class="text-slate-600">Safety Mode:</span>
474
+ <span class="font-medium flex items-center">
475
+ <span class="status-indicator ${randomStatus === 'High Alert' ? 'status-danger' : randomStatus === 'Maintenance Mode' ? 'status-warning' : 'status-safe'}"></span>
476
+ <span id="safety-mode">${randomStatus}</span>
477
+ </span>
478
+ </div>
479
+ <div class="flex justify-between items-center">
480
+ <span class="text-slate-600">Current Scenario:</span>
481
+ <span class="font-medium" id="scenario">${randomScenario}</span>
482
+ </div>
483
+ <div class="flex justify-between items-center">
484
+ <span class="text-slate-600">Threat Level:</span>
485
+ <span class="font-medium">
486
+ <span id="threat-level" class="px-2 py-1 rounded-full text-xs ${randomThreat.class}">${randomThreat.level}</span>
487
+ </span>
488
+ </div>
489
+ <div class="flex justify-between items-center">
490
+ <span class="text-slate-600">Last Updated:</span>
491
+ <span class="font-medium text-sm" id="last-updated">${now.toLocaleTimeString()}</span>
492
+ </div>
493
+ `;
494
+
495
+ // Show notification
496
+ showNotification('System status updated successfully', 'success');
497
+ }, 1500);
498
+ }
499
+
500
+ // Update system resources
501
+ function updateResources() {
502
+ const cpuElement = document.getElementById('cpu-usage');
503
+ const memoryElement = document.getElementById('memory-usage');
504
+ const diskElement = document.getElementById('disk-usage');
505
+ const downloadElement = document.getElementById('download-speed');
506
+ const uploadElement = document.getElementById('upload-speed');
507
+
508
+ // Generate random values for demonstration
509
+ const randomCpu = Math.floor(Math.random() * 40) + 30;
510
+ const randomMemory = Math.floor(Math.random() * 30) + 50;
511
+ const randomDisk = Math.floor(Math.random() * 30) + 20;
512
+ const randomDownload = (Math.random() * 10 + 5).toFixed(1);
513
+ const randomUpload = (Math.random() * 5 + 2).toFixed(1);
514
+
515
+ // Update elements
516
+ cpuElement.textContent = `${randomCpu}%`;
517
+ document.querySelector('#cpu-usage').nextElementSibling.firstElementChild.style.width = `${randomCpu}%`;
518
+
519
+ memoryElement.textContent = `${randomMemory}%`;
520
+ document.querySelector('#memory-usage').nextElementSibling.firstElementChild.style.width = `${randomMemory}%`;
521
+
522
+ diskElement.textContent = `${randomDisk}%`;
523
+ document.querySelector('#disk-usage').nextElementSibling.firstElementChild.style.width = `${randomDisk}%`;
524
+
525
+ downloadElement.textContent = `${randomDownload} Mbps`;
526
+ uploadElement.textContent = `${randomUpload} Mbps`;
527
+
528
+ // Show notification
529
+ showNotification('Resource metrics refreshed', 'info');
530
+ }
531
+
532
+ // Perform network scan
533
+ function scan() {
534
+ const targetIp = document.getElementById('target-ip').value.trim();
535
+ const resultsElement = document.getElementById('results');
536
+ const scanProgress = document.getElementById('scan-progress');
537
+
538
+ if (!targetIp) {
539
+ showNotification('Please enter a target IP or hostname', 'error');
540
+ return;
541
+ }
542
+
543
+ // Show loading state
544
+ resultsElement.textContent = 'Initializing scan...';
545
+ scanProgress.classList.remove('hidden');
546
+
547
+ // Simulate scan progress
548
+ let progress = 0;
549
+ const progressInterval = setInterval(() => {
550
+ progress += 5;
551
+ if (progress >= 100) {
552
+ clearInterval(progressInterval);
553
+ completeScan(targetIp);
554
+ scanProgress.classList.add('hidden');
555
+ }
556
+ }, 200);
557
+
558
+ // Simulate API call with timeout
559
+ setTimeout(() => {
560
+ // This would be replaced with actual API call in a real application
561
+ }, 3000);
562
+ }
563
+
564
+ function completeScan(target) {
565
+ const resultsElement = document.getElementById('results');
566
+
567
+ // Generate realistic scan results
568
+ const scanResults = `
569
+ Scanning target: ${target}
570
+ Scan started at: ${new Date().toLocaleString()}
571
+
572
+ PORT STATE SERVICE VERSION
573
+ 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3
574
+ 80/tcp open http Apache httpd 2.4.41
575
+ 443/tcp open ssl/http Apache httpd 2.4.41
576
+ 3306/tcp filtered mysql
577
+ 8080/tcp open http-proxy nginx 1.18.0
578
+
579
+ Nmap scan report for ${target}
580
+ Host is up (0.045s latency).
581
+ 5 ports scanned, 3 open, 1 filtered, 1 closed
582
+
583
+ Security Assessment:
584
+ - Outdated Apache version detected (2.4.41)
585
+ - SSH service running with default configuration
586
+ - No critical vulnerabilities found
587
+
588
+ Scan completed in 4.23 seconds
589
+ `;
590
+
591
+ resultsElement.textContent = scanResults;
592
+ showNotification(`Scan completed for ${target}`, 'success');
593
+
594
+ // Update activity log
595
+ updateActivityLog(`Network scan performed on ${target}`);
596
+ }
597
+
598
+ // Show notification
599
+ function showNotification(message, type) {
600
+ const notification = document.createElement('div');
601
+ notification.className = `fixed bottom-4 right-4 px-4 py-3 rounded-lg shadow-lg text-white max-w-xs ${
602
+ type === 'error' ? 'bg-red-500' :
603
+ type === 'success' ? 'bg-green-500' :
604
+ 'bg-blue-500'
605
+ }`;
606
+ notification.innerHTML = `
607
+ <div class="flex items-center">
608
+ <i class="fas ${
609
+ type === 'error' ? 'fa-exclamation-circle' :
610
+ type === 'success' ? 'fa-check-circle' :
611
+ 'fa-info-circle'
612
+ } mr-2"></i>
613
+ <span>${message}</span>
614
+ </div>
615
+ `;
616
+
617
+ document.body.appendChild(notification);
618
+
619
+ // Auto-remove after 5 seconds
620
+ setTimeout(() => {
621
+ notification.classList.add('opacity-0', 'transition-opacity', 'duration-300');
622
+ setTimeout(() => notification.remove(), 300);
623
+ }, 5000);
624
+ }
625
+
626
+ // Update activity log
627
+ function updateActivityLog(message) {
628
+ const activityLog = document.querySelector('.space-y-4');
629
+ const now = new Date();
630
+
631
+ const newEntry = document.createElement('div');
632
+ newEntry.className = 'flex items-start space-x-3';
633
+ newEntry.innerHTML = `
634
+ <div class="mt-1">
635
+ <div class="w-8 h-8 rounded-full bg-blue-100 flex items-center justify-center text-blue-600">
636
+ <i class="fas fa-search text-sm"></i>
637
+ </div>
638
+ </div>
639
+ <div>
640
+ <h3 class="font-medium">${message}</h3>
641
+ <p class="text-sm text-slate-500">Scan completed successfully</p>
642
+ </div>
643
+ <div class="ml-auto text-xs text-slate-400">Just now</div>
644
+ `;
645
+
646
+ activityLog.prepend(newEntry);
647
+ }
648
+
649
+ // Toggle scanner size
650
+ function toggleScannerSize() {
651
+ const scannerContainer = document.getElementById('scanner-container');
652
+ const toggleButton = document.getElementById('toggle-scanner');
653
+
654
+ scannerContainer.classList.toggle('expanded');
655
+
656
+ if (scannerContainer.classList.contains('expanded')) {
657
+ toggleButton.innerHTML = '<i class="fas fa-compress-alt"></i>';
658
+ } else {
659
+ toggleButton.innerHTML = '<i class="fas fa-expand-alt"></i>';
660
+ }
661
+ }
662
+
663
+ // Clear scan results
664
+ function clearResults() {
665
+ document.getElementById('results').textContent = 'No scan performed yet. Enter a target and click Scan.';
666
+ }
667
+
668
+ // Initialize dashboard
669
+ document.addEventListener('DOMContentLoaded', function() {
670
+ updateStatus();
671
+ updateResources();
672
+
673
+ // Set current version date
674
+ document.getElementById('system-version').textContent = new Date().toISOString().replace('T', ' ').substring(0, 19) + ' UTC';
675
+
676
+ // Add click handler for notifications button
677
+ document.getElementById('notifications').addEventListener('click', function() {
678
+ showNotification('You have 3 unread notifications', 'info');
679
+ });
680
+
681
+ // Add toggle scanner size handler
682
+ document.getElementById('toggle-scanner').addEventListener('click', toggleScannerSize);
683
+
684
+ // Add clear results handler
685
+ document.getElementById('clear-results').addEventListener('click', clearResults);
686
+ });
687
+ </script>
688
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=S-Dreamer/primussecuritydashboard" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
689
+ </html>
prompts.txt ADDED
File without changes