Files
esp8266_deauther/htmlfiles/settings.html
Stefan Kremser 485c1ac219 Merge-fixes
2017-03-12 11:08:30 +01:00

222 lines
6.9 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="right">
<a href="#" onclick="restartESP()">Restart</a>
<ul>
</nav>
<div id="content">
<h1>Settings</h1>
<p class="block bold">WiFi</p>
<label for="ssid">SSID:</label>
<input type="text" id="ssid" minlength="1" maxlength="32">
<br />
<label for="ssidHidden">hidden:</label>
<input type="checkbox" name="ssidHidden" id="ssidHidden" value="false">
<br />
<label for="password">password:</label>
<input type="text" id="password" minlength="8" maxlength="32">
<p class="small">must have at least 8 characters! (needs restart)</p>
<br />
<label for="apChannel">channel:</label>
<input type="number" id="apChannel" min="1" max="11">
<br />
<br />
<p class="block bold">AP scan</p>
<label for="apScanHidden">scan for hidden APs:</label>
<input type="checkbox" name="apScanHidden" id="apScanHidden" value="false">
<br />
<br />
<p class="block bold">Client Scan</p>
<label for="scanTime">default scan time:</label>
<input type="number" id="scanTime" min="1" max="255">s
<br />
<br />
<p class="block bold">Attack</p>
<label for="timeout">timeout:</label>
<input type="number" id="timeout" min="-1" max="65536">s
<p class="small">0 = no timeout</p>
<label for="ssidEnc">WPA2 beacons:</label>
<input type="checkbox" name="ssidEnc" id="ssidEnc" value="false">
<br />
<label for="useLed">use LED:</label>
<input type="checkbox" name="useLed" id="useLed" value="false">
<br />
<label for="deauthReason">deauth reason:</label>
<input type="number" id="deauthReason" min="1" max="45">
<p class="small">reason codes: <a target="_blank" href="http://www.aboutcher.co.uk/2012/07/linux-wifi-deauthenticated-reason-codes/">click</a></p>
<label for="packetRate">packetrate:</label>
<input type="number" id="packetRate" min="1" max="100">pkts/s
<p class="small">only for deauth attack - may cause instability!</p>
<label for="channelHop">channel hopping:</label>
<input type="checkbox" name="channelHop" id="channelHop" value="false">
<p class="small">only for deauth attack - packetrate will be ignored!</p>
<br />
<br />
<button class="warnBtn" onclick="resetSettings()">reset</button> <button onclick="saveSettings()">save</button><p class="small" id="saved"></p><br \>
<br />
<br />
<p class="block bold" id="clientNames">Client Names</p>
<table id="nameList">
<tr><th>MAC</th><th>Vendor</th><th>Name</th><th>X</th></tr>
</table>
<br />
<button class="warnBtn" onclick="clearNameList()">clear</button></p>
</div>
<table>
</table>
</body>
<script>
var nameListTable = document.getElementById('nameList');
var ssid = document.getElementById('ssid');
var ssidHidden = document.getElementById('ssidHidden');
var password = document.getElementById('password');
var apChannel = document.getElementById('apChannel');
var apScanHidden = document.getElementById('apScanHidden');
var scanTime = document.getElementById('scanTime');
var timeout = document.getElementById('timeout');
var deauthReason = document.getElementById('deauthReason');
var packetRate = document.getElementById('packetRate');
var saved = document.getElementById('saved');
var clientNames = document.getElementById('clientNames');
var ssidEnc = document.getElementById('ssidEnc');
var useLed = document.getElementById('useLed');
var channelHop = document.getElementById('channelHop');
var res;
function getData(){
getResponse("settings.json",function(responseText){
res = JSON.parse(responseText);
ssid.value = res.ssid;
ssidHidden.checked = res.ssidHidden;
password.value = res.password;
apChannel.value = res.apChannel;
apScanHidden.checked = res.apScanHidden;
scanTime.value = res.clientScanTime;
timeout.value = res.attackTimeout;
deauthReason.value = res.deauthReason;
packetRate.value = res.attackPacketRate;
ssidEnc.checked = res.attackEncrypted;
useLed.checked = res.useLed;
channelHop.checked = res.channelHop;
clientNames.innerHTML = "Client Names "+res.nameList.length+"/50";
var tr = '<tr><th>MAC</th><th>Vendor</th><th>Name</th><th>X</th></tr>';
for(var i=0;i<res.nameList.length;i++){
tr += '<tr>';
tr += '<td>'+res.nameList[i].m+'</td>';
tr += '<td>'+res.nameList[i].v+'</td>';
tr += '<td>'+res.nameList[i].n+' <a class="blue" onclick="changeName('+i+')">edit</a></td>';
tr += '<td><button class="marginNull warnBtn" onclick="deleteName('+i+')">x</button></td>';
tr += '</tr>';
}
nameListTable.innerHTML = tr;
});
}
function changeName(id){
var newName = prompt("Name for "+res.nameList[id].m);
if(newName != null){
getResponse("editNameList.json?id="+id+"&name="+newName,function(responseText){
if(responseText == "true") getData();
else alert("error");
});
}
}
function deleteName(id){
getResponse("deleteName.json?num="+id,function(responseText){
if(responseText == "true") getData();
else alert("error");
});
}
function saveSettings(){
saved.innerHTML = "saving...";
var url = "settingsSave.json";
url += "?ssid="+ssid.value;
url += "&ssidHidden="+ssidHidden.checked;
url += "&password="+password.value;
url += "&apChannel="+apChannel.value;
url += "&apScanHidden="+apScanHidden.checked;
url += "&scanTime="+scanTime.value;
url += "&timeout="+timeout.value;
url += "&deauthReason="+deauthReason.value;
url += "&packetRate="+packetRate.value;
url += "&ssidEnc="+ssidEnc.checked;
url += "&useLed="+useLed.checked;
url += "&channelHop="+channelHop.checked;
getResponse(url, function(responseText){
if(responseText == "true"){
getData();
saved.innerHTML = "saved";
}
else alert("error");
});
}
function resetSettings(){
getResponse("settingsReset.json", function(responseText){
if(responseText == "true"){
getData();
saved.innerHTML = "saved";
}
else alert("error");
});
}
function clearNameList(){
getResponse("clearNameList.json", function(responseText){
if(responseText == "true") getData();
else alert("error");
});
}
function restartESP(){
getResponse("restartESP.json", function(responseText){
if(responseText == "true") getData();
else alert("error");
});
}
getData();
</script>
</html>