From acef9d437c4bb5ecd1a7dc7d5a2a1bc4183027c1 Mon Sep 17 00:00:00 2001 From: m1crod0t Date: Sun, 8 Jun 2025 16:09:16 +0200 Subject: [PATCH 1/8] Select SSIDs from Probe Request Sniff --- esp32_marauder/MenuFunctions.cpp | 64 ++++++++++++++++++++++++++++++++ esp32_marauder/MenuFunctions.h | 1 + esp32_marauder/WiFiScan.cpp | 28 +++++++++++++- esp32_marauder/lang_var.h | 3 +- esp32_marauder/utils.h | 6 +++ 5 files changed, 100 insertions(+), 2 deletions(-) diff --git a/esp32_marauder/MenuFunctions.cpp b/esp32_marauder/MenuFunctions.cpp index ebf3a27..adae209 100644 --- a/esp32_marauder/MenuFunctions.cpp +++ b/esp32_marauder/MenuFunctions.cpp @@ -1800,6 +1800,8 @@ void MenuFunctions::RunSetup() extern LinkedList* stations; extern LinkedList* airtags; extern LinkedList* ipList; + extern LinkedList* probe_req_ssids; + extern LinkedList* ssids; this->disable_touch = false; @@ -1849,6 +1851,7 @@ void MenuFunctions::RunSetup() //#ifndef HAS_ILI9341 wifiStationMenu.list = new LinkedList(); //#endif + selectProbeSSIDsMenu.list = new LinkedList(); // WiFi HTML menu stuff htmlMenu.list = new LinkedList(); @@ -2191,6 +2194,67 @@ void MenuFunctions::RunSetup() this->changeMenu(&generateSSIDsMenu); wifi_scan_obj.RunGenerateSSIDs(); }); + + //Add Select probe ssid + this->addNodes(&wifiGeneralMenu, text_table1[65], TFTCYAN, NULL, KEYBOARD_ICO, [this]() { + selectProbeSSIDsMenu.list->clear(); + + // Add the back button + this->addNodes(&selectProbeSSIDsMenu, text09, TFTLIGHTGREY, NULL, 0, [this]() { + this->changeMenu(&wifiGeneralMenu); + + // TODO: TBD - Should probe_req_ssids have it´s own life and override ap.config and/or ssids -list for EP? + // If so, then we should not add selected ssids to ssids list + + // Add selected ssid names to ssids list when clicking back button + if (probe_req_ssids->size() > 0) { + + //TODO: TBD - Clear ssids list before adding new ones?? + + for (int i = 0; i < probe_req_ssids->size(); i++) { + ProbeReqSsid cur_probe_ssid = probe_req_ssids->get(i); + if (cur_probe_ssid.selected) { + bool ssidExists = false; + for (int i = 0; i < ssids->size(); i++) { + if (ssids->get(i).essid == cur_probe_ssid.essid) { + ssidExists = true; + break; + } + } + if (!ssidExists) { + wifi_scan_obj.addSSID(cur_probe_ssid.essid); + } + } + } + } + }); + + // Populate the menu with buttons + for (int i = 0; i < probe_req_ssids->size(); i++) { + ProbeReqSsid cur_ssid = probe_req_ssids->get(i); + // This is the menu node + this->addNodes( + &selectProbeSSIDsMenu, + "(#" + String(cur_ssid.requests) + ") -> " + cur_ssid.essid, + TFTCYAN, + NULL, + 255, + [this, i]() { + ProbeReqSsid new_ssid = probe_req_ssids->get(i); + new_ssid.selected = !probe_req_ssids->get(i).selected; + + // Change selection status of menu node + MenuNode new_node = current_menu->list->get(i + 1); + new_node.selected = !current_menu->list->get(i + 1).selected; + current_menu->list->set(i + 1, new_node); + + probe_req_ssids->set(i, new_ssid); + }, + probe_req_ssids->get(i).selected); + } + this->changeMenu(&selectProbeSSIDsMenu); + }); + #ifdef HAS_ILI9341 this->addNodes(&wifiGeneralMenu, text_table1[1], TFTNAVY, NULL, KEYBOARD_ICO, [this](){ display_obj.clearScreen(); diff --git a/esp32_marauder/MenuFunctions.h b/esp32_marauder/MenuFunctions.h index 4cb52b4..88cbcd7 100644 --- a/esp32_marauder/MenuFunctions.h +++ b/esp32_marauder/MenuFunctions.h @@ -188,6 +188,7 @@ class MenuFunctions Menu genAPMacMenu; Menu cloneAPMacMenu; Menu setMacMenu; + Menu selectProbeSSIDsMenu; // Bluetooth menu stuff Menu bluetoothSnifferMenu; diff --git a/esp32_marauder/WiFiScan.cpp b/esp32_marauder/WiFiScan.cpp index bd7b9e5..9bc5e32 100644 --- a/esp32_marauder/WiFiScan.cpp +++ b/esp32_marauder/WiFiScan.cpp @@ -16,6 +16,7 @@ LinkedList* stations; LinkedList* airtags; LinkedList* flippers; LinkedList* ipList; +LinkedList* probe_req_ssids; extern "C" int ieee80211_raw_frame_sanity_check(int32_t arg, int32_t arg2, int32_t arg3){ if (arg == 31337) @@ -548,6 +549,7 @@ void WiFiScan::RunSetup() { airtags = new LinkedList(); flippers = new LinkedList(); ipList = new LinkedList(); + probe_req_ssids = new LinkedList; // for Pinescan pinescan_trackers = new LinkedList(); confirmed_pinescan = new LinkedList(); @@ -3351,6 +3353,8 @@ void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color) // Function for running probe request scan void WiFiScan::RunProbeScan(uint8_t scan_mode, uint16_t color) { + probe_req_ssids->clear(); + if (scan_mode == WIFI_SCAN_PROBE) startPcap("probe"); else if (scan_mode == WIFI_SCAN_STATION_WAR_DRIVE) { @@ -5773,6 +5777,8 @@ void WiFiScan::probeSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type) if ((snifferPacket->payload[0] == 0x40) && (buf == 0)) { if (wifi_scan_obj.currentScanMode == WIFI_SCAN_PROBE) { + String probe_req_essid; + delay(random(0, 10)); Serial.print("RSSI: "); Serial.print(snifferPacket->rx_ctrl.rssi); @@ -5788,9 +5794,29 @@ void WiFiScan::probeSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type) for (int i = 0; i < snifferPacket->payload[25]; i++) { Serial.print((char)snifferPacket->payload[26 + i]); - display_string.concat((char)snifferPacket->payload[26 + i]); + probe_req_essid.concat((char)snifferPacket->payload[26 + i]); } + display_string.concat(probe_req_essid); + + if (probe_req_essid.length() > 0) { + bool essidExist = false; + for (int i = 0; i < probe_req_ssids->size(); i++) { + ProbeReqSsid cur_probe_ssid = probe_req_ssids->get(i); + if (cur_probe_ssid.essid == probe_req_essid) { + cur_probe_ssid.requests++; + essidExist = true; + break; + } + } + if (!essidExist) { + ProbeReqSsid probeReqSsid; + probeReqSsid.essid = probe_req_essid; + probeReqSsid.requests = 1; + probeReqSsid.selected = false; + probe_req_ssids->add(probeReqSsid); + } + } // Print spaces because of the rotating lines of the hardware scroll. // The same characters print from previous lines so I just overwrite them // with spaces. diff --git a/esp32_marauder/lang_var.h b/esp32_marauder/lang_var.h index 24bd090..a1c78ba 100644 --- a/esp32_marauder/lang_var.h +++ b/esp32_marauder/lang_var.h @@ -105,6 +105,7 @@ PROGMEM const char text1_61[] = "Select Stations"; PROGMEM const char text1_62[] = "Deauth Targeted"; PROGMEM const char text1_63[] = "Detect Pineapple"; PROGMEM const char text1_64[] = "Detect MultiSSID"; +PROGMEM const char text1_65[] = "Select probe SSIDs"; //SDInterface.cpp texts PROGMEM const char text2_0[] = "Error, could not find update.bin"; @@ -185,7 +186,7 @@ PROGMEM const char text4_49[] = " Detect MultiSSID "; //Making tables PROGMEM const char *text_table0[] = {text0_0,text0_1, text0_2, text0_3, text0_4, text0_5, text0_6, text0_7, text0_8}; -PROGMEM const char *text_table1[] = {text1_0,text1_1,text1_2,text1_3,text1_4,text1_5,text1_6,text1_7,text1_8,text1_9,text1_10,text1_11,text1_12,text1_13,text1_14,text1_15,text1_16,text1_17,text1_18,text1_19,text1_20,text1_21,text1_22,text1_23,text1_24,text1_25,text1_26,text1_27,text1_28,text1_29,text1_30,text1_31,text1_32,text1_33,text1_34,text1_35,text1_36,text1_37,text1_38,text1_39,text1_40,text1_41,text1_42,text1_43,text1_44,text1_45,text1_46,text1_47,text1_48,text1_49,text1_50,text1_51,text1_52,text1_53,text1_54,text1_55,text1_56,text1_57,text1_58,text1_59,text1_60,text1_61,text1_62,text1_63,text1_64}; +PROGMEM const char *text_table1[] = {text1_0,text1_1,text1_2,text1_3,text1_4,text1_5,text1_6,text1_7,text1_8,text1_9,text1_10,text1_11,text1_12,text1_13,text1_14,text1_15,text1_16,text1_17,text1_18,text1_19,text1_20,text1_21,text1_22,text1_23,text1_24,text1_25,text1_26,text1_27,text1_28,text1_29,text1_30,text1_31,text1_32,text1_33,text1_34,text1_35,text1_36,text1_37,text1_38,text1_39,text1_40,text1_41,text1_42,text1_43,text1_44,text1_45,text1_46,text1_47,text1_48,text1_49,text1_50,text1_51,text1_52,text1_53,text1_54,text1_55,text1_56,text1_57,text1_58,text1_59,text1_60,text1_61,text1_62,text1_63,text1_64, text1_65}; PROGMEM const char *text_table2[] = {text2_0,text2_1,text2_2,text2_3,text2_4,text2_5,text2_6,text2_7,text2_8,text2_9,text2_10,text2_11,text2_12,text2_13,text2_14}; PROGMEM const char *text_table3[] = {text3_0,text3_1,text3_2,text3_3,text3_4,text3_5}; PROGMEM const char *text_table4[] = {text4_0,text4_1,text4_2,text4_3,text4_4,text4_5,text4_6,text4_7,text1_54,text4_9,text4_10,text4_11,text4_12,text4_13,text4_14,text4_15,text4_16,text4_17,text4_18,text4_19,text4_20,text4_21,text4_22,text4_23,text4_24,text4_25,text4_26,text4_27,text4_28,text4_29,text4_30,text4_31,text4_32,text4_33,text4_34,text4_35,text4_36,text4_37,text4_38,text4_39,text4_40,text4_41,text4_42,text4_43,text4_44,text4_45,text4_46,text4_47,text4_48,text4_49}; diff --git a/esp32_marauder/utils.h b/esp32_marauder/utils.h index 8e8e4cc..fc7ef10 100644 --- a/esp32_marauder/utils.h +++ b/esp32_marauder/utils.h @@ -21,6 +21,12 @@ struct Station { uint16_t ap; }; +struct ProbeReqSsid { + String essid; + bool selected; + uint8_t requests; +}; + const char apple_ouis[][9] PROGMEM = { "00:17:F2", "00:1E:C2", "00:26:08", "F8:1E:DF", "BC:92:6B", "28:E0:2C", "3C:07:54", "7C:D1:C3", "DC:A9:04", "F0:D1:A9", From 2c40d83e3aeeb2d1bc81f91cb9890bb4db7f8d07 Mon Sep 17 00:00:00 2001 From: m1crod0t Date: Sun, 8 Jun 2025 17:24:54 +0200 Subject: [PATCH 2/8] Update WiFiScan.cpp Fixed saving request count per ssid --- esp32_marauder/WiFiScan.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/esp32_marauder/WiFiScan.cpp b/esp32_marauder/WiFiScan.cpp index 9bc5e32..03eeb6f 100644 --- a/esp32_marauder/WiFiScan.cpp +++ b/esp32_marauder/WiFiScan.cpp @@ -5805,6 +5805,7 @@ void WiFiScan::probeSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type) ProbeReqSsid cur_probe_ssid = probe_req_ssids->get(i); if (cur_probe_ssid.essid == probe_req_essid) { cur_probe_ssid.requests++; + probe_req_ssids->set(i, cur_probe_ssid); essidExist = true; break; } From a6ed8899c7b4a8329241312c8430c055570a3c57 Mon Sep 17 00:00:00 2001 From: m1crod0t Date: Sun, 8 Jun 2025 17:53:40 +0200 Subject: [PATCH 3/8] Update MenuFunctions.cpp Changed how request count is shown --- esp32_marauder/MenuFunctions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esp32_marauder/MenuFunctions.cpp b/esp32_marauder/MenuFunctions.cpp index adae209..19cec2e 100644 --- a/esp32_marauder/MenuFunctions.cpp +++ b/esp32_marauder/MenuFunctions.cpp @@ -2235,7 +2235,7 @@ void MenuFunctions::RunSetup() // This is the menu node this->addNodes( &selectProbeSSIDsMenu, - "(#" + String(cur_ssid.requests) + ") -> " + cur_ssid.essid, + "[" + String(cur_ssid.requests) + "]" + cur_ssid.essid, TFTCYAN, NULL, 255, From fe279100966be49f56546afa2d0b1244031c662c Mon Sep 17 00:00:00 2001 From: m1crod0t Date: Tue, 10 Jun 2025 15:59:03 +0200 Subject: [PATCH 4/8] Update build_parallel.yml --- .github/workflows/build_parallel.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build_parallel.yml b/.github/workflows/build_parallel.yml index 77c2369..81b494f 100644 --- a/.github/workflows/build_parallel.yml +++ b/.github/workflows/build_parallel.yml @@ -17,23 +17,23 @@ jobs: fail-fast: false matrix: board: - - { name: "Flipper Zero WiFi Dev Board", flag: "MARAUDER_FLIPPER", fbqn: "esp32:esp32:esp32s2:PartitionScheme=min_spiffs,FlashSize=4M,PSRAM=enabled", file_name: "flipper", tft: false, tft_file: "", build_dir: "esp32s2", addr: "0x1000" } - - { name: "Flipper Zero Multi Board", flag: "MARAUDER_FLIPPER", fbqn: "esp32:esp32:esp32s3:PartitionScheme=min_spiffs,FlashSize=8M,PSRAM=enabled", file_name: "multiboardS3", tft: false, tft_file: "", build_dir: "esp32s3", addr: "0x0" } - - { name: "OG Marauder", flag: "MARAUDER_V4", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "og", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } - - { name: "Marauder v6", flag: "MARAUDER_V6", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } - - { name: "Marauder v6.1", flag: "MARAUDER_V6_1", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6_1", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } - - { name: "Marauder Kit", flag: "MARAUDER_KIT", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "kit", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } + #- { name: "Flipper Zero WiFi Dev Board", flag: "MARAUDER_FLIPPER", fbqn: "esp32:esp32:esp32s2:PartitionScheme=min_spiffs,FlashSize=4M,PSRAM=enabled", file_name: "flipper", tft: false, tft_file: "", build_dir: "esp32s2", addr: "0x1000" } + #- { name: "Flipper Zero Multi Board", flag: "MARAUDER_FLIPPER", fbqn: "esp32:esp32:esp32s3:PartitionScheme=min_spiffs,FlashSize=8M,PSRAM=enabled", file_name: "multiboardS3", tft: false, tft_file: "", build_dir: "esp32s3", addr: "0x0" } + #- { name: "OG Marauder", flag: "MARAUDER_V4", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "og", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } + #- { name: "Marauder v6", flag: "MARAUDER_V6", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } + #- { name: "Marauder v6.1", flag: "MARAUDER_V6_1", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6_1", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } + #- { name: "Marauder Kit", flag: "MARAUDER_KIT", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "kit", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } - { name: "Marauder Mini", flag: "MARAUDER_MINI", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "mini", tft: true, tft_file: "User_Setup_marauder_mini.h", build_dir: "d32", addr: "0x1000" } - - { name: "ESP32 LDDB", flag: "ESP32_LDDB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "esp32_lddb", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000" } - - { name: "Marauder Dev Board Pro", flag: "MARAUDER_DEV_BOARD_PRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_dev_board_pro", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000" } - - { name: "M5StickCPlus", flag: "MARAUDER_M5STICKC", fbqn: "esp32:esp32:m5stick-c:PartitionScheme=min_spiffs", file_name: "m5stickc_plus", tft: true, tft_file: "User_Setup_marauder_m5stickc.h", build_dir: "m5stick-c", addr: "0x1000" } - - { name: "M5StickCPlus 2", flag: "MARAUDER_M5STICKCP2", fbqn: "esp32:esp32:m5stick-c:PartitionScheme=min_spiffs", file_name: "m5stickc_plus2", tft: true, tft_file: "User_Setup_marauder_m5stickcp2.h", build_dir: "m5stick-c", addr: "0x1000" } - - { name: "Rev Feather", flag: "MARAUDER_REV_FEATHER", fbqn: "esp32:esp32:esp32s2:PartitionScheme=min_spiffs,FlashSize=4M,PSRAM=enabled", file_name: "rev_feather", tft: true, tft_file: "User_Setup_marauder_rev_feather.h", build_dir: "esp32s2", addr: "0x1000" } + #- { name: "ESP32 LDDB", flag: "ESP32_LDDB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "esp32_lddb", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000" } + #- { name: "Marauder Dev Board Pro", flag: "MARAUDER_DEV_BOARD_PRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_dev_board_pro", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000" } + #- { name: "M5StickCPlus", flag: "MARAUDER_M5STICKC", fbqn: "esp32:esp32:m5stick-c:PartitionScheme=min_spiffs", file_name: "m5stickc_plus", tft: true, tft_file: "User_Setup_marauder_m5stickc.h", build_dir: "m5stick-c", addr: "0x1000" } + #- { name: "M5StickCPlus 2", flag: "MARAUDER_M5STICKCP2", fbqn: "esp32:esp32:m5stick-c:PartitionScheme=min_spiffs", file_name: "m5stickc_plus2", tft: true, tft_file: "User_Setup_marauder_m5stickcp2.h", build_dir: "m5stick-c", addr: "0x1000" } + #- { name: "Rev Feather", flag: "MARAUDER_REV_FEATHER", fbqn: "esp32:esp32:esp32s2:PartitionScheme=min_spiffs,FlashSize=4M,PSRAM=enabled", file_name: "rev_feather", tft: true, tft_file: "User_Setup_marauder_rev_feather.h", build_dir: "esp32s2", addr: "0x1000" } - { name: "Marauder v7", flag: "MARAUDER_V7", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_v7", tft: true, tft_file: "User_Setup_dual_nrf24.h", build_dir: "d32", addr: "0x1000" } - { name: "Marauder CYD 2432S028", flag: "MARAUDER_CYD_MICRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S028", tft: true, tft_file: "User_Setup_cyd_micro.h", build_dir: "d32", addr: "0x1000" } - - { name: "Marauder CYD 2432S024 GUITION", flag: "MARAUDER_CYD_GUITION", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S024_guition", tft: true, tft_file: "User_Setup_cyd_guition.h", build_dir: "d32", addr: "0x1000" } + #- { name: "Marauder CYD 2432S024 GUITION", flag: "MARAUDER_CYD_GUITION", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S024_guition", tft: true, tft_file: "User_Setup_cyd_guition.h", build_dir: "d32", addr: "0x1000" } - { name: "Marauder CYD 2432S028 2 USB", flag: "MARAUDER_CYD_2USB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S028_2usb", tft: true, tft_file: "User_Setup_cyd_2usb.h", build_dir: "d32", addr: "0x1000" } - - { name: "Marauder v7.1", flag: "MARAUDER_V7_1", fbqn: "esp32:esp32:dfrobot_firebeetle2_esp32e:FlashSize=16M,PartitionScheme=min_spiffs,PSRAM=enabled", file_name: "marauder_v7_1", tft: true, tft_file: "User_Setup_dual_nrf24.h", build_dir: "dfrobot_firebeetle2_esp32e", addr: "0x1000" } + #- { name: "Marauder v7.1", flag: "MARAUDER_V7_1", fbqn: "esp32:esp32:dfrobot_firebeetle2_esp32e:FlashSize=16M,PartitionScheme=min_spiffs,PSRAM=enabled", file_name: "marauder_v7_1", tft: true, tft_file: "User_Setup_dual_nrf24.h", build_dir: "dfrobot_firebeetle2_esp32e", addr: "0x1000" } steps: - name: Checkout Code From e300489b77669263a6cba693124e70be25273ce8 Mon Sep 17 00:00:00 2001 From: m1crod0t Date: Tue, 10 Jun 2025 19:37:04 +0200 Subject: [PATCH 5/8] Update build_parallel.yml --- .github/workflows/build_parallel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_parallel.yml b/.github/workflows/build_parallel.yml index 81b494f..0c5330d 100644 --- a/.github/workflows/build_parallel.yml +++ b/.github/workflows/build_parallel.yml @@ -21,7 +21,7 @@ jobs: #- { name: "Flipper Zero Multi Board", flag: "MARAUDER_FLIPPER", fbqn: "esp32:esp32:esp32s3:PartitionScheme=min_spiffs,FlashSize=8M,PSRAM=enabled", file_name: "multiboardS3", tft: false, tft_file: "", build_dir: "esp32s3", addr: "0x0" } #- { name: "OG Marauder", flag: "MARAUDER_V4", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "og", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } #- { name: "Marauder v6", flag: "MARAUDER_V6", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } - #- { name: "Marauder v6.1", flag: "MARAUDER_V6_1", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6_1", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } + - { name: "Marauder v6.1", flag: "MARAUDER_V6_1", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6_1", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } #- { name: "Marauder Kit", flag: "MARAUDER_KIT", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "kit", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } - { name: "Marauder Mini", flag: "MARAUDER_MINI", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "mini", tft: true, tft_file: "User_Setup_marauder_mini.h", build_dir: "d32", addr: "0x1000" } #- { name: "ESP32 LDDB", flag: "ESP32_LDDB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "esp32_lddb", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000" } From 06a5de8cd99bcec4bb1d3f60b1931a0b65e8f5ae Mon Sep 17 00:00:00 2001 From: m1crod0t Date: Wed, 11 Jun 2025 15:23:18 +0200 Subject: [PATCH 6/8] Just intendent --- esp32_marauder/WiFiScan.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esp32_marauder/WiFiScan.cpp b/esp32_marauder/WiFiScan.cpp index 03eeb6f..8caa6ce 100644 --- a/esp32_marauder/WiFiScan.cpp +++ b/esp32_marauder/WiFiScan.cpp @@ -5805,7 +5805,7 @@ void WiFiScan::probeSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type) ProbeReqSsid cur_probe_ssid = probe_req_ssids->get(i); if (cur_probe_ssid.essid == probe_req_essid) { cur_probe_ssid.requests++; - probe_req_ssids->set(i, cur_probe_ssid); + probe_req_ssids->set(i, cur_probe_ssid); essidExist = true; break; } From d0ac2f178b80f0fc43de904f068f2d2c28c8a46d Mon Sep 17 00:00:00 2001 From: m1crod0t Date: Wed, 11 Jun 2025 15:25:37 +0200 Subject: [PATCH 7/8] Update build_parallel.yml revert to def --- .github/workflows/build_parallel.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build_parallel.yml b/.github/workflows/build_parallel.yml index 0c5330d..77c2369 100644 --- a/.github/workflows/build_parallel.yml +++ b/.github/workflows/build_parallel.yml @@ -17,23 +17,23 @@ jobs: fail-fast: false matrix: board: - #- { name: "Flipper Zero WiFi Dev Board", flag: "MARAUDER_FLIPPER", fbqn: "esp32:esp32:esp32s2:PartitionScheme=min_spiffs,FlashSize=4M,PSRAM=enabled", file_name: "flipper", tft: false, tft_file: "", build_dir: "esp32s2", addr: "0x1000" } - #- { name: "Flipper Zero Multi Board", flag: "MARAUDER_FLIPPER", fbqn: "esp32:esp32:esp32s3:PartitionScheme=min_spiffs,FlashSize=8M,PSRAM=enabled", file_name: "multiboardS3", tft: false, tft_file: "", build_dir: "esp32s3", addr: "0x0" } - #- { name: "OG Marauder", flag: "MARAUDER_V4", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "og", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } - #- { name: "Marauder v6", flag: "MARAUDER_V6", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } + - { name: "Flipper Zero WiFi Dev Board", flag: "MARAUDER_FLIPPER", fbqn: "esp32:esp32:esp32s2:PartitionScheme=min_spiffs,FlashSize=4M,PSRAM=enabled", file_name: "flipper", tft: false, tft_file: "", build_dir: "esp32s2", addr: "0x1000" } + - { name: "Flipper Zero Multi Board", flag: "MARAUDER_FLIPPER", fbqn: "esp32:esp32:esp32s3:PartitionScheme=min_spiffs,FlashSize=8M,PSRAM=enabled", file_name: "multiboardS3", tft: false, tft_file: "", build_dir: "esp32s3", addr: "0x0" } + - { name: "OG Marauder", flag: "MARAUDER_V4", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "og", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } + - { name: "Marauder v6", flag: "MARAUDER_V6", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } - { name: "Marauder v6.1", flag: "MARAUDER_V6_1", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6_1", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } - #- { name: "Marauder Kit", flag: "MARAUDER_KIT", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "kit", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } + - { name: "Marauder Kit", flag: "MARAUDER_KIT", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "kit", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000" } - { name: "Marauder Mini", flag: "MARAUDER_MINI", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "mini", tft: true, tft_file: "User_Setup_marauder_mini.h", build_dir: "d32", addr: "0x1000" } - #- { name: "ESP32 LDDB", flag: "ESP32_LDDB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "esp32_lddb", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000" } - #- { name: "Marauder Dev Board Pro", flag: "MARAUDER_DEV_BOARD_PRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_dev_board_pro", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000" } - #- { name: "M5StickCPlus", flag: "MARAUDER_M5STICKC", fbqn: "esp32:esp32:m5stick-c:PartitionScheme=min_spiffs", file_name: "m5stickc_plus", tft: true, tft_file: "User_Setup_marauder_m5stickc.h", build_dir: "m5stick-c", addr: "0x1000" } - #- { name: "M5StickCPlus 2", flag: "MARAUDER_M5STICKCP2", fbqn: "esp32:esp32:m5stick-c:PartitionScheme=min_spiffs", file_name: "m5stickc_plus2", tft: true, tft_file: "User_Setup_marauder_m5stickcp2.h", build_dir: "m5stick-c", addr: "0x1000" } - #- { name: "Rev Feather", flag: "MARAUDER_REV_FEATHER", fbqn: "esp32:esp32:esp32s2:PartitionScheme=min_spiffs,FlashSize=4M,PSRAM=enabled", file_name: "rev_feather", tft: true, tft_file: "User_Setup_marauder_rev_feather.h", build_dir: "esp32s2", addr: "0x1000" } + - { name: "ESP32 LDDB", flag: "ESP32_LDDB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "esp32_lddb", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000" } + - { name: "Marauder Dev Board Pro", flag: "MARAUDER_DEV_BOARD_PRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_dev_board_pro", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000" } + - { name: "M5StickCPlus", flag: "MARAUDER_M5STICKC", fbqn: "esp32:esp32:m5stick-c:PartitionScheme=min_spiffs", file_name: "m5stickc_plus", tft: true, tft_file: "User_Setup_marauder_m5stickc.h", build_dir: "m5stick-c", addr: "0x1000" } + - { name: "M5StickCPlus 2", flag: "MARAUDER_M5STICKCP2", fbqn: "esp32:esp32:m5stick-c:PartitionScheme=min_spiffs", file_name: "m5stickc_plus2", tft: true, tft_file: "User_Setup_marauder_m5stickcp2.h", build_dir: "m5stick-c", addr: "0x1000" } + - { name: "Rev Feather", flag: "MARAUDER_REV_FEATHER", fbqn: "esp32:esp32:esp32s2:PartitionScheme=min_spiffs,FlashSize=4M,PSRAM=enabled", file_name: "rev_feather", tft: true, tft_file: "User_Setup_marauder_rev_feather.h", build_dir: "esp32s2", addr: "0x1000" } - { name: "Marauder v7", flag: "MARAUDER_V7", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_v7", tft: true, tft_file: "User_Setup_dual_nrf24.h", build_dir: "d32", addr: "0x1000" } - { name: "Marauder CYD 2432S028", flag: "MARAUDER_CYD_MICRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S028", tft: true, tft_file: "User_Setup_cyd_micro.h", build_dir: "d32", addr: "0x1000" } - #- { name: "Marauder CYD 2432S024 GUITION", flag: "MARAUDER_CYD_GUITION", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S024_guition", tft: true, tft_file: "User_Setup_cyd_guition.h", build_dir: "d32", addr: "0x1000" } + - { name: "Marauder CYD 2432S024 GUITION", flag: "MARAUDER_CYD_GUITION", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S024_guition", tft: true, tft_file: "User_Setup_cyd_guition.h", build_dir: "d32", addr: "0x1000" } - { name: "Marauder CYD 2432S028 2 USB", flag: "MARAUDER_CYD_2USB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S028_2usb", tft: true, tft_file: "User_Setup_cyd_2usb.h", build_dir: "d32", addr: "0x1000" } - #- { name: "Marauder v7.1", flag: "MARAUDER_V7_1", fbqn: "esp32:esp32:dfrobot_firebeetle2_esp32e:FlashSize=16M,PartitionScheme=min_spiffs,PSRAM=enabled", file_name: "marauder_v7_1", tft: true, tft_file: "User_Setup_dual_nrf24.h", build_dir: "dfrobot_firebeetle2_esp32e", addr: "0x1000" } + - { name: "Marauder v7.1", flag: "MARAUDER_V7_1", fbqn: "esp32:esp32:dfrobot_firebeetle2_esp32e:FlashSize=16M,PartitionScheme=min_spiffs,PSRAM=enabled", file_name: "marauder_v7_1", tft: true, tft_file: "User_Setup_dual_nrf24.h", build_dir: "dfrobot_firebeetle2_esp32e", addr: "0x1000" } steps: - name: Checkout Code From b76de6c314b47fd3fe94130aa6efd9f4266856b2 Mon Sep 17 00:00:00 2001 From: m1crod0t Date: Wed, 11 Jun 2025 15:30:22 +0200 Subject: [PATCH 8/8] Update WiFiScan.cpp Intendent issue --- esp32_marauder/WiFiScan.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esp32_marauder/WiFiScan.cpp b/esp32_marauder/WiFiScan.cpp index 8caa6ce..03eeb6f 100644 --- a/esp32_marauder/WiFiScan.cpp +++ b/esp32_marauder/WiFiScan.cpp @@ -5805,7 +5805,7 @@ void WiFiScan::probeSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type) ProbeReqSsid cur_probe_ssid = probe_req_ssids->get(i); if (cur_probe_ssid.essid == probe_req_essid) { cur_probe_ssid.requests++; - probe_req_ssids->set(i, cur_probe_ssid); + probe_req_ssids->set(i, cur_probe_ssid); essidExist = true; break; }