Загрузка данных


Вот переведенные на русский язык HTML-файлы интерфейса (scan.html, ssids.html, settings.html, info.html), а также локализованные значения параметров в файлах конфигурации.
1. scan.html
<!--- This software is licensed under the MIT License: https://github.com/spacehuhntech/esp8266_deauther -->

<!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="ESP8266 Deauther">
	<title>ESP8266 Deauther</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">Сканирование</a></li>
			<li><a href="ssids.html" data-translate="ssids">SSID-сети</a></li>
			<li><a href="attack.html" data-translate="attacks">Атака</a></li>
			<li><a href="settings.html" data-translate="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">Сканирование</h1>

				<button id=scanZero onclick="scan(0)">Скан AP</button>
				<button id=scanOne onclick="scan(1)">Скан клиентов</button>
				<button id=RButton onclick="load()" data-translate="reload" class="right">Обновить</button>
			</div>
		</div>
		<div class="row">
			<div class="col-6">
				<label for="ch" data-translate="channel">Канал</label>
			</div>
			<div class="col-6">
				<select id="ch" name="ch">
					<option value="all" data-translate="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">Время сканирования клиентов</label>
			</div>
			<div class="col-6">
				<input type="number" value="15" id="scanTime">с
			</div>
		</div>
		<div class="row">
			<div class="col-12">
				<p>
					<span class="red" data-translate="info_span">ИНФО: </span><br>
					<span data-translate="scan_info">
						- Нажмите «Скан» и подождите, пока синий светодиод на плате не погаснет (или не станет зеленым), затем нажмите «Обновить».<br>
						- Веб-интерфейс будет недоступен во время сканирования клиентов, и вам придется переподключиться!<br>
						- Пожалуйста, выбирайте только одну цель!<br>
					</span>
					<span data-translate="info_disclaimer">В случае непредвиденной ошибки перезагрузите страницу и проверьте Serial-монитор для отладки.</span>
				</p>

				<hr>

				<h2><span>Точки доступа (AP)</span>: <span id="apNum"></span></h2>
				<table id="apTable"></table>
				<button onclick="selectAll(0,true)" data-translate="select_all">Выбрать все</button>
				<button onclick="selectAll(0,false)" data-translate="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">Выбрать все</button>
				<button onclick="selectAll(1,false)" data-translate="deselect_all">Снять выделение</button>

				<hr>

				<h2><span data-translate="devices">Сохраненные устройства</span>: <span id="nNum"></span></h2>
				<table id="nTable"></table>
				<button onclick="selectAll(2,true)" data-translate="select_all">Выбрать все</button>
				<button onclick="selectAll(2,false)" data-translate="deselect_all">Снять выделение</button>
				<button onclick="add(2)" data-translate="new">Создать</button>
			</div>
		</div>
	</div>
	<footer>
		<span id="version">Версия 2.6.1</span>
		<br>
		<br>
		<a href="http://deauther.maltronics.com" target="_blank">Wiki</a> | <a href="info.html">Авторы</a>
	</footer>
</body>

</html>

2. ssids.html
<!--- This software is licensed under the MIT License: https://github.com/spacehuhntech/esp8266_deauther -->

<!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="ESP8266 Deauther">
	<title>ESP8266 Deauther</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">Сканирование</a></li>
			<li><a href="ssids.html" data-translate="ssids">SSID-сети</a></li>
			<li><a href="attack.html" data-translate="attacks">Атака</a></li>
			<li><a href="settings.html" data-translate="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">SSID-сети</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">Количество</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">Перезаписать</label>
			</div>
			<div class="col-6">
				<label class='checkBoxContainer'><input id="overwrite" type='checkbox' checked><span
						class='checkmark'></span></label>
			</div>
		</div>
		<div class="row">
			<div class="col-12">
				<button onclick="add()" data-translate="add">Добавить</button>
				<button onclick="addSelected()" data-translate="add_selected">Клонировать выбранные AP</button>
			</div>
		</div>
		<div class="row">
			<div class="col-12">
				<button onclick="load()" class="right" data-translate="reload">Обновить</button>
				<p>
					<span class="red" data-translate="info_span">ИНФО:</span><br>
					<span data-translate="ssids_info">
						- Этот список SSID используется для атак Beacon и Probe.<br>
						- Длина каждого SSID не может превышать 32 символа.<br>
						- Не забудьте нажать «Сохранить» после изменения SSID.<br>
						- После клонирования SSID необходимо нажать «Обновить».<br>
					</span>
					<span data-translate="info_disclaimer">В случае непредвиденной ошибки перезагрузите страницу и проверьте Serial-монитор для отладки.</span><br>
				</p>
				<hr>
			</div>
		</div>
		<div class="row">
			<div class="col-6">
				<label for="interval" data-translate="time_interval">Интервал времени</label>
			</div>
			<div class="col-6">
				<input id="interval" name="interval" type="number" value="10" max="600" min="1">с
			</div>
		</div>
		<div class="row">
			<div class="col-12">
				<button onclick="enableRandom()" id="randomBtn">Включить случайный режим</button>
				<p data-translate="random_desc">Включите случайный режим для генерации случайного списка SSID через заданный интервал.</p>
				<hr>
				<table id="ssidTable"></table>
				<button onclick="removeAll()" class="red" data-translate="remove_all">Удалить все</button>
			</div>
		</div>
	</div>
	<footer>
		<span id="version">Версия 2.6.1</span>
		<br>
		<br>
		<a href="http://deauther.maltronics.com" target="_blank">Wiki</a> | <a href="info.html">Авторы</a>
	</footer>
