A powerful, cross-platform API client for REST, WebSocket, GraphQL, and Server-Sent Events. Built with Electron, React, TypeScript, and Tailwind CSS.
- 🚀 Multi-Protocol Support: REST, WebSocket, GraphQL, and SSE
- 📁 Collection Management: Organize requests into collections and folders
- 🌍 Environment Variables: Manage variables across different environments
- 🔐 Authentication: Support for Basic, Bearer, API Key, and OAuth2
- ☁️ Cloud Sync: Sync your data across devices (Pro feature)
- 🔒 Offline-First: Works without internet, syncs when online
- 🎨 Beautiful UI: Modern dark theme with customizable options
- 📥 Import/Export: Import from Postman, OpenAPI, and cURL
- 🖥️ Cross-Platform: Available for macOS, Windows, and Linux
- Framework: Electron 28+
- Frontend: React 18+ with TypeScript
- Styling: Tailwind CSS
- State Management: Zustand
- Local Database: better-sqlite3
- Cloud Database: Supabase (PostgreSQL)
- Authentication: Supabase Auth
- Payments: Stripe + CoinPayPortal
- Build Tool: Vite
- Testing: Vitest + Playwright
- Node.js 24+
- pnpm 8+
WireSniff uses external tools for advanced network traffic inspection. These are optional but required for the Network Inspector feature.
macOS:
brew install wiresharkUbuntu/Debian:
sudo apt update
sudo apt install tshark
# Allow non-root users to capture packets (optional)
sudo dpkg-reconfigure wireshark-common
sudo usermod -aG wireshark $USERFedora/RHEL:
sudo dnf install wireshark-cliWindows:
Download and install Wireshark from wireshark.org. Ensure tshark.exe is in your PATH.
macOS:
brew install mitmproxyUbuntu/Debian:
sudo apt install mitmproxy
# Or via pip for latest version:
pip install mitmproxyFedora/RHEL:
sudo dnf install mitmproxy
# Or via pip:
pip install mitmproxyWindows:
pip install mitmproxy
# Or download installer from https://mitmproxy.org/macOS:
brew install websocatUbuntu/Debian:
# Via cargo (Rust package manager)
cargo install websocat
# Or download binary from GitHub releasesFedora/RHEL:
cargo install websocatWindows: Download the binary from GitHub Releases and add to PATH.
# Check tshark
tshark --version
# Check mitmproxy
mitmproxy --version
# Check websocat
websocat --version- Clone the repository:
git clone https://github.com/wiresniff/wiresniff-desktop.git
cd wiresniff-desktop- Install dependencies:
pnpm install- Set up environment variables:
cp .env.example .envEdit .env with your Supabase and Stripe credentials.
- Start the development server:
pnpm dev| Command | Description |
|---|---|
pnpm dev |
Start development server with hot reload |
pnpm build |
Build for production |
pnpm preview |
Preview production build |
pnpm test |
Run unit tests |
pnpm test:e2e |
Run end-to-end tests |
pnpm lint |
Run ESLint |
pnpm format |
Format code with Prettier |
pnpm typecheck |
Run TypeScript type checking |
pnpm build:mac |
Build for macOS |
pnpm build:win |
Build for Windows |
pnpm build:linux |
Build for Linux |
wiresniff-desktop/
├── build/ # Build resources (icons, entitlements)
├── electron/ # Electron main process
│ ├── main/ # Main process code
│ └── preload/ # Preload scripts
├── src/ # React application source
│ ├── components/ # React components
│ │ ├── common/ # Shared components
│ │ ├── layout/ # Layout components
│ │ ├── request/ # Request builder components
│ │ └── response/ # Response viewer components
│ ├── pages/ # Page components
│ ├── providers/ # React context providers
│ ├── services/ # Business logic services
│ ├── stores/ # Zustand stores
│ ├── styles/ # Global styles
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Utility functions
├── plans/ # Architecture documentation
├── resources/ # Application resources
└── scripts/ # Build scripts
| Variable | Description |
|---|---|
VITE_SUPABASE_URL |
Supabase project URL |
VITE_SUPABASE_ANON_KEY |
Supabase anonymous key |
SUPABASE_SERVICE_ROLE_KEY |
Supabase service role key (server-side only) |
VITE_STRIPE_PUBLISHABLE_KEY |
Stripe publishable key |
STRIPE_SECRET_KEY |
Stripe secret key (server-side only) |
- Create a new Supabase project
- Run the database migrations in
supabase/migrations/ - Enable Google and GitHub OAuth providers
- Configure redirect URLs for OAuth
- Create a Stripe account
- Set up products and prices for subscription tiers
- Configure webhook endpoints
- ESLint for linting
- Prettier for formatting
- TypeScript strict mode enabled
- Unit Tests: Vitest with React Testing Library
- E2E Tests: Playwright
The application is built using Electron Builder with support for:
- macOS: DMG, ZIP (x64, arm64)
- Windows: NSIS installer, Portable (x64, arm64)
- Linux: AppImage, DEB, RPM (x64, arm64)
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -am 'Add my feature' - Push to the branch:
git push origin feature/my-feature - Submit a pull request
This project is proprietary software. All rights reserved.
- Documentation: https://wiresniff.com/docs
- Issues: GitHub Issues
- Email: support@wiresniff.com
Built with ❤️ by the WireSniff Team
