enotkrutoy commited on
Commit
7d73752
·
verified ·
1 Parent(s): 6af204a

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +90 -419
index.html CHANGED
@@ -1,451 +1,122 @@
1
  <!DOCTYPE html>
2
  <html lang="ru">
3
  <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>CyberSearch v1.3.37</title>
7
  <style>
 
8
  body {
9
- background-color: #0a0a0a;
10
- color: #00ff00;
11
- font-family: 'Courier New', monospace;
12
  margin: 0;
13
  padding: 20px;
14
  overflow-x: hidden;
15
  }
16
- .glitch {
17
- text-align: center;
18
- animation: glitch 1s infinite;
19
- text-shadow: 2px 2px #ff00ff;
20
- }
21
- .console {
22
- border: 3px solid #00ff00;
23
  padding: 20px;
24
  margin: 20px auto;
25
  max-width: 800px;
26
- border-radius: 5px;
27
- box-shadow: 0 0 15px #00ff0080;
28
- }
29
- input {
30
- background: #000;
31
- border: 2px solid #00ff00;
32
- color: #00ff00;
33
- padding: 10px;
34
- width: 70%;
35
- margin: 10px;
36
- font-size: 16px;
37
- text-transform: uppercase;
38
- }
39
- input:focus {
40
- outline: none;
41
- box-shadow: 0 0 10px #00ff00;
42
- }
43
- button {
44
- background: #000;
45
- border: 2px solid #00ff00;
46
- color: #00ff00;
47
- padding: 10px 30px;
48
- cursor: pointer;
49
- transition: all 0.3s;
50
- position: relative;
51
- overflow: hidden;
52
- }
53
- button:hover {
54
- background: #00ff00;
55
- color: #000;
56
- text-shadow: 0 0 5px #000;
57
- }
58
- select {
59
- background: #000;
60
- border: 2px solid #00ff00;
61
- color: #00ff00;
62
- padding: 10px;
63
- margin: 10px;
64
- font-size: 16px;
65
- }
66
- .scan-line {
67
- position: fixed;
68
- width: 100%;
69
- height: 2px;
70
- background: linear-gradient(
71
- to bottom,
72
- transparent 0%,
73
- #00ff0080 50%,
74
- transparent 100%
75
- );
76
- animation: scan 4s linear infinite;
77
- pointer-events: none;
78
- }
79
- @keyframes glitch {
80
- 0% { transform: translate(0); }
81
- 20% { transform: translate(-2px, 2px); }
82
- 40% { transform: translate(-2px, -2px); }
83
- 60% { transform: translate(2px, 2px); }
84
- 80% { transform: translate(2px, -2px); }
85
- 100% { transform: translate(0); }
86
- }
87
- @keyframes scan {
88
- 0% { top: -100%; }
89
- 100% { top: 150%; }
90
- }
91
- .console-output {
92
- height: 200px;
93
  overflow-y: auto;
 
 
94
  margin: 15px 0;
95
- padding: 10px;
96
- border: 1px solid #00ff0033;
97
- white-space: pre-wrap;
98
- background: #000;
99
- }
100
- .status-led {
101
- width: 12px;
102
- height: 12px;
103
- background: #ff0000;
104
- border-radius: 50%;
105
- display: inline-block;
106
- margin-right: 10px;
107
- animation: pulse 1s infinite;
108
- }
109
- @keyframes pulse {
110
- 0% { opacity: 0.2; }
111
- 50% { opacity: 1; }
112
- 100% { opacity: 0.2; }
113
- }
114
- .examples {
115
- margin: 10px 0;
116
- text-align: center;
117
- }
118
- .example {
119
  background: #000;
120
- border: 1px solid #00ff00;
121
- padding: 5px 10px;
122
- margin: 3px;
123
- cursor: pointer;
124
- display: inline-block;
125
- font-size: 14px;
126
- }
127
- .example:hover {
128
- background: #00ff00;
129
- color: #000;
130
- }
131
- .controls {
132
- text-align: center;
133
- margin-top: 10px;
134
- }
135
- .dropdown {
136
- margin: 10px 0;
137
- text-align: center;
138
- }
139
- .dropdown-content {
140
- display: none;
141
- background-color: #000;
142
- border: 1px solid #00ff00;
143
- padding: 10px;
144
- margin: 5px 0;
145
- text-align: left;
146
- }
147
- .dropdown:hover .dropdown-content {
148
- display: block;
149
- }
150
- .dynamic-input {
151
- display: flex;
152
- justify-content: center;
153
- align-items: center;
154
- margin: 10px 0;
155
- }
156
- .dynamic-input label {
157
- margin-right: 10px;
158
- }
159
- .dynamic-input input {
160
- width: 50%;
161
- }
162
- .file-extensions {
163
- display: flex;
164
- flex-wrap: wrap;
165
- gap: 5px;
166
- margin: 10px auto;
167
- max-width: 600px;
168
- }
169
- .file-extensions input[type="checkbox"] {
170
- margin-right: 5px;
171
- accent-color: #00ff00;
172
- }
173
- .file-extensions label {
174
- color: #00ff00;
175
- font-size: 14px;
176
- }
177
- .loading-indicator {
178
- margin-top: 10px;
179
- font-weight: bold;
180
- color: #00ff00;
181
- }
182
- .progress-bar {
183
- width: 100%;
184
- background-color: #000;
185
- border: 1px solid #00ff00;
186
- margin-top: 10px;
187
- height: 10px;
188
- position: relative;
189
- }
190
- .progress-bar-fill {
191
- height: 100%;
192
- width: 0;
193
- background-color: #00ff00;
194
- transition: width 0.3s;
195
  }
196
  </style>
197
  </head>
198
  <body>
199
- <div class="scan-line"></div>
200
- <div class="console">
201
- <h1 class="glitch" role="heading" aria-level="1">CYBER SEARCH v1.3.37</h1>
202
- <div style="text-align: center;">
203
- <span class="status-led" role="img" aria-label="Status LED"></span>
204
- <input type="text" id="searchInput" placeholder="ENTER SEARCH TERM..." aria-label="Search Term" />
205
- <button onclick="executeSearch('standard')" aria-label="Initiate Standard Search">INITIATE</button>
206
- <button onclick="executeSearch('dork')" aria-label="Initiate Dork Search">DORKSEARCH</button>
207
- </div>
208
- <div class="controls">
209
- <label for="pagesSelect" aria-label="Number of Pages to Open">Количество открываемых страниц:</label>
210
- <select id="pagesSelect" aria-label="Number of Pages to Open">
211
- <option value="1" selected>1</option>
212
- <option value="2">2</option>
213
- <option value="3">3</option>
214
- <option value="4">4</option>
215
- <option value="5">5</option>
216
  </select>
217
  </div>
218
- <div class="dynamic-input">
219
- <label for="phoneInput" aria-label="Enter Phone Number">Телефонный номер:</label>
220
- <input type="tel" id="phoneInput" placeholder="+71234567890" pattern="[\+]?[0-9]{10,15}" aria-label="Phone Number" />
221
- </div>
222
- <div class="file-extensions">
223
- <strong>Форматы файлов:</strong>
224
- <label><input type="checkbox" class="file-type" value="doc"> doc</label>
225
- <label><input type="checkbox" class="file-type" value="docx"> docx</label>
226
- <label><input type="checkbox" class="file-type" value="pdf"> pdf</label>
227
- <label><input type="checkbox" class="file-type" value="txt"> txt</label>
228
- <label><input type="checkbox" class="file-type" value="xls"> xls</label>
229
- <label><input type="checkbox" class="file-type" value="xlsx"> xlsx</label>
230
- <label><input type="checkbox" class="file-type" value="ppt"> ppt</label>
231
- <label><input type="checkbox" class="file-type" value="pptx"> pptx</label>
232
- <label><input type="checkbox" class="file-type" value="csv"> csv</label>
233
- <label><input type="checkbox" class="file-type" value="odt"> odt</label>
234
- <label><input type="checkbox" class="file-type" value="rtf"> rtf</label>
235
- <label><input type="checkbox" class="file-type" value="sxw"> sxw</label>
236
- <label><input type="checkbox" class="file-type" value="psw"> psw</label>
237
- <label><input type="checkbox" class="file-type" value="pps"> pps</label>
238
- <label><input type="checkbox" class="file-type" value="html5"> html5</label>
239
- </div>
240
- <div class="examples">
241
- <strong>Примеры запросов:</strong><br />
242
- <span class="example" onclick="fillSearch('intitle:index.of /config')" aria-label="intitle:index.of /config">intitle:index.of /config</span>
243
- <span class="example" onclick="fillSearch('intitle:index.of /logs')" aria-label="intitle:index.of /logs">intitle:index.of /logs</span>
244
- <span class="example" onclick="fillSearch('intitle:index.of /backup')" aria-label="intitle:index.of /backup">intitle:index.of /backup</span>
245
- <span class="example" onclick="fillSearch('filetype:cfg config')" aria-label="filetype:cfg config">filetype:cfg config</span>
246
- <span class="example" onclick="fillSearch('filetype:bak backup')" aria-label="filetype:bak backup">filetype:bak backup</span>
247
- <span class="example" onclick="fillSearch('filetype:sql sql')" aria-label="filetype:sql sql">filetype:sql sql</span>
248
- <span class="example" onclick="fillSearch('inurl:php?= AND intext:password')" aria-label="inurl:php?= AND intext:password">inurl:php?= AND intext:password</span>
249
- <span class="example" onclick="fillSearch('intitle:index.of passwd')" aria-label="intitle:index.of passwd">intitle:index.of passwd</span>
250
- <span class="example" onclick="fillSearch('filetype:log log')" aria-label="filetype:log log">filetype:log log</span>
251
- <span class="example" onclick="fillSearch('inurl:admin AND intext:username')" aria-label="inurl:admin AND intext:username">inurl:admin AND intext:username</span>
252
- <span class="example" onclick="fillSearch('intitle:\"Index of\" wp-content/uploads')" aria-label="intitle:\"Index of\" wp-content/uploads">intitle:"Index of" wp-content/uploads</span>
253
- <span class="example" onclick="fillSearch('intitle:index.of /ftp')" aria-label="intitle:index.of /ftp">intitle:index.of /ftp</span>
254
- <span class="example" onclick="fillSearch('intitle:index.of /home')" aria-label="intitle:index.of /home">intitle:index.of /home</span>
255
- <span class="example" onclick="fillSearch('intitle:index.of /root')" aria-label="intitle:index.of /root">intitle:index.of /root</span>
256
- <span class="example" onclick="fillSearch('filetype:xml xml')" aria-label="filetype:xml xml">filetype:xml xml</span>
257
- <span class="example" onclick="fillSearch('filetype:yml yml')" aria-label="filetype:yml yml">filetype:yml yml</span>
258
- <span class="example" onclick="fillSearch('intitle:index.of credentials')" aria-label="intitle:index.of credentials">intitle:index.of credentials</span>
259
- <span class="example" onclick="fillSearch('intitle:index.of secrets')" aria-label="intitle:index.of secrets">intitle:index.of secrets</span>
260
- <span class="example" onclick="fillPhoneDork('full')" aria-label="Phone search">Телефонный поиск</span>
261
- </div>
262
- <div class="examples">
263
- <div class="dropdown">
264
- <strong>Примеры камер Axis:</strong>
265
- <div class="dropdown-content">
266
- <span class="example" onclick="fillSearch('inurl:/view.shtml')" aria-label="inurl:/view.shtml">inurl:/view.shtml</span>
267
- <span class="example" onclick="fillSearch('intitle:\"Live View / - AXIS\"')" aria-label="intitle:\"Live View / - AXIS\"">intitle:"Live View / - AXIS"</span>
268
- <span class="example" onclick="fillSearch('inurl:view/view.shtml')" aria-label="inurl:view/view.shtml">inurl:view/view.shtml</span>
269
- <span class="example" onclick="fillSearch('inurl:ViewerFrame?Mode=')" aria-label="inurl:ViewerFrame?Mode=">inurl:ViewerFrame?Mode=</span>
270
- <span class="example" onclick="fillSearch('inurl:ViewerFrame?Mode=Refresh')" aria-label="inurl:ViewerFrame?Mode=Refresh">inurl:ViewerFrame?Mode=Refresh</span>
271
- <span class="example" onclick="fillSearch('inurl:axis-cgi/jpg')" aria-label="inurl:axis-cgi/jpg">inurl:axis-cgi/jpg</span>
272
- <span class="example" onclick="fillSearch('inurl:axis-cgi/mjpg')" aria-label="inurl:axis-cgi/mjpg">inurl:axis-cgi/mjpg</span>
273
- <span class="example" onclick="fillSearch('inurl:view/indexFrame.shtml')" aria-label="inurl:view/indexFrame.shtml">inurl:view/indexFrame.shtml</span>
274
- <span class="example" onclick="fillSearch('inurl:view/index.shtml')" aria-label="inurl:view/index.shtml">inurl:view/index.shtml</span>
275
- <span class="example" onclick="fillSearch('liveapplet')" aria-label="liveapplet">liveapplet</span>
276
- <span class="example" onclick="fillSearch('intitle:\"live view\" intitle:axis')" aria-label="intitle:\"live view\" intitle:axis">intitle:"live view" intitle:axis</span>
277
- <span class="example" onclick="fillSearch('intitle:liveapplet')" aria-label="intitle:liveapplet">intitle:liveapplet</span>
278
- <span class="example" onclick="fillSearch('allintitle:\"Network Camera NetworkCamera\"')" aria-label="allintitle:\"Network Camera NetworkCamera\"">allintitle:"Network Camera NetworkCamera"</span>
279
- <span class="example" onclick="fillSearch('intitle:axis intitle:\"video server\"')" aria-label="intitle:axis intitle:\"video server\"">intitle:axis intitle:"video server"</span>
280
- <span class="example" onclick="fillSearch('intitle:liveapplet inurl:LvAppl')" aria-label="intitle:liveapplet inurl:LvAppl">intitle:liveapplet inurl:LvAppl</span>
281
- <span class="example" onclick="fillSearch('intitle:\"EvoCam\" inurl:\"webcam.html\"')" aria-label="intitle:\"EvoCam\" inurl:\"webcam.html\"">intitle:"EvoCam" inurl:"webcam.html"</span>
282
- <span class="example" onclick="fillSearch('intitle:\"Live NetSnap Cam-Server feed\"')" aria-label="intitle:\"Live NetSnap Cam-Server feed\"">intitle:"Live NetSnap Cam-Server feed"</span>
283
- <span class="example" onclick="fillSearch('inurl:indexFrame.shtml Axis')" aria-label="inurl:indexFrame.shtml Axis">inurl:indexFrame.shtml Axis</span>
284
- <span class="example" onclick="fillSearch('inurl:\"MultiCameraFrame?Mode=Motion\"')" aria-label="inurl:\"MultiCameraFrame?Mode=Motion\"">inurl:"MultiCameraFrame?Mode=Motion"</span>
285
- <span class="example" onclick="fillSearch('intitle:start inurl:cgistart')" aria-label="intitle:start inurl:cgistart">intitle:start inurl:cgistart</span>
286
- <span class="example" onclick="fillSearch('intitle:\"WJ-NT104 Main Page\"')" aria-label="intitle:\"WJ-NT104 Main Page\"">intitle:"WJ-NT104 Main Page"</span>
287
- </div>
288
- </div>
289
- <div class="dropdown">
290
- <strong>Примеры камер Sony:</strong>
291
- <div class="dropdown-content">
292
- <span class="example" onclick="fillSearch('intitle:snc-z20 inurl:home/')" aria-label="intitle:snc-z20 inurl:home/">intitle:snc-z20 inurl:home/</span>
293
- <span class="example" onclick="fillSearch('intitle:snc-cs3 inurl:home/')" aria-label="intitle:snc-cs3 inurl:home/">intitle:snc-cs3 inurl:home/</span>
294
- <span class="example" onclick="fillSearch('intitle:snc-rz30 inurl:home/')" aria-label="intitle:snc-rz30 inurl:home/">intitle:snc-rz30 inurl:home/</span>
295
- <span class="example" onclick="fillSearch('intitle:\"sony network camera snc-p1\"')" aria-label="intitle:\"sony network camera snc-p1\"">intitle:"sony network camera snc-p1"</span>
296
- <span class="example" onclick="fillSearch('intitle:\"sony network camera snc-m1\"')" aria-label="intitle:\"sony network camera snc-m1\"">intitle:"sony network camera snc-m1"</span>
297
- </div>
298
- </div>
299
- <div class="dropdown">
300
- <strong>Примеры других камер:</strong>
301
- <div class="dropdown-content">
302
- <span class="example" onclick="fillSearch('site:.viewnetcam.com -www.viewnetcam.com')" aria-label="site:.viewnetcam.com -www.viewnetcam.com">site:.viewnetcam.com -www.viewnetcam.com</span>
303
- <span class="example" onclick="fillSearch('intitle:\"Toshiba Network Camera\" user login')" aria-label="intitle:\"Toshiba Network Camera\" user login">intitle:"Toshiba Network Camera" user login</span>
304
- <span class="example" onclick="fillSearch('intitle:\"netcam live image\"')" aria-label="intitle:\"netcam live image\"">intitle:"netcam live image"</span>
305
- <span class="example" onclick="fillSearch('intitle:\"i-Catcher Console - Web Monitor\"')" aria-label="intitle:\"i-Catcher Console - Web Monitor\"">intitle:"i-Catcher Console - Web Monitor"</span>
306
- </div>
307
- </div>
308
- <div class="dropdown">
309
- <strong>Примеры телефонных номеров:</strong>
310
- <div class="dropdown-content">
311
- <span class="example" onclick="fillPhoneDork('full')" aria-label="Поиск по телефонному номеру">Поиск по телефонному номеру</span>
312
- </div>
313
- </div>
314
- <div class="dropdown">
315
- <strong>Примеры социальных сетей:</strong>
316
- <div class="dropdown-content">
317
- <span class="example" onclick="fillPhoneDork('social')" aria-label="Поиск в социальных сетях">Поиск в социальных сетях</span>
318
- </div>
319
- </div>
320
- <div class="dropdown">
321
- <strong>Примеры HTML5:</strong>
322
- <div class="dropdown-content">
323
- <span class="example" onclick="fillSearch('inurl:html5')" aria-label="inurl:html5">inurl:html5</span>
324
- <span class="example" onclick="fillSearch('intitle:\"HTML5 Video\"')" aria-label="intitle:\"HTML5 Video\"">intitle:"HTML5 Video"</span>
325
- </div>
326
- </div>
327
- </div>
328
- <div class="console-output" id="output" role="region" aria-live="polite"></div>
329
- <div class="progress-bar" id="progressBar">
330
- <div class="progress-bar-fill" id="progressBarFill"></div>
331
  </div>
