Spaces:
Running
Running
<html lang="ru"> | |
<head> | |
<meta charset="UTF-8" /> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
<title>CyberSearch v1.3.37</title> | |
<style> | |
body { | |
background-color: #0a0a0a; | |
color: #00ff00; | |
font-family: 'Courier New', monospace; | |
margin: 0; | |
padding: 20px; | |
overflow-x: hidden; | |
} | |
.glitch { | |
text-align: center; | |
animation: glitch 1s infinite; | |
text-shadow: 2px 2px #ff00ff; | |
} | |
.console { | |
border: 3px solid #00ff00; | |
padding: 20px; | |
margin: 20px auto; | |
max-width: 800px; | |
border-radius: 5px; | |
box-shadow: 0 0 15px #00ff0080; | |
} | |
input { | |
background: #000; | |
border: 2px solid #00ff00; | |
color: #00ff00; | |
padding: 10px; | |
width: 70%; | |
margin: 10px; | |
font-size: 16px; | |
text-transform: uppercase; | |
} | |
input:focus { | |
outline: none; | |
box-shadow: 0 0 10px #00ff00; | |
} | |
button { | |
background: #000; | |
border: 2px solid #00ff00; | |
color: #00ff00; | |
padding: 10px 30px; | |
cursor: pointer; | |
transition: all 0.3s; | |
position: relative; | |
overflow: hidden; | |
} | |
button:hover { | |
background: #00ff00; | |
color: #000; | |
text-shadow: 0 0 5px #000; | |
} | |
select { | |
background: #000; | |
border: 2px solid #00ff00; | |
color: #00ff00; | |
padding: 10px; | |
margin: 10px; | |
font-size: 16px; | |
} | |
.scan-line { | |
position: fixed; | |
width: 100%; | |
height: 2px; | |
background: linear-gradient( | |
to bottom, | |
transparent 0%, | |
#00ff0080 50%, | |
transparent 100% | |
); | |
animation: scan 4s linear infinite; | |
pointer-events: none; | |
} | |
@keyframes glitch { | |
0% { transform: translate(0); } | |
20% { transform: translate(-2px, 2px); } | |
40% { transform: translate(-2px, -2px); } | |
60% { transform: translate(2px, 2px); } | |
80% { transform: translate(2px, -2px); } | |
100% { transform: translate(0); } | |
} | |
@keyframes scan { | |
0% { top: -100%; } | |
100% { top: 150%; } | |
} | |
.console-output { | |
height: 200px; | |
overflow-y: auto; | |
margin: 15px 0; | |
padding: 10px; | |
border: 1px solid #00ff0033; | |
white-space: pre-wrap; | |
background: #000; | |
} | |
.status-led { | |
width: 12px; | |
height: 12px; | |
background: #ff0000; | |
border-radius: 50%; | |
display: inline-block; | |
margin-right: 10px; | |
animation: pulse 1s infinite; | |
} | |
@keyframes pulse { | |
0% { opacity: 0.2; } | |
50% { opacity: 1; } | |
100% { opacity: 0.2; } | |
} | |
.examples { | |
margin: 10px 0; | |
text-align: center; | |
} | |
.example { | |
background: #000; | |
border: 1px solid #00ff00; | |
padding: 5px 10px; | |
margin: 3px; | |
cursor: pointer; | |
display: inline-block; | |
font-size: 14px; | |
} | |
.example:hover { | |
background: #00ff00; | |
color: #000; | |
} | |
.controls { | |
text-align: center; | |
margin-top: 10px; | |
} | |
.legal-warning { | |
color: #ff0000; | |
font-style: italic; | |
margin: 15px 0; | |
text-align: center; | |
} | |
</style> | |
</head> | |
<body> | |
<div class="scan-line"></div> | |
<div class="console"> | |
<h1 class="glitch">CYBER SEARCH v1.3.37</h1> | |
<div style="text-align: center;"> | |
<span class="status-led"></span> | |
<input type="text" id="searchInput" placeholder="ENTER SEARCH TERM..." /> | |
<button onclick="executeSearch()">INITIATE</button> | |
</div> | |
<div class="controls"> | |
<label for="pagesSelect">Количество открываемых страниц:</label> | |
<select id="pagesSelect"> | |
<option value="1" selected>1</option> | |
<option value="2">2</option> | |
<option value="3">3</option> | |
<option value="4">4</option> | |
<option value="5">5</option> | |
<option value="6">6</option> | |
<option value="7">7</option> | |
<option value="8">8</option> | |
<option value="9">9</option> | |
<option value="10">10</option> | |
</select> | |
</div> | |
<div class="legal-warning"> | |
*Внимание: Используйте только для HE законных целей. Нарушение политик поисковых систем НЕ запрещено. | |
</div> | |
<div class="examples"> | |
<strong>Примеры запросов:</strong><br /> | |
<span class="example" onclick="fillSearch('intitle:index.of /config')">intitle:index.of /config</span> | |
<span class="example" onclick="fillSearch('intitle:index.of /logs')">intitle:index.of /logs</span> | |
<span class="example" onclick="fillSearch('intitle:index.of /backup')">intitle:index.of /backup</span> | |
<span class="example" onclick="fillSearch('filetype:cfg config')">filetype:cfg config</span> | |
<span class="example" onclick="fillSearch('filetype:bak backup')">filetype:bak backup</span> | |
<span class="example" onclick="fillSearch('filetype:sql sql')">filetype:sql sql</span> | |
<span class="example" onclick="fillSearch('inurl:php?= AND intext:password')">inurl:php?= AND intext:password</span> | |
<span class="example" onclick="fillSearch('intitle:index.of passwd')">intitle:index.of passwd</span> | |
<span class="example" onclick="fillSearch('filetype:log log')">filetype:log log</span> | |
<span class="example" onclick="fillSearch('inurl:admin AND intext:username')">inurl:admin AND intext:username</span> | |
<span class="example" onclick="fillSearch('intitle:\"Index of\" wp-content/uploads')">intitle:"Index of" wp-content/uploads</span> | |
<span class="example" onclick="fillSearch('intitle:index.of /ftp')">intitle:index.of /ftp</span> | |
<span class="example" onclick="fillSearch('intitle:index.of /home')">intitle:index.of /home</span> | |
<span class="example" onclick="fillSearch('intitle:index.of /root')">intitle:index.of /root</span> | |
<span class="example" onclick="fillSearch('filetype:xml xml')">filetype:xml xml</span> | |
<span class="example" onclick="fillSearch('intitle:index.of id_rsa')">intitle:index.of id_rsa</span> | |
<span class="example" onclick="fillSearch('intitle:index.of private_key')">intitle:index.of private_key</span> | |
<span class="example" onclick="fillSearch('inurl:server-status')">inurl:server-status</span> | |
<span class="example" onclick="fillSearch('intitle:index.of database')">intitle:index.of database</span> | |
<span class="example" onclick="fillSearch('filetype:yml yml')">filetype:yml yml</span> | |
<span class="example" onclick="fillSearch('intitle:index.of credentials')">intitle:index.of credentials</span> | |
<span class="example" onclick="fillSearch('intitle:index.of secrets')">intitle:index.of secrets</span> | |
</div> | |
<div class="console-output" id="output"></div> | |
</div> | |
<script> | |
function fillSearch(query) { | |
document.getElementById('searchInput').value = query; | |
} | |
function executeSearch() { | |
const searchTerm = document.getElementById('searchInput').value.trim(); | |
if (!searchTerm) { | |
alert('SEARCH TERM REQUIRED!'); | |
return; | |
} | |
if (searchTerm.length > 1024) { | |
alert('SEARCH TERM TOO LONG! (Max length: 1024 characters)'); | |
return; | |
} | |
const output = document.getElementById('output'); | |
output.innerHTML += '> INITIALIZING SEARCH: ' + searchTerm + '\n'; | |
searchGoogle(searchTerm); | |
} | |
function searchGoogle(search) { | |
const wordCount = search.split(" ").length; | |
let o = Math.max(32 - wordCount, 1); // Prevent o from being <=0 | |
const template = "site:*.*.%NUM%.* |"; | |
let query = ""; | |
const urls = []; | |
const output = document.getElementById('output'); | |
const maxIterations = Math.floor(256 / o); | |
for (let i = 0; i < maxIterations; i++) { | |
for (let ii = 0; ii < (257 - (i * o)); ii++) { | |
query += template.replace("%NUM%", ii); | |
} | |
query = query.slice(0, -1); | |
query = `(${search}) (${query})`; | |
const url = "https://www.google.com/search?q=" + encodeURIComponent(query); | |
urls.push(url); | |
query = ""; | |
} | |
output.innerHTML += '> GENERATED ' + urls.length + ' SEARCH PATTERNS\n'; | |
output.innerHTML += '> INITIATING SEARCH EXECUTION...\n'; | |
const pagesToOpen = Math.min( | |
parseInt(document.getElementById('pagesSelect').value, 10), | |
urls.length | |
); | |
if (pagesToOpen > 5) { | |
if (!confirm(`Opening ${pagesToOpen} portals. Continue?`)) { | |
return; | |
} | |
} | |
let delay = 0; | |
for (let index = 0; index < pagesToOpen; index++) { | |
setTimeout(() => { | |
output.innerHTML += '> [PORTAL ' + (index + 1) + '] LAUNCHED\n'; | |
output.scrollTop = output.scrollHeight; | |
window.open(urls[index], '_blank', 'noopener,noreferrer'); | |
}, delay); | |
delay += 100; | |
} | |
} | |
</script> | |
</body> | |
</html> |