Astra — Local Network Device Discovery
Cross-platform LAN scanner with pluggable multi-strategy device classification
Cross-platform LAN scanner with pluggable multi-strategy device classification
Astra is a cross-platform local network device discovery and classification system. A Go desktop agent, React Native mobile client, and Node.js/Express backend work together to scan your LAN and classify connected devices — routers, TVs, printers, cameras, IoT — using multiple discovery strategies: passive ARP table parsing, TCP port probing, mDNS/Bonjour (Zeroconf), and SSDP advertisement capture.
Strategy profiles (label_core, fast, medium, full) combine discovery techniques with different runtime and accuracy tradeoffs. A pluggable strategy registry enables data-driven selection. Device classification uses an OUI vendor lookup table, hostname pattern matching, and service advertisement fingerprinting to generate typed device labels with confidence scores and enumerated reasoning.
The Expo React Native client communicates with the Go agent over HTTP on port 7777, advertised via mDNS for zero-configuration discovery. TanStack React Query drives live scan polling. Zustand manages client-side device state. React Native BLE PLX extends discovery to nearby Bluetooth devices.
Strategy research phase complete with benchmark data across discovery profiles. iPhone feasibility analysis documented. Active development. Private repository.