332
  </div>
333
- <script>
334
- function fillSearch(query) {
335
- document.getElementById('searchInput').value = query;
336
- }
337
 
338
- function getFormattedPhone() {
339
- const phone = document.getElementById('phoneInput').value;
340
- const cleanPhone = phone.replace(/\D/g, '');
341
- if (cleanPhone.length < 10) throw new Error('Некорректный номер');
342
- return {
343
- full: cleanPhone,
344
- local: cleanPhone.slice(cleanPhone.length - 10),
345
- spaced: `${cleanPhone.slice(0,3)} ${cleanPhone.slice(3,6)} ${cleanPhone.slice(6,8)} ${cleanPhone.slice(8,10)}`
346
- };
347
- }
348
 
349
- function generateFileDork() {
350
- const extensions = Array.from(document.querySelectorAll('.file-type:checked'))
351
- .map(cb => `filetype:${cb.value}`)
352
- .join(' OR ');
353
- return extensions ? `(${extensions})` : '';
354
- }
355
 
356
- function fillPhoneDork(type) {
357
- try {
358
- const { full, local, spaced } = getFormattedPhone();
359
- let query = '';
360
- if (type === 'full') {
361
- query = [
362
- `intext:"${full}"`,
363
- `intext:"+${full}"`,
364
- `intext:"${local}"`,
365
- `intext:"${spaced}"`
366
- ].join(' OR ');
367
- } else if (type === 'social') {
368
- const networks = ['facebook', 'twitter', 'linkedin', 'instagram', 'vk'];
369
- query = networks.map(site =>
370
- `site:${site}.com (intext:"${full}" OR intext:"+${full}" OR intext:"${local}")`
371
- ).join(' OR ');
372
- }
373
- document.getElementById('searchInput').value = query;
374
- } catch(e) {
375
- alert('Ошибка: ' + e.message);
376
- }
377
- }
378
 
