Hollow is a modern network protocol analyzer and packet sniffer built with Electron, React, and TypeScript. Designed as an alternative to Wireshark, it provides a user-friendly interface for real-time network traffic analysis, packet inspection, and protocol dissection. With performance and developer experience in mind, it offers a modern approach to network monitoring and troubleshooting.
- Live Packet Capture: Real-time capture from network interfaces
- Protocol Analysis: Support for common protocols (TCP, UDP, HTTP, etc.)
- Packet Filtering: Advanced filtering system using display filters
- Statistics & Visualization: Real-time traffic statistics and graphs
- Cross-platform Support: Works on Windows, macOS, and Linux
- Modern Interface: Built with React for smooth user experience
Ensure you have the following installed:
- Node.js: v22 or later
- npm: v8 or later
-
Clone the repository:
git clone https://github.com/tejastn10/hollow.git cd hollow
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Your Electron app should launch automatically in development mode.
For the best development experience, we recommend:
-
Development Mode:
npm run dev
-
Type Checking:
npm run typecheck
-
Linting:
npm run lint
-
Formatting:
npm run format
Hollow comes with pre-configured build scripts for all major platforms:
npm run build:win
npm run build:mac
npm run build:linux
npm run build
Build outputs will be available in the dist
directory.
hollow/
├── .husky/ # Git hooks configuration
│ ├── _/ # Husky internals
│ ├── commit-msg # Commit message validation hook
│ └── pre-commit # Pre-commit hook
├── build/ # Build-related files
│ ├── entitlements.mac.plist # macOS app entitlements
│ ├── icon.icns # macOS app icon
│ ├── icon.ico # Windows app icon
│ └── icon.png # Generic app icon
├── out/ # Build output directory
│ ├── main/ # Main process compiled files
│ └── preload/ # Preload scripts
├── resources/ # Resource files
│ └── icon.png # Application icon
├── src/ # Source code
├── .gitignore # Git ignore configuration
├── .commitlintrc.yml # Commitlint configuration
├── .nvmrc # Node version manager config
├── dev-app-update.yml # Auto-updater dev configuration
├── electron-builder.yml # Electron builder configuration
├── biome.json # Biome configuration
├── LICENSE.md # License file
├── package.json # Project dependencies and scripts
├── package-lock.json # Locked dependencies
├── README.md # Project documentation
├── tsconfig.json # Main TypeScript configuration
└── vite.config.ts # Vite configuration
To customize your application details, modify the following files:
package.json
: Update name, description, version, and authorelectron-builder.json
: Configure build options for different platforms
The project includes minimal styling to get you started. Feel free to integrate your preferred styling solution:
- CSS/SCSS Modules
- Styled Components
- Tailwind CSS
- Material UI or other component libraries
This project is licensed under the MIT License. See the LICENSE file for details.
- Built with Electron for cross-platform desktop applications
- Powered by Vite for lightning-fast development
- Strengthened with TypeScript for robust applications
- Made with ❤️ for developers who want to build desktop apps with web technologies