</body>

</html>

3. settings.html
<!--- This software is licensed under the MIT License: https://github.com/spacehuhntech/esp8266_deauther -->

<!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="ESP8266 Deauther">
	<title>ESP8266 Deauther</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">Сканирование</a></li>
			<li><a href="ssids.html" data-translate="ssids">SSID-сети</a></li>
			<li><a href="attack.html" data-translate="attacks">Атака</a></li>
			<li><a href="settings.html" data-translate="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">Настройки</h1>

				<button
					onclick="getFile('run?cmd=stopap');alert('Точка доступа выключается. Перезагрузите Deauther для повторного подключения.')"
					class="red" data-translate="wifi_off">Выключить Wi-Fi</button>
				<button onclick="getFile('run?cmd=reset;;save settings')" class="red"
					data-translate="reset">Сброс</button>
				<button onclick="getFile('run?cmd=reboot')" class="red right" data-translate="reboot">Перезагрузка</button>

				<p>
					<span class="red" data-translate="info_span">ИНФО:</span><br>
					<span data-translate="settings_info">
						- Некоторые настройки требуют перезагрузки.<br>
						- Нажмите «Сохранить», чтобы применить изменения.<br>
					</span>
					<span data-translate="info_disclaimer">В случае непредвиденной ошибки перезагрузите страницу и проверьте Serial-монитор для отладки.</span><br>
				</p>

				<button onclick="save()" data-translate="save">Сохранить</button>
				<button onclick="load()" class="right" data-translate="reload">Обновить</button>
			</div>
		</div>

		<div id="settingsList"></div>
	</div>
	<footer>
		<span id="version">Версия 2.6.1</span>
		<br>
		<br>
		<a href="http://deauther.maltronics.com" target="_blank">Wiki</a> | <a href="info.html">Авторы</a>
	</footer>
</body>

</html>

4. info.html
<!--- This software is licensed under the MIT License: https://github.com/spacehuhntech/esp8266_deauther -->

<!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="ESP8266 Deauther">
	<title>ESP8266 Deauther</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">Сканирование</a></li>
			<li><a href="ssids.html" data-translate="ssids">SSID-сети</a></li>
			<li><a href="attack.html" data-translate="attacks">Атака</a></li>
			<li><a href="settings.html" data-translate="settings">Настройки</a></li>
		</ul>
	</nav>

	<div id="status"></div>

	<div class="container">
		<div class="row">
			<div class="col-12">
				<h1 class="header">Авторы и инфо</h1>

				<h2>Отказ от ответственности</h2>
				<p data-translate="disclaimer">
					Этот проект является концептуальным документом (Proof of Concept) для тестирования и образовательных целей.<br>
					Ни ESP8266, ни его SDK не разрабатывались для подобных задач. Возможны ошибки в работе!<br>
					<br>
					Используйте только в собственных сетях и на собственных устройствах!<br>
					<br>
					Проект использует стандартные кадры Wi-Fi, описанные в спецификации IEEE 802.11, и не блокирует радиочастоты.<br>
					Пожалуйста, ознакомьтесь с законодательством вашей страны перед использованием.<br>
					<br>
					Подробная информация доступна по ссылке:<br>
					<a
						href="https://github.com/spacehuhntech/esp8266_deauther">github.com/spacehuhntech/esp8266_deauther</a>
				</p>

				<h2>Благодарности</h2>
				<p>
					Огромное спасибо:<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>
				за помощь с проектом и поддержание его активности!<br>
				<br>
				Также спасибо разработчикам используемых библиотек:<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>
				Выражаем благодарность Espressif и их сообществу за данный чип, а также за экосистему программного обеспечения и обучающих материалов!<br>
				</p>

				<h2>Лицензия</h2>
				<p>
					<b>В отношении прошивки:</b><br>
					<br>
					MIT License<br>
					Copyright (c) 2020 Spacehuhn Technologies<br>
					<br>
					Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации, бесплатно использовать, копировать, изменять, объединять, публиковать, распространять, сублицензировать и/или продавать копии ПО.
				</p>
			</div>
		</div>
	</div>
	<footer>
		<span id="version">Версия 2.6.1</span>
		<br>
		<br>
		<a href="http://deauther.maltronics.com" target="_blank">Wiki</a> | <a href="info.html">Авторы</a>
	</footer>
</body>

</html>

5. settings.json
В файле конфигурации изменено значение по умолчанию для языка: "lang": "ru".
{
    "version": "over9000",
    "ssid": "pwned",
    "password": "deauther",
    "channel": 1,
    "hidden": false,
    "captivePortal": true,
    "lang": "ru",
    "autosave": true,
    "autosavetime": 30000,
    "display": false,
    "displayTimeout": 600,
    "serial": true,
    "serialEcho": true,
    "web": true,
    "led": true,
    "maxch": 14,
    "macSt": "aa:bb:cc:dd:ee:ff",
    "macAP": "00:11:22:33:44:55",
    "chtime": 384,
    "minDeauths": 3,
    "attacktimeout": 600,
    "deauthspertarget": 20,
    "deauthReason": 1,
    "beaconchannel": false,
    "beaconInterval": false,
    "randomTX": false,
    "probesPerSSID": 1
}