379
- function executeSearch(type) {
380
- const searchTerm = document.getElementById('searchInput').value.trim();
381
- if (!searchTerm) {
382
- alert('ВВЕДИТЕ ЗАПРОС!');
383
- return;
384
- }
385
- if (searchTerm.length > 1024) {
386
- alert('ЗАПРОС СЛИШКОМ ДЛИННЫЙ! (Максимум 1024 символов)');
387
- return;
388
- }
389
- const output = document.getElementById('output');
390
- output.innerHTML += `> ЗАПУСК: ${escapeQuotes(searchTerm)}<br>`;
391
- if (type === 'standard') {
392
- searchGoogle(searchTerm);
393
- } else if (type === 'dork') {
394
- searchDork(searchTerm);
395
- }
396
- }
397
 
398
- function escapeQuotes(str) {
399
- return str.replace(/"/g, '&quot;');
400
- }
 
 
 
 
 
 
 
 
 
 
401
 
402
- async function searchGoogle(search) {
403
- const output = document.getElementById('output');
404
- const progressBarFill = document.getElementById('progressBarFill');
405
- const pagesToOpen = Math.min(5, parseInt(document.getElementById('pagesSelect').value, 10));
406
- const wordCount = search.split(' ').length;
407
- const o = Math.max(32 - wordCount, 1);
408
- const template = 'site:*.*.%NUM%.* |';
409
- let query = '';
410
- const urls = [];
411
- for (let i = 0; i < 10; i++) {
412
- for (let ii = 0; ii < (257 - (i * o)); ii++) {
413
- query += template.replace('%NUM%', ii);
414
- }
415
- query = query.slice(0, -1);
416
- query = `(${search}) (${query})`;
417
- urls.push('https://google.com/search?q=' + encodeURIComponent(query));
418
- query = '';
419
- }
420
- output.innerHTML += `> ГЕНЕРИРУЕТСЯ ${urls.length} ЗАПРОСОВ<br>`;
421
- if (urls.length > 5 && !confirm(`Открыть ${urls.length} вкладок?`)) return;
422
- progressBarFill.style.width = '0%';
423
- let delay = 0;
424
- for (let i = 0; i < urls.length; i++) {
425
- setTimeout(() => {
426
- window.open(urls[i], '_blank', 'noopener,noreferrer');
427
- output.innerHTML += `> [ВКЛАДКА ${i+1}] ОТКРЫТА<br>`;
428
- progressBarFill.style.width = ((i + 1) / urls.length * 100) + '%';
429
- }, delay += 100);
430
- }
431
- }
432
 
433
- async function searchDork(dork) {
434
- const output = document.getElementById('output');
435
- output.innerHTML += `> ИНИЦИАЛИЗАЦИЯ ДОРКА: ${escapeQuotes(dork)}<br>`;
436
- const url = 'https://google.com/search?q=' + encodeURIComponent(dork);
437
- try {
438
- const response = await fetch(url, { method: 'HEAD' });
439
- if (!response.ok) {
440
- throw new Error('Сетевой ответ не успешен');
441
- }
442
- output.innerHTML += '> ДОРК ПОИСК ЗАВЕРШЕН.<br>';
443
- } catch (error) {
444
- output.innerHTML += `> ОШИБКА: ${escapeQuotes(error.message)}<br>`;
445
- }
446
- window.open(url, '_blank', 'noopener,noreferrer');
447
- output.innerHTML += '> [ВКЛАДКА 1] ОТКРЫТА<br>';
448
- }
449
- </script>
450
  </body>
451
  </html>
 
1
  <!DOCTYPE html>
2
  <html lang="ru">
3
  <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>RedDork v2.0.1</title>
7
  <style>
8
+ /* Киберпанк-стилизация */
9
  body {
10
+ background: #000;
11
+ color: #0f0;
12
+ font-family: 'Consolas', monospace;
13
  margin: 0;
14
  padding: 20px;
15
  overflow-x: hidden;
16
  }
17
+ .terminal {
18
+ border: 3px solid #0f0;
 
 
 
 
 
19
  padding: 20px;
20
  margin: 20px auto;
21
  max-width: 800px;
22
+ background: #001100;
23
+ box-shadow: 0 0 25px #0f03;
24
+ }
25
+ input, button, select {
26
+ background: #002200;
27
+ border: 2px solid #0f0;
28
+ color: #0f0;
29
+ padding: 8px;
30
+ margin: 5px;
31
+ font-family: inherit;
32
+ }
33
+ .glow {
34
+ text-shadow: 0 0 10px #0f0;
35
+ }
36
+ #output {
37
+ height: 300px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  overflow-y: auto;
39
+ border: 1px solid #0f03;
40
+ padding: 15px;
41
  margin: 15px 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  background: #000;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  }
44
  </style>
45
  </head>
46
  <body>
47
+ <div class="terminal">
48
+ <h1 class="glow">■ RedDork v2.0.1 ■</h1>
49
+
50
+ <div>
51
+ <input type="text" id="query" placeholder="DORK PATTERN" style="width: 65%">
52
+ <button onclick="executeRedSearch()">EXECUTE</button>
53
+ <select id="tabs">
54
+ <option value="1">1 TAB</option>
55
+ <option value="3">3 TABS</option>
56
+ <option value="5">5 TABS</option>
 
 
 
 
 
 
 
57
  </select>
58
  </div>
59
+
60
+ <div id="output"></div>
61
+
62
+ <div style="margin-top: 20px">
63
+ <button onclick="injectPattern('intitle:"index of" password')">CREDS</button>
64
+ <button onclick="injectPattern('filetype:sql "INSERT INTO users"')">SQL</button>
65
+ <button onclick="injectPattern('inurl:/admin/login.jsp')">ADMINS</button>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  </div>
67
  </div>
 
 
 
 
68
 
69
+ <script>
70
+ // CORE LOGIC ■
71
+ const sanitize = (str) => str.replace(/[<>]/g, '');
 
 
 
 
 
 
 
72
 
73
+ function injectPattern(pattern) {
74
+ document.getElementById('query').value = pattern;
75
+ }
 
 
 
76
 
77
+ function generateFingerprint() {
78
+ return Math.random().toString(36).substr(2, 8) +
79
+ Date.now().toString(36);
80
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
 
82
+ async function executeRedSearch() {
83
+ const rawQuery = document.getElementById('query').value;
84
+ const tabs = parseInt(document.getElementById('tabs').value);
85
+ const output = document.getElementById('output');
86
+
87
+ if(!rawQuery) {
88
+ output.innerHTML += '> [ERROR] EMPTY QUERY!\n';
89
+ return;
90
+ }
 
 
 
 
 
 
 
 
 
91
 
92
+ // PAYLOAD GENERATION ■
93
+ const fingerprint = generateFingerprint();
94
+ const safeQuery = sanitize(rawQuery);
95
+ const payloads = [];
96
+
97
+ output.innerHTML += `> [${fingerprint}] INITIATING...\n`;
98
+
99
+ // ■ PATTERN ENGINE ■
100
+ for(let i = 0; i < tabs; i++) {
101
+ const dork = `${safeQuery} ${i % 2 ? 'intext:password' : 'filetype:cfg'}`;
102
+ const url = `https://www.google.com/search?q=${encodeURIComponent(dork)}`;
103
+ payloads.push(url);
104
+ }
105
 
106
+ // STEALTH EXECUTION ■
107
+ let delay = 0;
108
+ payloads.forEach((url, idx) => {
109
+ setTimeout(() => {
110
+ window.open(url, `redWindow_${idx}`, 'noopener');
111
+ output.innerHTML += `> [${fingerprint}] TAB ${idx+1} LAUNCHED\n`;
112
+ }, delay += 1500 + Math.random()*1000); // Random delays
113
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
 
115
+ // CLEANUP
116
+ setTimeout(() => {
117
+ output.innerHTML += `> [${fingerprint}] OPERATION COMPLETED\n`;
118
+ }, delay + 2000);
119
+ }
120
+ </script>
 
 
 
 
 
 
 
 
 
 
 
121
  </body>
122
  </html>