enotkrutoy commited on
Commit
1845b8b
·
verified ·
1 Parent(s): bc818ad

Create index1.html

Browse files
Files changed (1) hide show
  1. index1.html +452 -0
index1.html ADDED
@@ -0,0 +1,452 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ </style>
163
+ </head>
164
+ <body>
165
+ <div class="scan-line"></div>
166
+
167
+ <div class="console">
168
+ <h1 class="glitch" role="heading" aria-level="1">CYBER SEARCH v1.3.37</h1>
169
+ <div style="text-align: center;">
170
+ <span class="status-led" role="img" aria-label="Status LED"></span>
171
+ <input type="text" id="searchInput" placeholder="ENTER SEARCH TERM..." aria-label="Search Term" />
172
+ <button onclick="executeSearch('standard')" aria-label="Initiate Standard Search">INITIATE</button>
173
+ <button onclick="executeSearch('dork')" aria-label="Initiate Dork Search">DORKSEARCH</button>
174
+ </div>
175
+
176
+ <!-- Переключатель количества открываемых страниц -->
177
+ <div class="controls">
178
+ <label for="pagesSelect" aria-label="Number of Pages to Open">Количество открываемых страниц:</label>
179
+ <select id="pagesSelect" aria-label="Number of Pages to Open">
180
+ <option value="1" selected>1</option>
181
+ <option value="2">2</option>
182
+ <option value="3">3</option>
183
+ <option value="4">4</option>
184
+ <option value="5">5</option>
185
+ <option value="6">6</option>
186
+ <option value="7">7</option>
187
+ <option value="8">8</option>
188
+ <option value="9">9</option>
189
+ <option value="10">10</option>
190
+ </select>
191
+ </div>
192
+
193
+ <!-- Динамический ввод телефона -->
194
+ <div class="dynamic-input">
195
+ <label for="phoneInput" aria-label="Enter Phone Number">Введите телефонный номер:</label>
196
+ <input type="text" id="phoneInput" placeholder="905067043238" aria-label="Phone Number" />
197
+ </div>
198
+
199
+ <!-- Блок кликабельных примеров -->
200
+ <div class="examples">
201
+ <div class="dropdown">
202
+ <strong>Файловые Примеры:</strong>
203
+ <div class="dropdown-content">
204
+ <span class="example" onclick="fillSearch('intitle:index.of /config')" aria-label="intitle:index.of /config">intitle:index.of /config</span>
205
+ <span class="example" onclick="fillSearch('intitle:index.of /logs')" aria-label="intitle:index.of /logs">intitle:index.of /logs</span>
206
+ <span class="example" onclick="fillSearch('intitle:index.of /backup')" aria-label="intitle:index.of /backup">intitle:index.of /backup</span>
207
+ <span class="example" onclick="fillSearch('filetype:cfg config')" aria-label="filetype:cfg config">filetype:cfg config</span>
208
+ <span class="example" onclick="fillSearch('filetype:bak backup')" aria-label="filetype:bak backup">filetype:bak backup</span>
209
+ <span class="example" onclick="fillSearch('filetype:sql sql')" aria-label="filetype:sql sql">filetype:sql sql</span>
210
+ <span class="example" onclick="fillSearch('filetype:log log')" aria-label="filetype:log log">filetype:log log</span>
211
+ <span class="example" onclick="fillSearch('filetype:xml xml')" aria-label="filetype:xml xml">filetype:xml xml</span>
212
+ <span class="example" onclick="fillSearch('filetype:yml yml')" aria-label="filetype:yml yml">filetype:yml yml</span>
213
+ </div>
214
+ </div>
215
+
216
+ <div class="dropdown">
217
+ <strong>Примеры поиска в тексте:</strong>
218
+ <div class="dropdown-content">
219
+ <span class="example" onclick="fillSearch('inurl:php?= AND intext:password')" aria-label="inurl:php?= AND intext:password">inurl:php?= AND intext:password</span>
220
+ <span class="example" onclick="fillSearch('intitle:index.of passwd')" aria-label="intitle:index.of passwd">intitle:index.of passwd</span>
221
+ <span class="example" onclick="fillSearch('inurl:admin AND intext:username')" aria-label="inurl:admin AND intext:username">inurl:admin AND intext:username</span>
222
+ </div>
223
+ </div>
224
+
225
+ <div class="dropdown">
226
+ <strong>Примеры поиска по URL:</strong>
227
+ <div class="dropdown-content">
228
+ <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>
229
+ <span class="example" onclick="fillSearch('inurl:server-status')" aria-label="inurl:server-status">inurl:server-status</span>
230
+ <span class="example" onclick="fillSearch('intitle:index.of database')" aria-label="intitle:index.of database">intitle:index.of database</span>
231
+ </div>
232
+ </div>
233
+
234
+ <div class="dropdown">
235
+ <strong>Примеры камер Axis:</strong>
236
+ <div class="dropdown-content">
237
+ <span class="example" onclick="fillSearch('inurl:/view.shtml')" aria-label="inurl:/view.shtml">inurl:/view.shtml</span>
238
+ <span class="example" onclick="fillSearch('intitle:\"Live View / - AXIS\"')" aria-label="intitle:\"Live View / - AXIS\"">intitle:"Live View / - AXIS"</span>
239
+ <span class="example" onclick="fillSearch('inurl:view/view.shtml')" aria-label="inurl:view/view.shtml">inurl:view/view.shtml</span>
240
+ <span class="example" onclick="fillSearch('inurl:ViewerFrame?Mode=')" aria-label="inurl:ViewerFrame?Mode=">inurl:ViewerFrame?Mode=</span>
241
+ <span class="example" onclick="fillSearch('inurl:ViewerFrame?Mode=Refresh')" aria-label="inurl:ViewerFrame?Mode=Refresh">inurl:ViewerFrame?Mode=Refresh</span>
242
+ <span class="example" onclick="fillSearch('inurl:axis-cgi/jpg')" aria-label="inurl:axis-cgi/jpg">inurl:axis-cgi/jpg</span>
243
+ <span class="example" onclick="fillSearch('inurl:axis-cgi/mjpg')" aria-label="inurl:axis-cgi/mjpg">inurl:axis-cgi/mjpg</span>
244
+ <span class="example" onclick="fillSearch('inurl:view/indexFrame.shtml')" aria-label="inurl:view/indexFrame.shtml">inurl:view/indexFrame.shtml</span>
245
+ <span class="example" onclick="fillSearch('inurl:view/index.shtml')" aria-label="inurl:view/index.shtml">inurl:view/index.shtml</span>
246
+ <span class="example" onclick="fillSearch('liveapplet')" aria-label="liveapplet">liveapplet</span>
247
+ <span class="example" onclick="fillSearch('intitle:\"live view\" intitle:axis')" aria-label="intitle:\"live view\" intitle:axis">intitle:"live view" intitle:axis</span>
248
+ <span class="example" onclick="fillSearch('intitle:liveapplet')" aria-label="intitle:liveapplet">intitle:liveapplet</span>
249
+ <span class="example" onclick="fillSearch('allintitle:\"Network Camera NetworkCamera\"')" aria-label="allintitle:\"Network Camera NetworkCamera\"">allintitle:"Network Camera NetworkCamera"</span>
250
+ <span class="example" onclick="fillSearch('intitle:axis intitle:\"video server\"')" aria-label="intitle:axis intitle:\"video server\"">intitle:axis intitle:"video server"</span>
251
+ <span class="example" onclick="fillSearch('intitle:liveapplet inurl:LvAppl')" aria-label="intitle:liveapplet inurl:LvAppl">intitle:liveapplet inurl:LvAppl</span>
252
+ <span class="example" onclick="fillSearch('intitle:\"EvoCam\" inurl:\"webcam.html\"')" aria-label="intitle:\"EvoCam\" inurl:\"webcam.html\"">intitle:"EvoCam" inurl:"webcam.html"</span>
253
+ <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>
254
+ <span class="example" onclick="fillSearch('intitle:\"Live View / - AXIS\"')" aria-label="intitle:\"Live View / - AXIS\"">intitle:"Live View / - AXIS"</span>
255
+ <span class="example" onclick="fillSearch('intitle:\"Live View / - AXIS 206M\"')" aria-label="intitle:\"Live View / - AXIS 206M\"">intitle:"Live View / - AXIS 206M"</span>
256
+ <span class="example" onclick="fillSearch('intitle:\"Live View / - AXIS 206W\"')" aria-label="intitle:\"Live View / - AXIS 206W\"">intitle:"Live View / - AXIS 206W"</span>
257
+ <span class="example" onclick="fillSearch('intitle:\"Live View / - AXIS 210\"')" aria-label="intitle:\"Live View / - AXIS 210\"">intitle:"Live View / - AXIS 210"</span>
258
+ <span class="example" onclick="fillSearch('inurl:indexFrame.shtml Axis')" aria-label="inurl:indexFrame.shtml Axis">inurl:indexFrame.shtml Axis</span>
259
+ <span class="example" onclick="fillSearch('inurl:\"MultiCameraFrame?Mode=Motion\"')" aria-label="inurl:\"MultiCameraFrame?Mode=Motion\"">inurl:"MultiCameraFrame?Mode=Motion"</span>
260
+ <span class="example" onclick="fillSearch('intitle:start inurl:cgistart')" aria-label="intitle:start inurl:cgistart">intitle:start inurl:cgistart</span>
261
+ <span class="example" onclick="fillSearch('intitle:\"WJ-NT104 Main Page\"')" aria-label="intitle:\"WJ-NT104 Main Page\"">intitle:"WJ-NT104 Main Page"</span>
262
+ </div>
263
+ </div>
264
+
265
+ <div class="dropdown">
266
+ <strong>Примеры камер Sony:</strong>
267
+ <div class="dropdown-content">
268
+ <span class="example" onclick="fillSearch('intitle:snc-z20 inurl:home/')" aria-label="intitle:snc-z20 inurl:home/">intitle:snc-z20 inurl:home/</span>
269
+ <span class="example" onclick="fillSearch('intitle:snc-cs3 inurl:home/')" aria-label="intitle:snc-cs3 inurl:home/">intitle:snc-cs3 inurl:home/</span>
270
+ <span class="example" onclick="fillSearch('intitle:snc-rz30 inurl:home/')" aria-label="intitle:snc-rz30 inurl:home/">intitle:snc-rz30 inurl:home/</span>
271
+ <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>
272
+ <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>
273
+ </div>
274
+ </div>
275
+
276
+ <div class="dropdown">
277
+ <strong>Примеры других камер:</strong>
278
+ <div class="dropdown-content">
279
+ <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>
280
+ <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>
281
+ <span class="example" onclick="fillSearch('intitle:\"netcam live image\"')" aria-label="intitle:\"netcam live image\"">intitle:"netcam live image"</span>
282
+ <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>
283
+ </div>
284
+ </div>
285
+
286
+ <div class="dropdown">
287
+ <strong>Примеры телефонных номеров:</strong>
288
+ <div class="dropdown-content">
289
+ <span class="example" onclick="fillDynamicPhoneSearch()" aria-label="Поиск по телефонному номеру">Поиск по телефонному номеру</span>
290
+ </div>
291
+ </div>
292
+
293
+ <div class="dropdown">
294
+ <strong>Примеры социальных сетей:</strong>
295
+ <div class="dropdown-content">
296
+ <span class="example" onclick="fillSocialSearch('facebook.com')" aria-label="site:facebook.com">Facebook</span>
297
+ <span class="example" onclick="fillSocialSearch('twitter.com')" aria-label="site:twitter.com">Twitter</span>
298
+ <span class="example" onclick="fillSocialSearch('linkedin.com')" aria-label="site:linkedin.com">LinkedIn</span>
299
+ <span class="example" onclick="fillSocialSearch('instagram.com')" aria-label="site:instagram.com">Instagram</span>
300
+ <span class="example" onclick="fillSocialSearch('vk.com')" aria-label="site:vk.com">VK</span>
301
+ </div>
302
+ </div>
303
+
304
+ <div class="dropdown">
305
+ <strong>Примеры HTML5:</strong>
306
+ <div class="dropdown-content">
307
+ <span class="example" onclick="fillSearch('inurl:html5')" aria-label="inurl:html5">inurl:html5</span>
308
+ <span class="example" onclick="fillSearch('intitle:\"HTML5 Video\"')" aria-label="intitle:\"HTML5 Video\"">intitle:"HTML5 Video"</span>
309
+ </div>
310
+ </div>
311
+ </div>
312
+
313
+ <div class="console-output" id="output" role="region" aria-live="polite"></div>
314
+ </div>
315
+
316
+ <script>
317
+ // Функция для автозаполнения поля поиска из кликабельных примеров
318
+ function fillSearch(query) {
319
+ document.getElementById('searchInput').value = query;
320
+ }
321
+
322
+ function fillDynamicPhoneSearch() {
323
+ const phoneInput = document.getElementById('phoneInput').value;
324
+ if (phoneInput) {
325
+ const formattedPhone = phoneInput.replace(/\D/g, '');
326
+ const searchTerms = [
327
+ `intext:"${formattedPhone}"`,
328
+ `intext:"+${formattedPhone}"`,
329
+ `intext:"${formattedPhone.slice(0, 3)} ${formattedPhone.slice(3, 6)} ${formattedPhone.slice(6, 8)} ${formattedPhone.slice(8, 10)}"`
330
+ ];
331
+ document.getElementById('searchInput').value = searchTerms.join(' OR ');
332
+ } else {
333
+ alert('PHONE NUMBER REQUIRED!');
334
+ }
335
+ }
336
+
337
+ function fillSocialSearch(site) {
338
+ const phoneInput = document.getElementById('phoneInput').value;
339
+ if (phoneInput) {
340
+ const formattedPhone = phoneInput.replace(/\D/g, '');
341
+ const searchTerms = [
342
+ `site:${site} intext:"${formattedPhone}"`,
343
+ `site:${site} intext:"+${formattedPhone}"`,
344
+ `site:${site} intext:"${formattedPhone.slice(0, 3)} ${formattedPhone.slice(3, 6)} ${formattedPhone.slice(6, 8)} ${formattedPhone.slice(8, 10)}"`
345
+ ];
346
+ document.getElementById('searchInput').value = searchTerms.join(' OR ');
347
+ } else {
348
+ alert('PHONE NUMBER REQUIRED!');
349
+ }
350
+ }
351
+
352
+ function executeSearch(type) {
353
+ const searchTerm = document.getElementById('searchInput').value;
354
+ if (!searchTerm) {
355
+ alert('SEARCH TERM REQUIRED!');
356
+ return;
357
+ }
358
+ if (searchTerm.length > 1024) {
359
+ alert('SEARCH TERM TOO LONG! (Max length: 1024 characters)');
360
+ return;
361
+ }
362
+
363
+ const output = document.getElementById('output');
364
+ try {
365
+ output.innerHTML += '> INITIALIZING SEARCH: ' + escapeQuotes(searchTerm) + '\n';
366
+ if (type === 'standard') {
367
+ searchGoogle(searchTerm);
368
+ } else if (type === 'dork') {
369
+ searchDork(searchTerm);
370
+ }
371
+ } catch (error) {
372
+ output.innerHTML += '> ERROR: ' + error.message + '\n';
373
+ }
374
+ }
375
+
376
+ function escapeQuotes(str) {
377
+ return str.replace(/"/g, '&quot;');
378
+ }
379
+
380
+ async function searchGoogle(search) {
381
+ const output = document.getElementById('output');
382
+ const pagesToOpen = parseInt(document.getElementById('pagesSelect').value, 10);
383
+ const wordCount = search.split(' ').length;
384
+ let o = Math.max(32 - wordCount, 1);
385
+
386
+ const template = 'site:*.*.%NUM%.* |';
387
+ let query = '';
388
+ const urls = [];
389
+ const maxUrls = 10; // Максимальное количество URL-адресов
390
+
391
+ for (let i = 0; i < maxUrls; i++) {
392
+ for (let ii = 0; ii < (257 - (i * o)); ii++) {
393
+ query += template.replace('%NUM%', ii.toString());
394
+ }
395
+ query = query.slice(0, -1);
396
+ query = `(${search}) (${query})`;
397
+ const url = 'https://www.google.com/search?q=' + encodeURIComponent(query);
398
+ urls.push(url);
399
+ query = '';
400
+ }
401
+
402
+ output.innerHTML += '> GENERATED ' + urls.length + ' SEARCH PATTERNS\n';
403
+ output.innerHTML += '> INITIATING SEARCH EXECUTION...\n';
404
+
405
+ const pages = Math.min(pagesToOpen, urls.length);
406
+
407
+ if (pages > 5) {
408
+ if (!confirm(`Opening ${pages} portals. Continue?`)) {
409
+ return;
410
+ }
411
+ }
412
+
413
+ let delay = 0;
414
+ for (let index = 0; index < pages; index++) {
415
+ setTimeout(() => {
416
+ output.innerHTML += '> [PORTAL ' + (index + 1) + '] LAUNCHED\n';
417
+ window.open(urls[index], '_blank', 'noopener,noreferrer');
418
+ }, delay);
419
+ delay += 100;
420
+ }
421
+ }
422
+
423
+ async function searchDork(dork) {
424
+ const output = document.getElementById('output');
425
+ const pagesToOpen = parseInt(document.getElementById('pagesSelect').value, 10);
426
+ const phoneInput = document.getElementById('phoneInput').value;
427
+
428
+ if (phoneInput) {
429
+ const formattedPhone = phoneInput.replace(/\D/g, '');
430
+ dork = dork.replace(/905067043238/g, formattedPhone);
431
+ }
432
+
433
+ output.innerHTML += '> INITIALIZING DORK SEARCH: ' + escapeQuotes(dork) + '\n';
434
+ const url = 'https://www.google.com/search?q=' + encodeURIComponent(dork);
435
+ output.innerHTML += '> SEARCH URL: ' + escapeQuotes(url) + '\n';
436
+
437
+ const pages = Math.min(pagesToOpen, 1); // Dorks typically return one page
438
+
439
+ if (pages > 5) {
440
+ if (!confirm(`Opening ${pages} portals. Continue?`)) {
441
+ return;
442
+ }
443
+ }
444
+
445
+ setTimeout(() => {
446
+ output.innerHTML += '> [PORTAL 1] LAUNCHED\n';
447
+ window.open(url, '_blank', 'noopener,noreferrer');
448
+ }, 100);
449
+ }
450
+ </script>
451
+ </body>
452
+ </html>