Add load ssids

This commit is contained in:
Just Call Me Koko
2024-04-24 09:51:08 -04:00
parent 253b29b831
commit 2fb669cd21
4 changed files with 108 additions and 4 deletions

View File

@@ -1279,7 +1279,12 @@ void MenuFunctions::RunSetup()
generateSSIDsMenu.list = new LinkedList<MenuNode>();
clearSSIDsMenu.list = new LinkedList<MenuNode>();
clearAPsMenu.list = new LinkedList<MenuNode>();
saveFileMenu.list = new LinkedList<MenuNode>();
saveSSIDsMenu.list = new LinkedList<MenuNode>();
loadSSIDsMenu.list = new LinkedList<MenuNode>();
saveAPsMenu.list = new LinkedList<MenuNode>();
loadAPsMenu.list = new LinkedList<MenuNode>();
// Work menu names
mainMenu.name = text_table1[6];
@@ -1296,7 +1301,11 @@ void MenuFunctions::RunSetup()
wifiSnifferMenu.name = text_table1[20];
wifiAttackMenu.name = text_table1[21];
wifiGeneralMenu.name = text_table1[22];
saveFileMenu.name = "Save Files";
saveSSIDsMenu.name = "Save SSIDs";
loadSSIDsMenu.name = "Load SSIDs";
saveAPsMenu.name = "Save APs";
loadAPsMenu.name = "Load APs";
bluetoothSnifferMenu.name = text_table1[23];
bluetoothAttackMenu.name = "Bluetooth Attacks";
generateSSIDsMenu.name = text_table1[27];
@@ -1488,9 +1497,8 @@ void MenuFunctions::RunSetup()
this->changeMenu(&generateSSIDsMenu);
wifi_scan_obj.RunGenerateSSIDs();
});
this->addNodes(&wifiGeneralMenu, "Save SSIDs", TFT_CYAN, NULL, SD_UPDATE, [this]() {
this->changeMenu(&saveSSIDsMenu);
wifi_scan_obj.RunSaveSSIDList(true);
this->addNodes(&wifiGeneralMenu, "Save Files", TFT_CYAN, NULL, SD_UPDATE, [this]() {
this->changeMenu(&saveFileMenu);
});
#ifdef HAS_ILI9341
this->addNodes(&wifiGeneralMenu, text_table1[1], TFT_NAVY, NULL, KEYBOARD_ICO, [this](){
@@ -1591,11 +1599,48 @@ void MenuFunctions::RunSetup()
this->changeMenu(htmlMenu.parentMenu);
});
saveSSIDsMenu.parentMenu = &wifiGeneralMenu;
// Save Files Menu
saveFileMenu.parentMenu = &wifiGeneralMenu;
this->addNodes(&saveFileMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() {
this->changeMenu(saveFileMenu.parentMenu);
});
this->addNodes(&saveFileMenu, "Save SSIDs", TFT_CYAN, NULL, SD_UPDATE, [this]() {
this->changeMenu(&saveSSIDsMenu);
wifi_scan_obj.RunSaveSSIDList(true);
});
this->addNodes(&saveFileMenu, "Load SSIDs", TFT_SKYBLUE, NULL, SD_UPDATE, [this]() {
this->changeMenu(&loadSSIDsMenu);
wifi_scan_obj.RunLoadSSIDList();
});
this->addNodes(&saveFileMenu, "Save APs", TFT_NAVY, NULL, SD_UPDATE, [this]() {
this->changeMenu(&saveAPsMenu);
//wifi_scan_obj.RunLoadSSIDList();
});
this->addNodes(&saveFileMenu, "Load APs", TFT_BLUE, NULL, SD_UPDATE, [this]() {
this->changeMenu(&loadAPsMenu);
//wifi_scan_obj.RunLoadSSIDList();
});
saveSSIDsMenu.parentMenu = &saveFileMenu;
this->addNodes(&saveSSIDsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() {
this->changeMenu(saveSSIDsMenu.parentMenu);
});
loadSSIDsMenu.parentMenu = &saveFileMenu;
this->addNodes(&loadSSIDsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() {
this->changeMenu(loadSSIDsMenu.parentMenu);
});
saveAPsMenu.parentMenu = &saveFileMenu;
this->addNodes(&saveAPsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() {
this->changeMenu(saveAPsMenu.parentMenu);
});
loadAPsMenu.parentMenu = &saveFileMenu;
this->addNodes(&loadAPsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() {
this->changeMenu(loadAPsMenu.parentMenu);
});
// Select APs on Mini
this->addNodes(&wifiGeneralMenu, text_table1[56], TFT_NAVY, NULL, KEYBOARD_ICO, [this](){
wifiAPMenu.list->clear();

View File

@@ -152,7 +152,13 @@ class MenuFunctions
// WiFi General Menu
Menu htmlMenu;
Menu miniKbMenu;
Menu saveFileMenu;
// Save Files Menu
Menu saveSSIDsMenu;
Menu loadSSIDsMenu;
Menu saveAPsMenu;
Menu loadAPsMenu;
// Bluetooth menu stuff
Menu bluetoothSnifferMenu;

View File

@@ -952,6 +952,56 @@ void WiFiScan::startLog(String file_name) {
);
}
void WiFiScan::RunLoadAPList() {
#ifdef HAS_SD
#endif
}
void WiFiScan::RunSaveAPList(bool save_as) {
if (save_as) {
sd_obj.removeFile("/APs_0.log");
this->startLog("APs");
}
}
void WiFiScan::RunLoadSSIDList() {
#ifdef HAS_SD
File log_file = sd_obj.getFile("/SSIDs_0.log");
if (!log_file) {
Serial.println("Could not open /SSIDs_0.log");
#ifdef HAS_SCREEN
display_obj.tft.setTextWrap(false);
display_obj.tft.setFreeFont(NULL);
display_obj.tft.setCursor(0, 100);
display_obj.tft.setTextSize(1);
display_obj.tft.setTextColor(TFT_CYAN);
display_obj.tft.println("Could not open /SSIDs_0.log");
#endif
return;
}
while (log_file.available()) {
String line = log_file.readStringUntil('\n'); // Read until newline character
this->addSSID(line);
}
#ifdef HAS_SCREEN
display_obj.tft.setTextWrap(false);
display_obj.tft.setFreeFont(NULL);
display_obj.tft.setCursor(0, 100);
display_obj.tft.setTextSize(1);
display_obj.tft.setTextColor(TFT_CYAN);
display_obj.tft.print("Loaded SSIDs: ");
display_obj.tft.println((String)ssids->size());
#endif
log_file.close();
#endif
}
void WiFiScan::RunSaveSSIDList(bool save_as) {
if (save_as) {
sd_obj.removeFile("/SSIDs_0.log");

View File

@@ -386,6 +386,9 @@ class WiFiScan
void RunClearAPs();
void RunClearStations();
void RunSaveSSIDList(bool save_as = true);
void RunLoadSSIDList();
void RunSaveAPList(bool save_as = true);
void RunLoadAPList();
void channelHop();
uint8_t currentScanMode = 0;
void main(uint32_t currentTime);