Summary
PortKiller currently supports macOS only with a native Swift/SwiftUI implementation. To expand to Windows and Linux users, we're open to multiple approaches!
Note: macOS will continue to use the native Swift version.
Proposal: Multiple Teams! 🚀
Why limit ourselves? We're open to different implementations - both cross-platform frameworks and pure native solutions. Let the community decide which gains traction!
This approach allows:
- Contributors to work with their preferred stack
- Real-world comparison between approaches
- True native experience on each platform (if desired)
- Everything in one monorepo for easier management
Cross-Platform Teams
🦀 Team Tauri (Rust + Web)
Path: platforms/tauri/
| Stack |
|
| Backend |
Rust |
| Frontend |
React / Vue / Svelte |
| Framework |
Tauri v2 |
| Platforms |
Windows, Linux |
Pros: Smallest bundle (~10MB), memory safety, built-in auto-updater
Cons: Rust learning curve, webview depends on OS
🐹 Team Wails (Go + Web)
Path: platforms/wails/
| Stack |
|
| Backend |
Go |
| Frontend |
React / Vue / Svelte |
| Framework |
Wails v2 |
| Platforms |
Windows, Linux |
Pros: Go is easier, great for system ops, simple concurrency
Cons: Smaller ecosystem
Native Platform Teams
🪟 Team Windows (C# + WinUI)
Path: platforms/windows/
| Stack |
|
| Language |
C# |
| Framework |
WinUI 3 / WPF |
| Platform |
Windows only |
Pros: 100% native Windows look & feel, best Windows integration, .NET ecosystem
Cons: Windows only, requires .NET knowledge
🐧 Team Linux (Rust + GTK4)
Path: platforms/linux/
| Stack |
|
| Language |
Rust |
| Framework |
GTK4 (GNOME) |
| Platform |
Linux only |
Pros: True native Linux experience, integrates with GNOME, Rust safety
Cons: Linux only, GTK learning curve, KDE users may prefer Qt
Repository Structure
port-killer/
├── Sources/ # 🍎 macOS Swift app (existing)
├── platforms/
│ ├── tauri/ # 🦀 Cross-platform (Tauri)
│ ├── wails/ # 🐹 Cross-platform (Wails)
│ ├── windows/ # 🪟 Native Windows (C#/WinUI)
│ └── linux/ # 🐧 Native Linux (Rust/GTK4)
└── ...
Feature Parity Goals
All versions should implement:
Platform-Specific Commands
| Feature |
Windows |
Linux |
| Port scanning |
netstat -ano / Get-NetTCPConnection |
ss -tlnp / netstat -tlnp |
| Kill process |
taskkill /PID <pid> |
kill -15 <pid> / kill -9 <pid> |
| System tray |
✅ Native |
✅ (varies by DE) |
How to Contribute
- Comment below with which team you'd like to join:
- 🦀 Tauri (Rust + Web, cross-platform)
- 🐹 Wails (Go + Web, cross-platform)
- 🪟 Windows (C# + WinUI, native)
- 🐧 Linux (Rust + GTK4, native)
- Share your experience level with the respective stack
- Once we have enough interest, we'll start development
Current Teams
🦀 Team Tauri
| Contributor |
Role |
| Be the first! |
|
🐹 Team Wails
| Contributor |
Role |
| Be the first! |
|
🪟 Team Windows
| Contributor |
Role |
| Be the first! |
|
🐧 Team Linux
| Contributor |
Role |
| Be the first! |
|
Let's build this together! 💪
Summary
PortKiller currently supports macOS only with a native Swift/SwiftUI implementation. To expand to Windows and Linux users, we're open to multiple approaches!
Proposal: Multiple Teams! 🚀
Why limit ourselves? We're open to different implementations - both cross-platform frameworks and pure native solutions. Let the community decide which gains traction!
This approach allows:
Cross-Platform Teams
🦀 Team Tauri (Rust + Web)
Path:
platforms/tauri/Pros: Smallest bundle (~10MB), memory safety, built-in auto-updater
Cons: Rust learning curve, webview depends on OS
🐹 Team Wails (Go + Web)
Path:
platforms/wails/Pros: Go is easier, great for system ops, simple concurrency
Cons: Smaller ecosystem
Native Platform Teams
🪟 Team Windows (C# + WinUI)
Path:
platforms/windows/Pros: 100% native Windows look & feel, best Windows integration, .NET ecosystem
Cons: Windows only, requires .NET knowledge
🐧 Team Linux (Rust + GTK4)
Path:
platforms/linux/Pros: True native Linux experience, integrates with GNOME, Rust safety
Cons: Linux only, GTK learning curve, KDE users may prefer Qt
Repository Structure
Feature Parity Goals
All versions should implement:
Platform-Specific Commands
netstat -ano/Get-NetTCPConnectionss -tlnp/netstat -tlnptaskkill /PID <pid>kill -15 <pid>/kill -9 <pid>How to Contribute
Current Teams
🦀 Team Tauri
🐹 Team Wails
🪟 Team Windows
🐧 Team Linux
Let's build this together! 💪