Skip to content

feat: Windows & Linux support - Tauri 🦀 | Wails 🐹 | Native Windows 🪟 | Native Linux 🐧 #49

@productdevbook

Description

@productdevbook

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:

  • Port scanning (list all listening ports)
  • Process information (PID, name, command)
  • Kill process (graceful + force)
  • System tray integration
  • Favorites and watched ports
  • Auto-refresh
  • Keyboard shortcuts
  • Auto-updates
  • Dark/Light theme

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

  1. 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)
  2. Share your experience level with the respective stack
  3. 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! 💪

Metadata

Metadata

Assignees

No one assigned

    Labels

    P4 - BacklogIdeas for future considerationenhancementNew feature or requestfeedbackUser feedback and suggestionshelp wantedExtra attention neededplatformPlatform-specific issuessize: largeLarge effort (> 2 days)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions