A cross-platform desktop application for visualizing AWS network traffic flows across VPCs, Transit Gateways, and VPN connections. This tool helps network administrators and engineers troubleshoot connectivity issues and understand traffic patterns in complex multi-account AWS environments.
- Interactive Network Topology: Visualize VPCs, Transit Gateway, and VPN connections with traffic flows
- AWS SSO Integration: Secure authentication using AWS SSO, named profiles, and IAM roles
- CloudWatch Insights Integration: Query VPC and Transit Gateway flow logs directly
- Real-time Filtering: Filter by IP ranges, ports, protocols, and time ranges
- Cross-platform: Runs on Linux, macOS, and Windows
- Privacy-focused: All data processing happens locally, no telemetry or external dependencies
- Export Capabilities: Export visualizations and data for reporting and sharing
Built with:
- Electron + React + TypeScript for cross-platform desktop experience
- Cytoscape.js for network topology visualization
- D3.js for charts and timeline visualizations
- AWS SDK v3 for CloudWatch Insights integration
- No telemetry or analytics data collection
- All flow log processing happens locally on your machine
- Only connects to AWS APIs for CloudWatch Insights queries
- Supports AWS SSO and temporary credentials (no long-term access keys required)
- Self-contained application with all dependencies bundled
The project structure and development environment have been set up. The application is ready for feature implementation.
- Requirements - Detailed feature requirements and acceptance criteria
- Design - Technical architecture and component design
- Implementation Plan - Step-by-step development tasks
- Node.js 18+
- npm or yarn
-
Install dependencies:
npm install
-
Start development server:
npm run dev
npm run dev- Start development server with hot reloadnpm run build- Build production versionnpm run package- Package application for current platformnpm run package:linux- Package for Linuxnpm run package:mac- Package for macOSnpm run package:win- Package for Windowsnpm run test- Run test suitenpm run lint- Run ESLintnpm run format- Format code with Prettier
src/
├── main/ # Electron main process
│ ├── main.ts # Main entry point
│ └── preload.ts # Preload script for secure IPC
├── renderer/ # React frontend
│ ├── components/ # React components (to be added)
│ ├── store/ # Redux store
│ └── index.tsx # Renderer entry point
└── shared/ # Shared types and utilities
└── types.ts # TypeScript type definitions
- Troubleshooting connectivity issues between VPCs and site-to-site VPN connections
- Visualizing traffic patterns across Transit Gateway attachments
- Identifying security issues and unusual traffic patterns
- Understanding network topology in complex multi-account environments
- Analyzing VPC Flow Logs and Transit Gateway Flow Logs from CloudWatch
[License to be determined]
Please read CONTRIBUTING.md for details on our branching strategy, code of conduct, and the process for submitting pull requests.
- Fork the repository
- Create a feature branch:
git checkout -b feature/task-description - Make your changes following the coding standards
- Run tests:
npm test - Run linting:
npm run lint - Commit using conventional commits:
feat: add new feature - Push to your fork and create a Pull Request
The main branch is protected and requires:
- Pull request reviews
- All status checks to pass
- Branches to be up to date before merging
- No direct pushes to main