v2.1 - #373
Merged
Merged
Conversation
based on work from https://github.com/bettse/picopass
…l/GhostESP into Development-deki
✅ Deploy Preview for ghostespdocs canceled.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TL;DR
NFC:
Updates and apps:
Wi-Fi:
Ethernet:
Command line:
Reliability:
UI: This release fixes an old timing bug. The LVGL tick task used a fixed 10ms step, not the real frame time. This made animations play too slowly when a frame took a long time to draw. The tick now uses the actual time that has passed. This fix makes menu navigation and scrolling smoother. The main menu and Apps layouts were also reworked (Carousel, Grid, and List views), scrolling is animated and smoother throughout, and more screens remember where you were when you go back.
NFC
auto/pn532/st25rbackend selector in UI and CLI.nfcexport, adapted from the Momentum-Firmware MIFARE DESFire poller/mnt/ghostesp/nfc/.nested.logand thenfc hardnestedCLI commandFirmware Updates (OTA)
/ghostesp/firmware_update.bin, with optional.sha256verificationCloud Store
Native SD Apps & SDK
ui_image_set_builtinSDK access to bundled Ghostchi imagesGhostScript
.gsbscripts from the SD card, including devices without PSRAMscript list,script run <index>,script status, andscript stopCLI commandsWi-Fi
attack -hsd) that sends short deauth bursts to force client reconnection while capturing EAPOL handshakes to a PCAP file, accessible from the Attacks menu, AP/Station detail views, and GhostLink remoteautoreconnect <on|off>CLI, andAutoReconnect=inconfig.cfg) persisted to NVSenumscan) with native UI: discovers OS, domain, shares, and users via null session over port 445snmpprobe walk) using GetNextRequest to traverse OID subtrees with support for custom root OIDsscanarp monitor) using the Wireshark raw-capture pathetharp_requestreplacing raw 802.11 TX, and netmask-aware subnet scanning (respects /20-/31 instead of hardcoded /24) — techniques adapted from DecentLabs/officeAir (MIT-licensed)Wardriving
Infrared
Ethernet
ethping/ping sweep andetharp/ARP scan (CLI and GhostLink peer-relayed UI) always scanning a hardcoded /24 instead of the real DHCP netmask, missing hosts on smaller VLAN subnets/mnt/ghostesp/scans/, written via a new GhostLink peer-storage channel on boards without a local SD slotSD Storage
sd_card_manager.hasSD_DIR_*macros so features share one source of truthsweeps/,ghostchi/pcaps/,ghostchi/sessions/,app_cache/,appdata/,scripts/,scriptdata/, anddownloads/at mount time, matching the directories active features already useGhostLink
COMM_STREAM_CHANNEL_STORAGEfor peer-backed file IO, so an SD-less board (e.g. Banshee S3) can write files to its paired peer's SD card over GhostLinksd_card_jit_begin/endon the display peer so shared SPI bus arbitration with LVGL is respected automaticallyHeadless CLI
echo,ifconfig,ping,version,uuid,macaddr,uptime,status, and filesystem helperswatch, command scripts, environment variables, and typo suggestionssubghzcommand missing its CLI registration since the commandline.c refactor, causing all subghz commands (local and GhostLink peer-relayed) to fail with "Unsupported command"Main Menu, Apps & Navigation
display_manager_go_back()so views reachable from more than one place (Apps Gallery, a direct menu item, a CLI command, or a hardware-button shortcut that can fire from any screen) return to wherever they were actually opened from, instead of a single hardcoded destination — fixes back navigation on NFC, Infrared, BadUSB, SubGHz, Compass, ENV-III, Accelerometer, Clock, Ghostchi, the plugin/GhostScript runners, and the music visualizerdestroy()handlers were clearing state thatcreate()needed to restore itFixed
MAX_WIFI_CHANNELintonetwork_constants.hand removed nine duplicate definitions across the codebaseMAX_WIFI_CHANNELincorrectly set to 165 for ESP32-C6 (which does not support 5 GHz)SERIAL_BUFFER_SIZEconflicting macro definitions (512 vs 528) between serial manager and AP managerstatictoconstarrays in four headers (ghost_esp_site_gz.h,m5_keyboard_def.h,default_portal.h,keyboard_handler.h) to prevent multiple-definition linker errors and save flashrgb_effect_task_handledeclared withoutexternin header, causing tentative definitions on every includestrncpynot null-terminating when SSID is exactly 32 bytes in PineAP detectioncommandline.husedCOMMAND_H,gps_logger.husedWARDRIVING_CSV_HCONFIG_INFRARED_LED_PINin infrared manager (poltergeist template)send_rmthardcoded mark/space levels, discarding the encoder's Manchester-encoded level sequence; added per-timing level pass-through so RC5, RC5X, and RC6 signals transmit and decode correctlyxTaskCreateStaticdepth as bytes, not wordsarp_scanNULL-pointer dereference when printing results after transferringctx->hoststog_arp_resultsndef_builder_vcardstack buffer overflow when combined name+phone+email exceeds 384 bytes (snprintf size underflow on unsigned subtraction)esp_wifi_stop()was called beforeesp_wifi_set_promiscuous(true)without a matchingesp_wifi_start()watchtask deterministic stack overflow (4 KB task callinghandle_tail_cmdwhich needs 8 KB+); increased to 12 KBsourcescript recursion crashing the console task (~4 nested levels overflow the serial stack); added depth cap of 4peer:command prefix recursion inhandle_serial_command(~7 nested prefixes overflow the stack); added depth cap of 4xTaskCreate_psram()helper (PSRAM first, internal fallback), freeing ~120 KB of internal RAM on PSRAM boardspack_switchtaskCONFIG_HAS_RTC_CLOCK: PCF8563 month/year were written to the wrong registers (corrupting stored dates), boot restore treated UTC time as local (shifting the clock by the timezone offset), and GPS fixes weren't saved to the RTC at allOther Changes
sendBeaconinstead of per-keystroke XHRDocs