A comprehensive network monitoring and security application for Windows.
Warning: This project is currently in active development and is not production ready. Features may be incomplete, unstable, or subject to change. Use at your own risk.
NetGuard provides real-time network traffic monitoring, device detection, firewall management, and security alerts for Windows systems. It combines a modern React-based UI with a Go backend that interfaces directly with Windows native APIs.
- Real-time traffic statistics (upload/download speeds)
- Active network connections with process information
- Per-application bandwidth usage tracking
- Traffic history with multiple time ranges (1h, 24h, 7d, 30d)
- View and filter active connections (established, listening, etc.)
- Kill active connections
- Block specific IP:port combinations
- Geographic mapping of connections via GeoIP
- Windows Firewall integration
- View, enable, and disable firewall rules
- Block or allow specific applications
- Filter by direction (inbound/outbound) and action
- Scan local network for devices
- Track device online/offline status
- Custom device naming and vendor identification
- Port scanning capabilities
- Real-time alert system for security events
- New application and device detection
- Evil twin WiFi detection
- RDP session monitoring
- Customizable notifications
- Dark theme with accent color customization
- Interactive world map of connections
- Animated transitions with Framer Motion
- Mini floating widget for quick stats
- React 18 with TypeScript
- Zustand (state management)
- Tailwind CSS (styling)
- Recharts (charts)
- Leaflet (maps)
- Framer Motion (animations)
- Vite (build tool)
- Electron 33
- Go 1.21
- SQLite (data persistence)
- Windows native APIs (iphlpapi, wlanapi, wtsapi32)
- Windows 10 or later
- Node.js (v18 or later recommended)
- npm
- Go 1.21+ (for backend development)
- Administrator privileges (required for network monitoring)
# Clone the repository
git clone <repository-url>
cd GlassWire
# Install dependencies
npm installA pre-compiled backend binary is included. To rebuild:
cd backend
go build -o netguard-backend.exe
cd ..npm run electron:devThis starts the Vite dev server with hot reload and launches the Electron app. The Go backend will be started with admin elevation.
npm run electron:buildThis compiles TypeScript, builds the React app, and packages the Electron application as a Windows installer.
| Script | Description |
|---|---|
npm run dev |
Start Vite dev server only |
npm run build |
Full production build |
npm run preview |
Preview production build |
npm run electron:dev |
Development with Electron |
npm run electron:build |
Production build with packaging |
GlassWire/
├── src/ # React frontend source
│ ├── components/ # UI components
│ ├── pages/ # Page components
│ ├── store/ # Zustand state stores
│ └── styles/ # Global CSS
├── electron/ # Electron main process
│ ├── services/ # Backend services
│ └── utils/ # Utility functions
├── backend/ # Go backend
├── public/ # Static assets
└── dist/ # Build output
The application follows a three-tier architecture:
- Frontend (React): Handles UI rendering and user interactions
- Electron Main Process: Manages windows, IPC communication, and service orchestration
- Go Backend: Interfaces with Windows APIs for network monitoring, running on port 8899
Data flows from the Go backend through Electron's IPC bridge to the React frontend, with Zustand managing application state.
The application stores configuration in a local SQLite database. Settings can be modified through the Settings page in the application.
- The Go backend requires administrator privileges to access network statistics
- Context isolation is enabled in Electron for security
- All IPC communication goes through a secure preload bridge
- Windows only (no macOS or Linux support)
- Requires administrator privileges for full functionality
- GeoIP lookups use external API (ip-api.com) with rate limiting
Contributions are welcome. Please note that this project is in early development, and the API and architecture may change significantly.
MIT License - see LICENSE for details.
This software is provided as-is for educational and development purposes. The developers are not responsible for any misuse or damage caused by this application. Always ensure you have proper authorization before monitoring network traffic.