CommandLine.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #ifndef CommandLine_h
  2. #define CommandLine_h
  3. #include "configs.h"
  4. #ifdef HAS_SCREEN
  5. #include "MenuFunctions.h"
  6. #include "Display.h"
  7. #endif
  8. #include "WiFiScan.h"
  9. #ifdef HAS_SCREEN
  10. extern MenuFunctions menu_function_obj;
  11. extern Display display_obj;
  12. #endif
  13. extern WiFiScan wifi_scan_obj;
  14. extern LinkedList<AccessPoint>* access_points;
  15. extern const String PROGMEM version_number;
  16. //// Commands
  17. // Admin
  18. const char PROGMEM CH_CMD[] = "channel";
  19. const char PROGMEM CLEARAP_CMD[] = "clearap";
  20. const char PROGMEM REBOOT_CMD[] = "reboot";
  21. // WiFi sniff/scan
  22. const char PROGMEM SCANAP_CMD[] = "scanap";
  23. const char PROGMEM SNIFF_BEACON_CMD[] = "sniffbeacon";
  24. const char PROGMEM SNIFF_DEAUTH_CMD[] = "sniffdeauth";
  25. const char PROGMEM SNIFF_PMKID_CMD[] = "sniffpmkid";
  26. const char PROGMEM STOPSCAN_CMD[] = "stopscan";
  27. // WiFi attack
  28. // WiFi Aux
  29. const char PROGMEM LIST_AP_CMD[] = "listap";
  30. const char PROGMEM SEL_CMD[] = "select";
  31. class CommandLine {
  32. private:
  33. String getSerialInput();
  34. LinkedList<String> parseCommand(String input, char* delim);
  35. void runCommand(String input);
  36. int argSearch(LinkedList<String>* cmd_args, String key);
  37. const char* ascii_art =
  38. "\n"
  39. " @@@@@@ \n"
  40. " @@@@@@@@ \n"
  41. " @@@@@@@@@@@ \n"
  42. " @@@@@@ @@@@@@ \n"
  43. " @@@@@@@ @@@@@@@ \n"
  44. " @@@@@@ @@@@@@ \n"
  45. " @@@@@@@ @@@@@@@ \n"
  46. " @@@@@@ @@@@@@ \n"
  47. "@@@@@@@ @@@@@@@@@@@@@@@@ \n"
  48. "@@@@@ @@@@@@@@@@@@@@@ \n"
  49. "@@@@@ @@@@@@@ \n"
  50. "@@@@@ @@@@@@ \n"
  51. "@@@@@@ @@@@@@@ \n"
  52. " @@@@@@ @@@@@@@@@@@@\n"
  53. " @@@@@@@ (@@@@@@ \n"
  54. " @@@@@@ @@@@@@. \n"
  55. " @@@@@@@ #@@@@@@ \n"
  56. " @@@@@@ @@@@@@ \n"
  57. " @@@@@@@ #@@@@@@ \n"
  58. " @@@@@@ @@@@@@, \n"
  59. " @@@@@@@@@ \n"
  60. " @@@@@@ \n"
  61. " @@@@ \n"
  62. "\n";
  63. public:
  64. CommandLine();
  65. void RunSetup();
  66. void main(uint32_t currentTime);
  67. };
  68. #endif