A sleek, fast, and secure desktop port monitoring application built with Tauri, React, and TypeScript.
Download Latest Release | An Opensource Project of t21.dev
- Real-time Port Monitoring - Monitor common developer ports and all system ports in real-time
- Customizable Port List - Configure which ports to scan at startup via settings
- Process Management - Kill processes occupying ports (requires admin privileges)
- Smart Filtering - Filter ports by status (Free, Occupied, System) and search by port number or process name
- Show All Ports - Toggle between common ports and all running ports
- Dark/Light Mode - Beautiful dark and light themes with seamless switching
- Admin Privilege Detection - Automatically detects and warns when running without admin rights
- Cross-Platform - Works on Windows, macOS, and Linux
- Fast & Lightweight - Built with Tauri for minimal resource usage
- React 19 - UI framework
- TypeScript - Type safety
- Tailwind CSS v3 - Styling
- shadcn/ui - UI components
- TanStack Query - Data fetching and caching
- Zustand - State management
- Lucide React - Icons
- Rust - System-level operations
- Tauri 2.0 - Desktop framework
- sysinfo - Process monitoring
- Platform-specific APIs
- Windows: IPHLPAPI
- Linux: /proc filesystem
- macOS: lsof
- Node.js 18+
- Rust 1.70+
- npm or yarn
- Clone the repository
git clone https://github.com/yourusername/porter-app.git
cd porter-app- Install dependencies
npm install- Run in development mode
npm run tauri:devnpm run tauri:buildThe built application will be available in src-tauri/target/release/bundle/
-
Launch the application
- For full functionality, run as Administrator (Windows) or with sudo (Linux/macOS)
-
View Ports
- Common developer ports are displayed automatically on startup
- Green = Free, Red = Occupied, Yellow = System
-
Search Ports
- Use the search bar to find specific ports by number or process name
-
Filter by Status
- Click the "Filter Status" dropdown to show/hide Free, Occupied, or System ports
-
Kill Processes
- Click "Kill Process" on any occupied port to terminate the process
- Requires administrator privileges
-
Customize Ports
- Click the settings icon in the header
- Add or remove ports to scan at startup
- Changes are saved automatically
-
Toggle Views
- Click "Show All" to view all running ports on the system
- Click "Show Common" to return to your configured port list
Porter monitors the following common developer ports by default:
- 3000-3001 - React, Next.js
- 4200 - Angular
- 5000 - Flask
- 5173 - Vite
- 8000 - Django, HTTP servers
- 8080 - Alternative HTTP
- 9000 - PHP-FPM
- 80, 443 - HTTP/HTTPS
- 5432 - PostgreSQL
- 3306 - MySQL
- 6379 - Redis
- 27017 - MongoDB
You can customize the port list via the settings icon in the app header. Your custom configuration is saved in browser localStorage.
porter-app/
โโโ src/ # React frontend
โ โโโ components/ # React components
โ โ โโโ dashboard/ # Dashboard-specific components
โ โ โโโ ui/ # shadcn/ui components
โ โโโ hooks/ # Custom React hooks
โ โโโ lib/ # Utility functions
โ โโโ store/ # Zustand stores
โ โโโ types/ # TypeScript types
โ โโโ App.tsx # Main app component
โโโ src-tauri/ # Tauri backend
โ โโโ src/
โ โ โโโ commands/ # Tauri IPC commands
โ โ โโโ models/ # Data models
โ โ โโโ platform/ # Platform-specific code
โ โ โโโ services/ # Business logic
โ โโโ Cargo.toml # Rust dependencies
โ โโโ tauri.conf.json # Tauri configuration
โโโ docs/ # Documentation
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue on GitHub or contact us at support@t21.dev
Made with โค๏ธ by the t21.dev team
