#ifndef CommandLine_h #define CommandLine_h #include "configs.h" #ifdef HAS_SCREEN #include "MenuFunctions.h" #include "Display.h" #endif #include "WiFiScan.h" #ifdef HAS_SCREEN extern MenuFunctions menu_function_obj; extern Display display_obj; #endif extern WiFiScan wifi_scan_obj; extern LinkedList* access_points; extern const String PROGMEM version_number; //// Commands // Admin const char PROGMEM CH_CMD[] = "channel"; const char PROGMEM CLEARAP_CMD[] = "clearap"; const char PROGMEM REBOOT_CMD[] = "reboot"; // WiFi sniff/scan const char PROGMEM SCANAP_CMD[] = "scanap"; const char PROGMEM SNIFF_BEACON_CMD[] = "sniffbeacon"; const char PROGMEM SNIFF_DEAUTH_CMD[] = "sniffdeauth"; const char PROGMEM SNIFF_PMKID_CMD[] = "sniffpmkid"; const char PROGMEM STOPSCAN_CMD[] = "stopscan"; // WiFi attack // WiFi Aux const char PROGMEM LIST_AP_CMD[] = "listap"; const char PROGMEM SEL_CMD[] = "select"; class CommandLine { private: String getSerialInput(); LinkedList parseCommand(String input, char* delim); void runCommand(String input); int argSearch(LinkedList* cmd_args, String key); const char* ascii_art = "\n" " @@@@@@ \n" " @@@@@@@@ \n" " @@@@@@@@@@@ \n" " @@@@@@ @@@@@@ \n" " @@@@@@@ @@@@@@@ \n" " @@@@@@ @@@@@@ \n" " @@@@@@@ @@@@@@@ \n" " @@@@@@ @@@@@@ \n" "@@@@@@@ @@@@@@@@@@@@@@@@ \n" "@@@@@ @@@@@@@@@@@@@@@ \n" "@@@@@ @@@@@@@ \n" "@@@@@ @@@@@@ \n" "@@@@@@ @@@@@@@ \n" " @@@@@@ @@@@@@@@@@@@\n" " @@@@@@@ (@@@@@@ \n" " @@@@@@ @@@@@@. \n" " @@@@@@@ #@@@@@@ \n" " @@@@@@ @@@@@@ \n" " @@@@@@@ #@@@@@@ \n" " @@@@@@ @@@@@@, \n" " @@@@@@@@@ \n" " @@@@@@ \n" " @@@@ \n" "\n"; public: CommandLine(); void RunSetup(); void main(uint32_t currentTime); }; #endif