Skip to content

Commit

Permalink
Merge pull request #4 from jaylikesbunda/refactor
Browse files Browse the repository at this point in the history
Refactor The Sequel
  • Loading branch information
Spooks4576 authored Oct 27, 2024
2 parents 2a8bbcf + 2c0b7ab commit be67f08
Show file tree
Hide file tree
Showing 32 changed files with 1,958 additions and 412 deletions.
68 changes: 41 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,48 @@
# Ghost ESP App
# Ghost ESP 👻
A Flipper Zero application for interfacing with the [Ghost ESP32 Firmware]([https://github.com/your-username/ghost_esp_firmware_repo](https://github.com/Spooks4576/Ghost_ESP)).

A Flipper Zero application for interfacing with the the Ghost ESP32 firmware.
## Preview
![Ghost ESP Preview](https://github.com/user-attachments/assets/dbff6546-24ed-4d20-af6e-0e01e1643385)

## Features

- WiFi Operations
- Scan and list WiFi access points and stations
- Beacon spam operations (random, rickroll, custom)
- Deauthentication attacks
- Packet capture (PMKID, Probe, WPS, Raw, etc.)
- Evil Portal capabilities
- Network connection features

- Bluetooth Operations
- Find other Flippers
- BLE spam detection
- AirTag scanning
- Raw Bluetooth packet capture

- GPS Features
- Street detection
- WarDriving capabilities
### 📶 WiFi Operations
- **Scan and List**: Discover WiFi access points and stations
- **Beacon Spam**: Choose from random, rickroll, or custom beacon spamming
- **Deauthentication Attacks**: Perform targeted deauthentication attacks
- **Packet Capture**: Capture PMKID, Probe, WPS, Raw packets, and more
- **Evil Portal**: Create a captive portal
- **Network Connection**: Access comprehensive network connection features
- **Printer Power Control**: Control printer power remotely

### 📡 Bluetooth Operations
- **Flipper Discovery**: Locate other Flipper devices
- **BLE Spam Detection**: Detect and manage BLE spam (COMING SOON…)
- **AirTag Scanning**: Find and scan nearby AirTags
- **Raw Packet Capture**: Capture raw Bluetooth packets for analysis

### 🌍 GPS Features (COMING SOON…)
- **Street Detection**: Identify streets and routes
- **WarDriving Capabilities**: Enable WarDriving for location-based data collection

### ⚙️ Configuration Options
- **RGB LED Control**: Customize RGB LED settings
- **Channel Hopping**: Adjust channel hopping behavior
- **BLE MAC Randomization**: Enable MAC address randomization for Bluetooth
- **Auto-Stop**: Automatically stop operations on back button press
- **Clear Logs**: Easily clear stored logs
- **ESP Reboot**: Reboot the ESP with a single command
- **NVS Clearing**: Clear NVS data with a confirmation prompt

## Downloads
- **Prebuilt App:** [Download from Releases](https://github.com/Spooks4576/ghost_esp_app/releases)
- **Firmware:** [Ghost ESP32 Firmware Repository](https://github.com/Spooks4576/Ghost_ESP)

## Credits 🙏
- Made by [Spooky](https://github.com/Spooks4576)
- Additional contributions by [Jay Candel](https://github.com/jaylikesbunda)

- Configuration Options
- RGB LED control
- Channel hopping settings
- BLE MAC randomization
- Auto-stop on back button
## Support
For support, please open an [issue](https://github.com/Spooks4576/ghost_esp_app/issues) on the repository or contact [Jay](https://github.com/jaylikesbunda) or [Spooky](https://github.com/Spooks4576).

## Credits

- Made by [Spooky](https://github.com/Spooks4576)
- Additional contributions by the community
18 changes: 6 additions & 12 deletions app_state.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,11 @@
#include <gui/modules/text_input.h>
#include "gui_modules/mainmenu.h"
#include "settings_def.h"
#include "app_types.h"
#include "settings_ui_types.h"

// Forward declare the uart types
typedef struct UartContext UartContext;

// Settings UI Context
typedef struct {
Settings* settings;
void (*send_uart_command)(const char* command, void* context);
void* context;
} SettingsUIContext;

// Application State
typedef struct {
struct AppState {
// Views
ViewDispatcher* view_dispatcher;
MainMenu* main_menu;
Expand All @@ -30,13 +22,15 @@ typedef struct {
VariableItemList* settings_menu;
TextBox* text_box;
TextInput* text_input;
ConfirmationView* confirmation_view; // Add this

// UART Context
UartContext* uart_context;

// Settings
Settings settings;
SettingsUIContext settings_ui_context;
Submenu* settings_actions_menu;

// State
uint8_t current_view;
Expand All @@ -45,4 +39,4 @@ typedef struct {
const char* uart_command;
char* textBoxBuffer;
size_t buffer_length;
} AppState;
};
9 changes: 9 additions & 0 deletions app_types.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#pragma once

// Forward declarations only
typedef struct AppState AppState;
typedef struct UartContext UartContext;
typedef struct StorageContext StorageContext;
typedef struct SettingsUIContext SettingsUIContext;
typedef struct ConfirmationView ConfirmationView;
typedef struct UartStorageContext UartStorageContext;
Loading

0 comments on commit be67f08

Please sign in to comment.