mirror of
https://github.com/SpacehuhnTech/esp8266_deauther.git
synced 2025-12-24 07:29:59 +01:00
147 lines
4.1 KiB
HTML
147 lines
4.1 KiB
HTML
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<link rel="stylesheet" href="style.css">
|
|
<script src="functions.js"></script>
|
|
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
|
</head>
|
|
<body>
|
|
<nav>
|
|
<a href="index.html">APs</a>
|
|
<a href="clients.html">Clients</a>
|
|
<a href="attack.html">Attack</a>
|
|
<a href="settings.html">Settings</a>
|
|
<ul class="nav right">
|
|
<a href="#" onclick="restartESP()">Restart</a>
|
|
<ul>
|
|
</nav>
|
|
<div id="content">
|
|
<h1>Scan for client devices</h1>
|
|
|
|
<label for="scanTime">Scan time:</label>
|
|
<input type="number" id="scanTime" value="10">s
|
|
|
|
<button onclick="scan()" id="startScan">start</button>
|
|
<a id="clientScanStatus">ready!</a>
|
|
<br />
|
|
<p class="warn" id="status">AP will be off while scanning!<p>
|
|
<br />
|
|
|
|
<p class="block bold" id="clientsFound">Client devices found: 0</p>
|
|
|
|
<br />
|
|
|
|
</div>
|
|
|
|
<table>
|
|
</table>
|
|
|
|
</body>
|
|
<script>
|
|
var table = document.getElementsByTagName('table')[0];
|
|
var scanBtn = document.getElementById("startScan");
|
|
var scanTime = document.getElementById("scanTime");
|
|
var clientsFound = document.getElementById("clientsFound");
|
|
var scanStatus = document.getElementById("clientScanStatus");
|
|
|
|
var res;
|
|
|
|
function compare(a,b) {
|
|
if (a.p > b.p) return -1;
|
|
if (a.p < b.p) return 1;
|
|
return 0;
|
|
}
|
|
|
|
function toggleBtn(onoff){
|
|
if(onoff){
|
|
scanBtn.style.visibility = 'visible';
|
|
}else{
|
|
scanBtn.style.visibility = 'hidden';
|
|
}
|
|
}
|
|
|
|
function getResults(reload){
|
|
if(reload === undefined){
|
|
reload = false;
|
|
}
|
|
getResponse("ClientScanResults.json",function(responseText){
|
|
res = JSON.parse(responseText);
|
|
res.clients = res.clients.sort(compare);
|
|
|
|
clientsFound.innerHTML = "Client devices found: "+res.clients.length;
|
|
|
|
var tr = '';
|
|
if(res.clients.length > 0) tr += '<tr><th>Pkts</th><th>Vendor</th><th>Name</th><th>MAC</th><th>AP</th><th>Select</th></tr>';
|
|
|
|
for(var i=0;i<res.clients.length;i++){
|
|
|
|
if(res.clients[i].s == 1) tr += '<tr class="selected">';
|
|
else tr += '<tr>';
|
|
tr += '<td>'+res.clients[i].p+'</td>';
|
|
tr += '<td>'+res.clients[i].v+'</td>';
|
|
tr += '<td>'+res.clients[i].n+' <a class="blue" onclick="changeName('+res.clients[i].i+')">edit</a></td>';
|
|
tr += '<td>'+res.clients[i].m+'</td>';
|
|
tr += '<td>'+res.clients[i].a+'</td>';
|
|
|
|
if(res.clients[i].s == 1) tr += '<td><button class="marginNull selectedBtn" onclick="select('+res.clients[i].i+')">deselect</button></td>';
|
|
else tr += '<td><button class="marginNull" onclick="select('+res.clients[i].i+')">select</button></td>';
|
|
|
|
tr += '</tr>';
|
|
}
|
|
table.innerHTML = tr;
|
|
toggleBtn(true);
|
|
scanStatus.innerHTML = "";
|
|
|
|
if(reload == true) location.reload();
|
|
|
|
},function(){
|
|
location.reload();
|
|
},6000);
|
|
|
|
}
|
|
|
|
function scan(){
|
|
getResponse("ClientScan.json?time="+scanTime.value,function(responseText){
|
|
if(responseText == "true"){
|
|
scanStatus.innerHTML = "scanning...";
|
|
toggleBtn(false);
|
|
setTimeout(function(){
|
|
scanStatus.innerHTML = "reconnecting...";
|
|
getResults(true);
|
|
},scanTime.value*1000);
|
|
}
|
|
else alert(responseText);
|
|
});
|
|
}
|
|
|
|
function select(num){
|
|
getResponse("clientSelect.json?num="+num,function(responseText){
|
|
if(responseText == "true") getResults();
|
|
else alert("error :/");
|
|
});
|
|
}
|
|
|
|
function changeName(id){
|
|
var newName = prompt("Name for "+res.clients[id].m);
|
|
if(newName != null){
|
|
getResponse("setName.json?id="+id+"&name="+newName,function(responseText){
|
|
if(responseText == "true") getResults();
|
|
else alert("error");
|
|
});
|
|
}
|
|
}
|
|
|
|
function restartESP(){
|
|
getResponse("restartESP.json", function(responseText){
|
|
if(responseText == "true") getData();
|
|
else alert("error");
|
|
});
|
|
}
|
|
|
|
getResponse("ClientScanTime.json",function(responseText){
|
|
scanTime.value = responseText;
|
|
});
|
|
|
|
getResults();
|
|
</script>
|
|
</html> |