mirror of
https://github.com/SpacehuhnTech/esp8266_deauther.git
synced 2025-12-23 15:10:06 +01:00
Added restart button in the web interface
This commit is contained in:
@@ -53,6 +53,9 @@ void setup(){
|
|||||||
|
|
||||||
EEPROM.begin(4096);
|
EEPROM.begin(4096);
|
||||||
|
|
||||||
|
pinMode(BUILTIN_LED, OUTPUT);
|
||||||
|
digitalWrite(BUILTIN_LED, HIGH);
|
||||||
|
|
||||||
settings.load();
|
settings.load();
|
||||||
if (debug) settings.info();
|
if (debug) settings.info();
|
||||||
nameList.load();
|
nameList.load();
|
||||||
@@ -105,6 +108,7 @@ void setup(){
|
|||||||
server.on("/clearSSID.json", clearSSID);
|
server.on("/clearSSID.json", clearSSID);
|
||||||
server.on("/resetSSID.json", resetSSID);
|
server.on("/resetSSID.json", resetSSID);
|
||||||
server.on("/saveSSID.json", saveSSID);
|
server.on("/saveSSID.json", saveSSID);
|
||||||
|
server.on("/restartESP.json", restartESP);
|
||||||
|
|
||||||
server.begin();
|
server.begin();
|
||||||
}
|
}
|
||||||
@@ -118,14 +122,30 @@ void loop(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void load404(){ server.send ( 200, "text/html", data_get404()); }
|
void load404() {
|
||||||
void loadIndex(){ server.send ( 200, "text/html", data_getIndexHTML() ); }
|
server.send ( 200, "text/html", data_get404());
|
||||||
void loadClients(){ server.send ( 200, "text/html", data_getClientsHTML()); }
|
}
|
||||||
void loadAttack(){ server.send ( 200, "text/html", data_getAttackHTML() ); }
|
void loadIndex() {
|
||||||
void loadFunctionsJS(){ server.send( 200, "text/javascript", data_getFunctionsJS() ); }
|
server.send ( 200, "text/html", data_getIndexHTML() );
|
||||||
void loadStyle(){ server.send ( 200, "text/css", data_getStyle() ); }
|
}
|
||||||
void loadManifest(){ server.send ( 200, "text/css", data_getManifest() ); }
|
void loadClients() {
|
||||||
void loadSettings(){ server.send( 200, "text/html", data_getSettingsHTML() ); }
|
server.send ( 200, "text/html", data_getClientsHTML());
|
||||||
|
}
|
||||||
|
void loadAttack() {
|
||||||
|
server.send ( 200, "text/html", data_getAttackHTML() );
|
||||||
|
}
|
||||||
|
void loadFunctionsJS() {
|
||||||
|
server.send( 200, "text/javascript", data_getFunctionsJS() );
|
||||||
|
}
|
||||||
|
void loadStyle() {
|
||||||
|
server.send ( 200, "text/css", data_getStyle() );
|
||||||
|
}
|
||||||
|
void loadManifest() {
|
||||||
|
server.send ( 200, "text/css", data_getManifest() );
|
||||||
|
}
|
||||||
|
void loadSettings() {
|
||||||
|
server.send( 200, "text/html", data_getSettingsHTML() );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//==========AP-Scan==========
|
//==========AP-Scan==========
|
||||||
@@ -162,8 +182,12 @@ void startClientScan(){
|
|||||||
} else server.send( 200, "text/json", "Error: no selected access point");
|
} else server.send( 200, "text/json", "Error: no selected access point");
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendClientResults(){ server.send( 200, "text/json", clientScan.getResults() ); }
|
void sendClientResults() {
|
||||||
void sendClientScanTime(){ server.send( 200, "text/json", (String)settings.clientScanTime ); }
|
server.send( 200, "text/json", clientScan.getResults() );
|
||||||
|
}
|
||||||
|
void sendClientScanTime() {
|
||||||
|
server.send( 200, "text/json", (String)settings.clientScanTime );
|
||||||
|
}
|
||||||
|
|
||||||
void selectClient() {
|
void selectClient() {
|
||||||
if (server.hasArg("num")) {
|
if (server.hasArg("num")) {
|
||||||
@@ -181,7 +205,9 @@ void setClientName(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
//==========Attack==========
|
//==========Attack==========
|
||||||
void sendAttackInfo(){ server.send( 200, "text/json", attack.getResults()); }
|
void sendAttackInfo() {
|
||||||
|
server.send( 200, "text/json", attack.getResults());
|
||||||
|
}
|
||||||
|
|
||||||
void startAttack() {
|
void startAttack() {
|
||||||
if (server.hasArg("num")) {
|
if (server.hasArg("num")) {
|
||||||
@@ -228,8 +254,15 @@ void saveSSID(){
|
|||||||
server.send( 200, "text/json", "true");
|
server.send( 200, "text/json", "true");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void restartESP() {
|
||||||
|
server.send( 200, "text/json", "true");
|
||||||
|
ESP.reset();
|
||||||
|
}
|
||||||
|
|
||||||
//==========Settings==========
|
//==========Settings==========
|
||||||
void getSettings(){ server.send ( 200, "text/json", settings.get() ); }
|
void getSettings() {
|
||||||
|
server.send ( 200, "text/json", settings.get() );
|
||||||
|
}
|
||||||
|
|
||||||
void saveSettings() {
|
void saveSettings() {
|
||||||
if (server.hasArg("ssid")) settings.ssid = server.arg("ssid");
|
if (server.hasArg("ssid")) settings.ssid = server.arg("ssid");
|
||||||
@@ -238,7 +271,11 @@ void saveSettings(){
|
|||||||
else settings.ssidHidden = true;
|
else settings.ssidHidden = true;
|
||||||
}
|
}
|
||||||
if (server.hasArg("password")) settings.password = server.arg("password");
|
if (server.hasArg("password")) settings.password = server.arg("password");
|
||||||
if(server.hasArg("apChannel")) settings.apChannel = server.arg("apChannel").toInt();
|
if (server.hasArg("apChannel")) {
|
||||||
|
if(server.arg("apChannel").toInt() >= 1 && server.arg("apChannel").toInt() <= 11){
|
||||||
|
settings.apChannel = server.arg("apChannel").toInt();
|
||||||
|
}
|
||||||
|
}
|
||||||
if (server.hasArg("ssidEnc")) {
|
if (server.hasArg("ssidEnc")) {
|
||||||
if (server.arg("ssidEnc") == "false") settings.attackEncrypted = false;
|
if (server.arg("ssidEnc") == "false") settings.attackEncrypted = false;
|
||||||
else settings.attackEncrypted = true;
|
else settings.attackEncrypted = true;
|
||||||
@@ -251,6 +288,11 @@ void saveSettings(){
|
|||||||
if (server.arg("apScanHidden") == "false") settings.apScanHidden = false;
|
if (server.arg("apScanHidden") == "false") settings.apScanHidden = false;
|
||||||
else settings.apScanHidden = true;
|
else settings.apScanHidden = true;
|
||||||
}
|
}
|
||||||
|
if (server.hasArg("useLed")) {
|
||||||
|
if (server.arg("useLed") == "false") settings.useLed = false;
|
||||||
|
else settings.useLed = true;
|
||||||
|
attack.refreshLed();
|
||||||
|
}
|
||||||
|
|
||||||
settings.save();
|
settings.save();
|
||||||
server.send( 200, "text/json", "true" );
|
server.send( 200, "text/json", "true" );
|
||||||
|
|||||||
@@ -20,6 +20,9 @@
|
|||||||
<a href="clients.html">Clients</a>
|
<a href="clients.html">Clients</a>
|
||||||
<a href="attack.html">Attack</a>
|
<a href="attack.html">Attack</a>
|
||||||
<a href="settings.html">Settings</a>
|
<a href="settings.html">Settings</a>
|
||||||
|
<ul class="nav right">
|
||||||
|
<a href="#" onclick="restartESP()">Restart</a>
|
||||||
|
<ul>
|
||||||
</nav>
|
</nav>
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<h1>Attack</h1>
|
<h1>Attack</h1>
|
||||||
@@ -160,6 +163,12 @@
|
|||||||
getResponse("resetSSID.json",getResults);
|
getResponse("resetSSID.json",getResults);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function restartESP(){
|
||||||
|
getResponse("restartESP.json", function(responseText){
|
||||||
|
if(responseText == "true") getData();
|
||||||
|
else alert("error");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
getResults();
|
getResults();
|
||||||
resultInterval = setInterval(getResults,3000);
|
resultInterval = setInterval(getResults,3000);
|
||||||
|
|||||||
@@ -26,6 +26,9 @@
|
|||||||
<a href="clients.html">Clients</a>
|
<a href="clients.html">Clients</a>
|
||||||
<a href="attack.html">Attack</a>
|
<a href="attack.html">Attack</a>
|
||||||
<a href="settings.html">Settings</a>
|
<a href="settings.html">Settings</a>
|
||||||
|
<ul class="nav right">
|
||||||
|
<a href="#" onclick="restartESP()">Restart</a>
|
||||||
|
<ul>
|
||||||
</nav>
|
</nav>
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<h1>Scan for client devices</h1>
|
<h1>Scan for client devices</h1>
|
||||||
@@ -139,6 +142,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function restartESP(){
|
||||||
|
getResponse("restartESP.json", function(responseText){
|
||||||
|
if(responseText == "true") getData();
|
||||||
|
else alert("error");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
getResponse("ClientScanTime.json",function(responseText){
|
getResponse("ClientScanTime.json",function(responseText){
|
||||||
scanTime.value = responseText;
|
scanTime.value = responseText;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -34,6 +34,9 @@
|
|||||||
<a href="clients.html">Clients</a>
|
<a href="clients.html">Clients</a>
|
||||||
<a href="attack.html">Attack</a>
|
<a href="attack.html">Attack</a>
|
||||||
<a href="settings.html">Settings</a>
|
<a href="settings.html">Settings</a>
|
||||||
|
<ul class="nav right">
|
||||||
|
<a href="#" onclick="restartESP()">Restart</a>
|
||||||
|
<ul>
|
||||||
</nav>
|
</nav>
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<h1>Scan for WiFi access points</h1>
|
<h1>Scan for WiFi access points</h1>
|
||||||
@@ -154,6 +157,13 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function restartESP(){
|
||||||
|
getResponse("restartESP.json", function(responseText){
|
||||||
|
if(responseText == "true") getData();
|
||||||
|
else alert("error");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
getResults();
|
getResults();
|
||||||
|
|
||||||
setInterval(function(){
|
setInterval(function(){
|
||||||
|
|||||||
@@ -25,6 +25,9 @@
|
|||||||
<a href="clients.html">Clients</a>
|
<a href="clients.html">Clients</a>
|
||||||
<a href="attack.html">Attack</a>
|
<a href="attack.html">Attack</a>
|
||||||
<a href="settings.html">Settings</a>
|
<a href="settings.html">Settings</a>
|
||||||
|
<ul class="right">
|
||||||
|
<a href="#" onclick="restartESP()">Restart</a>
|
||||||
|
<ul>
|
||||||
</nav>
|
</nav>
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<h1>Settings</h1>
|
<h1>Settings</h1>
|
||||||
@@ -73,6 +76,10 @@
|
|||||||
<input type="checkbox" name="ssidEnc" id="ssidEnc" value="false">
|
<input type="checkbox" name="ssidEnc" id="ssidEnc" value="false">
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
|
<label for="useLed">Use LED:</label>
|
||||||
|
<input type="checkbox" name="useLed" id="useLed" value="false">
|
||||||
|
<br />
|
||||||
|
|
||||||
<label for="deauthReason">deauth reason:</label>
|
<label for="deauthReason">deauth reason:</label>
|
||||||
<input type="number" id="deauthReason" min="1" max="45">
|
<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>
|
<p class="small">reason codes: <a target="_blank" href="http://www.aboutcher.co.uk/2012/07/linux-wifi-deauthenticated-reason-codes/">click</a></p>
|
||||||
@@ -82,7 +89,7 @@
|
|||||||
<p class="small">only for deauth attack - may cause instability!</p>
|
<p class="small">only for deauth attack - may cause instability!</p>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<button class="warnBtn" onclick="resetSettings()">reset</button> <button onclick="saveSettings()">save</button><p class="small" id="saved"></p>
|
<button class="warnBtn" onclick="resetSettings()">reset</button> <button onclick="saveSettings()">save</button><p class="small" id="saved"></p><br \>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
@@ -112,6 +119,7 @@
|
|||||||
var saved = document.getElementById('saved');
|
var saved = document.getElementById('saved');
|
||||||
var clientNames = document.getElementById('clientNames');
|
var clientNames = document.getElementById('clientNames');
|
||||||
var ssidEnc = document.getElementById('ssidEnc');
|
var ssidEnc = document.getElementById('ssidEnc');
|
||||||
|
var useLed = document.getElementById('useLed');
|
||||||
var res;
|
var res;
|
||||||
|
|
||||||
function getData(){
|
function getData(){
|
||||||
@@ -128,6 +136,7 @@
|
|||||||
deauthReason.value = res.deauthReason;
|
deauthReason.value = res.deauthReason;
|
||||||
packetRate.value = res.attackPacketRate;
|
packetRate.value = res.attackPacketRate;
|
||||||
ssidEnc.checked = res.attackEncrypted;
|
ssidEnc.checked = res.attackEncrypted;
|
||||||
|
useLed.checked = res.useLed;
|
||||||
|
|
||||||
|
|
||||||
clientNames.innerHTML = "Client Names "+res.nameList.length+"/50";
|
clientNames.innerHTML = "Client Names "+res.nameList.length+"/50";
|
||||||
@@ -179,6 +188,7 @@
|
|||||||
url += "&deauthReason="+deauthReason.value;
|
url += "&deauthReason="+deauthReason.value;
|
||||||
url += "&packetRate="+packetRate.value;
|
url += "&packetRate="+packetRate.value;
|
||||||
url += "&ssidEnc="+ssidEnc.checked;
|
url += "&ssidEnc="+ssidEnc.checked;
|
||||||
|
url += "&useLed="+useLed.checked;
|
||||||
|
|
||||||
getResponse(url, function(responseText){
|
getResponse(url, function(responseText){
|
||||||
if(responseText == "true"){
|
if(responseText == "true"){
|
||||||
@@ -206,6 +216,13 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function restartESP(){
|
||||||
|
getResponse("restartESP.json", function(responseText){
|
||||||
|
if(responseText == "true") getData();
|
||||||
|
else alert("error");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
getData();
|
getData();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user