$ show Ragnt/AngryOxide
AngryOxide is a production-grade 802.11 WiFi security auditing tool written in Rust. It captures and analyzes wireless frames in real time via raw AF_PACKET sockets, performs deauthentication, disassociation, PMKID, rogue M2, and other attacks, and outputs handshake data in hashcat-compatible hc22000 format, PCAPNG files with GPS metadata, and KismetDB SQLite databases. The application features a full terminal user interface built on ratatui with custom widgets (AdvTable, TabbedBlock) for monitoring access points, stations, and handshakes, as well as a headless mode for scripting. It integrates GPSD for geotagging and geofencing, and includes a standalone pcap/pcapng parsing library with fuzz testing and benchmarks. The architecture is a single binary monolith with clear module separation, background worker threads for I/O, and a state-machine attack engine. It is actively maintained, well-documented, and demonstrates strong Rust engineering practices.
The LLM identified 3 files worth highlighting for reuse:
A standalone, reusable library for reading and writing pcap and pcapng files. It provides separate parsers, readers, and writers for both formats, with support for all standard block types (section header, interface description, enhanced packets, etc.) and custom options (e.g., GPS metadata). The library includes fuzz targets and benchmarks, demonstrating robust engineering. It is fully decoupled from the main application and could be extracted into its own crate with minimal changes.
A custom ratatui Table widget that extends the standard table with a `selected_row_area()` method, enabling detailed panes below the selected row. It also supports configurable segment sizes and highlight spacing. This widget is self-contained, built on ratatui's builder pattern, and can be reused in any ratatui application needing a table with a detail view.
A custom ratatui Block widget that renders tabbed borders with multiple tabs, supporting left, center, and right alignment, as well as top and bottom positions. It reimplements border rendering to integrate tabs seamlessly, providing a polished UI component. This widget is independent of the application's business logic and can be reused in other ratatui projects.