Added Settining serialEcho

This commit is contained in:
Stefan Kremser
2018-04-02 22:44:27 +02:00
parent 8a01d9b793
commit 92a62f4bdc
8 changed files with 98 additions and 70 deletions

View File

@@ -90,7 +90,8 @@ void SerialInterface::stopScript() {
void SerialInterface::update() {
if (executing) {
if (execPath.charAt(0) != SLASH) execPath = SLASH + execPath;
if (execPath.charAt(0) != SLASH)
execPath = SLASH + execPath;
prnt(CLI_EXECUTING);
prntln(execPath);
File f = SPIFFS.open(execPath, "r");
@@ -198,9 +199,11 @@ void SerialInterface::runCommand(String input) {
return;
}
if(settings.getSerialEcho()){
// print command
prnt(CLI_INPUT_PREFIX);
prntln(input);
}
if (list->size() == 0) return;

View File

@@ -28,6 +28,7 @@ void Settings::load() {
if(data.containsKey(keyword(S_DISPLAYINTERFACE))) setDisplayInterface(data.get<bool>(keyword(S_DISPLAYINTERFACE)));
if(data.containsKey(keyword(S_DISPLAY_TIMEOUT))) setDisplayTimeout(data.get<uint32_t>(keyword(S_DISPLAY_TIMEOUT)));
if(data.containsKey(keyword(S_SERIALINTERFACE))) setSerialInterface(data.get<bool>(keyword(S_SERIALINTERFACE)));
if(data.containsKey(keyword(S_SERIAL_ECHO))) setSerialEcho(data.get<bool>(keyword(S_SERIAL_ECHO)));
if(data.containsKey(keyword(S_WEBINTERFACE))) setWebInterface(data.get<bool>(keyword(S_WEBINTERFACE)));
if(data.containsKey(keyword(S_LEDENABLED))) setLedEnabled(data.get<bool>(keyword(S_LEDENABLED)));
if(data.containsKey(keyword(S_MAXCH))) setMaxCh(data.get<uint8_t>(keyword(S_MAXCH)));
@@ -86,6 +87,7 @@ void Settings::reset() {
setDisplayInterface(USE_DISPLAY);
setDisplayTimeout(600);
setSerialInterface(true);
serialEcho = true;
setWebInterface(true);
setLedEnabled(true);
setMaxCh(14);
@@ -130,6 +132,7 @@ String Settings::getJsonStr() {
data.set(keyword(S_DISPLAYINTERFACE), displayInterface);
data.set(keyword(S_DISPLAY_TIMEOUT), displayTimeout);
data.set(keyword(S_SERIALINTERFACE), serialInterface);
data.set(keyword(S_SERIAL_ECHO), serialEcho);
data.set(keyword(S_WEBINTERFACE), webInterface);
data.set(keyword(S_LEDENABLED), ledEnabled);
data.set(keyword(S_MAXCH), maxCh);
@@ -188,16 +191,17 @@ void Settings::print() {
void Settings::set(const char* str, String value) {
// booleans
if (eqls(str,S_BEACONCHANNEL)) setBeaconChannel(eqls(value,STR_TRUE));
else if (eqls(str,S_AUTOSAVE)) setAutosave(eqls(value,STR_TRUE));
else if (eqls(str,S_BEACONINTERVAL)) setBeaconInterval(eqls(value,STR_TRUE));
else if (eqls(str,S_SERIALINTERFACE)) setSerialInterface(eqls(value,STR_TRUE));
else if (eqls(str,S_DISPLAYINTERFACE)) setDisplayInterface(eqls(value,STR_TRUE));
else if (eqls(str,S_WEBINTERFACE)) setWebInterface(eqls(value,STR_TRUE));
else if (eqls(str,S_RANDOMTX)) setRandomTX(eqls(value,STR_TRUE));
else if (eqls(str,S_LEDENABLED)) setLedEnabled(eqls(value,STR_TRUE));
else if (eqls(str,S_HIDDEN)) setHidden(eqls(value,STR_TRUE));
else if (eqls(str,S_CAPTIVEPORTAL)) setCaptivePortal(eqls(value,STR_TRUE));
if (eqls(str, S_BEACONCHANNEL)) setBeaconChannel(s2b(value));
else if (eqls(str, S_AUTOSAVE)) setAutosave(s2b(value));
else if (eqls(str, S_BEACONINTERVAL)) setBeaconInterval(s2b(value));
else if (eqls(str, S_SERIALINTERFACE)) setSerialInterface(s2b(value));
else if (eqls(str, S_DISPLAYINTERFACE)) setDisplayInterface(s2b(value));
else if (eqls(str, S_WEBINTERFACE)) setWebInterface(s2b(value));
else if (eqls(str, S_RANDOMTX)) setRandomTX(s2b(value));
else if (eqls(str, S_LEDENABLED)) setLedEnabled(s2b(value));
else if (eqls(str, S_HIDDEN)) setHidden(s2b(value));
else if (eqls(str, S_CAPTIVEPORTAL)) setCaptivePortal(s2b(value));
else if (eqls(str, S_SERIAL_ECHO)) setSerialEcho(s2b(value));
// integer
else if (eqls(str, S_FORCEPACKETS)) setForcePackets(value.toInt());
@@ -238,38 +242,39 @@ void Settings::set(const char* str, String value) {
String Settings::get(const char* str) {
if (eqls(str, S_SETTINGS)) print();
// booleans
else if (eqls(str,S_BEACONCHANNEL)) return b2s(getBeaconChannel());
else if (eqls(str,S_AUTOSAVE)) return b2s(getAutosave());
else if (eqls(str,S_BEACONINTERVAL)) return b2s(getBeaconInterval());
else if (eqls(str,S_SERIALINTERFACE)) return b2s(getSerialInterface());
else if (eqls(str,S_DISPLAYINTERFACE)) return b2s(getDisplayInterface());
else if (eqls(str,S_WEBINTERFACE)) return b2s(getWebInterface());
else if (eqls(str,S_RANDOMTX)) return b2s(getRandomTX());
else if (eqls(str,S_LEDENABLED)) return b2s(getLedEnabled());
else if (eqls(str,S_HIDDEN)) return b2s(getHidden());
else if (eqls(str,S_CAPTIVEPORTAL)) return b2s(getCaptivePortal());
else if (eqls(str, S_BEACONCHANNEL)) return b2s(beaconChannel);
else if (eqls(str, S_AUTOSAVE)) return b2s(autosave);
else if (eqls(str, S_BEACONINTERVAL)) return b2s(beaconInterval);
else if (eqls(str, S_SERIALINTERFACE)) return b2s(serialInterface);
else if (eqls(str, S_DISPLAYINTERFACE)) return b2s(displayInterface);
else if (eqls(str, S_WEBINTERFACE)) return b2s(webInterface);
else if (eqls(str, S_RANDOMTX)) return b2s(randomTX);
else if (eqls(str, S_LEDENABLED)) return b2s(ledEnabled);
else if (eqls(str, S_HIDDEN)) return b2s(hidden);
else if (eqls(str, S_CAPTIVEPORTAL)) return b2s(captivePortal);
else if (eqls(str, S_SERIAL_ECHO)) return b2s(serialEcho);
// integer
else if (eqls(str,S_FORCEPACKETS)) return (String)getForcePackets();
else if (eqls(str,S_AUTOSAVETIME)) return (String)getAutosaveTime();
else if (eqls(str,S_DEAUTHSPERTARGET)) return (String)getDeauthsPerTarget();
else if (eqls(str,S_CHTIME)) return (String)getChTime();
else if (eqls(str,S_ATTACKTIMEOUT)) return (String)getAttackTimeout();
else if (eqls(str,S_MAXCH)) return (String)getMaxCh();
else if (eqls(str,S_CHANNEL)) return (String)getChannel();
else if (eqls(str,S_DEAUTHREASON)) return (String)getDeauthReason();
else if (eqls(str,S_PROBESPERSSID)) return (String)getProbesPerSSID();
else if (eqls(str,S_MIN_DEAUTHS)) return (String)getMinDeauths();
else if (eqls(str,S_DISPLAY_TIMEOUT)) return (String)getDisplayTimeout();
else if (eqls(str, S_FORCEPACKETS)) return (String)forcePackets;
else if (eqls(str, S_AUTOSAVETIME)) return (String)autosaveTime;
else if (eqls(str, S_DEAUTHSPERTARGET)) return (String)deauthsPerTarget;
else if (eqls(str, S_CHTIME)) return (String)chTime;
else if (eqls(str, S_ATTACKTIMEOUT)) return (String)attackTimeout;
else if (eqls(str, S_MAXCH)) return (String)maxCh;
else if (eqls(str, S_CHANNEL)) return (String)channel;
else if (eqls(str, S_DEAUTHREASON)) return (String)deauthReason;
else if (eqls(str, S_PROBESPERSSID)) return (String)probesPerSSID;
else if (eqls(str, S_MIN_DEAUTHS)) return (String)minDeauths;
else if (eqls(str, S_DISPLAY_TIMEOUT)) return (String)displayTimeout;
// strings
else if (eqls(str,S_SSID)) return getSSID();
else if (eqls(str,S_LANG)) return getLang();
else if (eqls(str,S_PASSWORD)) return getPassword();
else if (eqls(str, S_SSID)) return ssid;
else if (eqls(str, S_LANG)) return lang;
else if (eqls(str, S_PASSWORD)) return password;
else if (eqls(str, S_MACAP)) return macToStr(getMacAP());
else if (eqls(str, S_MACST)) return macToStr(getMacSt());
else if (eqls(str,S_MAC)) return "AP: " + macToStr(getMacAP()) + ", Station: " + macToStr(getMacSt());
else if (eqls(str,S_VERSION)) return getVersion();
else if (eqls(str, S_MAC)) return "AP: " + macToStr(macAP) + ", Station: " + macToStr(macSt);
else if (eqls(str, S_VERSION)) return version;
else {
prnt(S_ERROR_NOT_FOUND);
@@ -388,6 +393,10 @@ String Settings::getLang(){
return lang;
}
bool Settings::getSerialEcho(){
return serialEcho;
}
// ===== SETTERS ===== //
void Settings::setDeauthsPerTarget(uint16_t deauthsPerTarget) {
@@ -572,4 +581,8 @@ void Settings::setLang(String lang){
changed = true;
}
void Settings::setSerialEcho(bool serialEcho){
Settings::serialEcho = serialEcho;
changed = true;
}

View File

@@ -10,7 +10,7 @@ extern "C" {
#include "language.h"
#include "A_config.h"
#define VERSION "v2.0.1"
#define VERSION "v2.0.2"
extern void checkFile(String path, String data);
extern JsonVariant parseJSONFile(String path, DynamicJsonBuffer &jsonBuffer);
@@ -63,6 +63,7 @@ class Settings {
uint16_t getMinDeauths();
uint32_t getDisplayTimeout();
String getLang();
bool getSerialEcho();
void setDeauthsPerTarget(uint16_t deauthsPerTarget);
void setDeauthReason(uint8_t deauthReason);
@@ -92,6 +93,7 @@ class Settings {
void setMinDeauths(uint16_t minDeauths);
void setDisplayTimeout(uint32_t displayTimeout);
void setLang(String lang);
void setSerialEcho(bool serialEcho);
private:
bool changed = false;
@@ -105,6 +107,7 @@ class Settings {
bool webInterface = true;
bool randomTX = false;
bool ledEnabled = true;
bool serialEcho = true;
uint32_t attackTimeout = 600;
uint32_t autosaveTime = 10000;

View File

@@ -469,6 +469,7 @@ static const char S_SSID[] PROGMEM = "ssid";
static const char S_MAC[] PROGMEM = "mac";
static const char S_MIN_DEAUTHS[] PROGMEM = "minDeauths";
static const char S_DISPLAY_TIMEOUT[] PROGMEM = "displayTimeout";
static const char S_SERIAL_ECHO[] PROGMEM = "serialEcho";
static const char S_SETTINGS_LOADED[] PROGMEM = "Settings loaded from ";
static const char S_SETTINGS_RESETED[] PROGMEM = "Settings reseted";

View File

@@ -3,21 +3,22 @@
- [`ssid`](#ssid)
- [`password`](#password)
- [`channel`](#channel)
- [`hidden`](#HIDDEN)
- [`captivePortal`](#CAPTIVEPORTAL)
- [`hidden`](#hidden)
- [`captivePortal`](#captiveportal)
- [`lang`](#lang)
- [`autosave`](#autosave)
- [`autosaveTime`](#autosave-time)
- [`displayInterface`](#display-interface)
- [`displayTimeout`](#DISPLAYTIMEOUT)
- [`displayTimeout`](#displaytimeout)
- [`serialInterface`](#serial-interface)
- [`serialEcho`](#serial-echo)
- [`webInterface`](#web-interface)
- [`ledEnabled`](#ledEnabled)
- [`maxCh`](#max-ch)
- [`macAP`](#macap)
- [`macSt`](#macst)
- [`chTime`](#ch-time)
- [`minDeauths`](#MINDEAUTHS)
- [`minDeauths`](#mindeauths)
- [`attackTimeout`](#attacktimeout)
- [`forcePackets`](#force-packets)
- [`deauthsPerTarget`](#deauths-per-target)
@@ -25,7 +26,7 @@
- [`beaconChannel`](#beacon-channel)
- [`beaconInterval`](#beacon-interval)
- [`randomTx`](#randomtx)
- [`probesPerSSID`](#PROBESPERSSID)
- [`probesPerSSID`](#probesperssid)
## VERSION
`String version = VERSION;`
@@ -80,6 +81,10 @@ To disable the display timeout, set it to 0.
`bool serialInterface = true;`
Enables serial interface.
## SERIAL-ECHO
`bool serialEcho = true`
Enables echo for each incoming message over serial.
## WEB-INTERFACE
`bool webInterface = false;`
Enables web interface.

View File

@@ -53,6 +53,7 @@
"setting_display": "Aktiviert Display-Interface.",
"setting_displayTimeout": "Zeit in Sekunden nachdem der Display automatisch ausschaltet, wenn inaktiv.\nZum Deaktivieren des Timeouts, setze es auf 0.",
"setting_serial": "Aktiviere Serial-Interface.\nEs wird empfohlen es immer aktiviert zu lassen!",
"setting_serialEcho": "Erlaubt Echo für jede Nachricht über die serielle Verbindung.",
"setting_web": "Aktiviert Webinterface.",
"setting_led": "Aktiviert (RGB) LED.",
"setting_maxch": "Max. Kanal zum Scannen.\nUS = 11, EU = 13, Japan = 14.",

View File

@@ -53,6 +53,7 @@
"setting_display": "Enables display interface.",
"setting_displayTimeout": "Time in seconds after which the display turns off when inactive.\nTo disable the display timeout, set it to 0.",
"setting_serial": "Enables serial interface.\nIt's recommended not to disable it!",
"setting_serialEcho": "Enables echo for each incoming message over serial.",
"setting_web": "Enables web interface.",
"setting_led": "Enables the (RGB) LED feature.",
"setting_maxch": "Max. channel to scan on.\nUS = 11, EU = 13, Japan = 14.",

View File

@@ -11,6 +11,7 @@
"display":false,
"displayTimeout":600,
"serial":true,
"serialEcho":true,
"web":true,
"led":true,
"maxch":14,