A native macOS menu bar app for managing Kubernetes port-forward connections with socat proxy support
[!IMPORTANT]
This project has been moved to port-killer
All features from this repository have been merged into port-killer. Please use the new repository for:
- Latest releases and updates
- Bug reports and feature requests
- Contributing
undefinedThis repository is now archived and no longer maintained.undefined
A native macOS menu bar application for managing Kubernetes port-forward connections with optional socat proxy support for multiple simultaneous connections.
Download the latest DMG from GitHub Releases:
PortForwarder-vX.X.X-arm64.dmgundefinedNote: The app is ad-hoc signed. On first launch, macOS Gatekeeper will show a warning. Right-click and select “Open” to bypass this. This only needs to be done once.
undefinedNote: Currently only Apple Silicon (M1/M2/M3/M4) Macs are supported.
# Clone the repository
git clone https://github.com/productdevbook/port-forwarder.git
cd port-forwarder
# Build the app bundle
./scripts/build-app.sh
# Copy to Applications
cp -r .build/release/PortForwarder.app /Applications/
# Launch
open /Applications/PortForwarder.app
The build script automatically:
.app bundleswift run
undefinedNote: Running with
swift runwon’t support notifications as macOS requires a signed.appbundle for notification permissions.
┌─────────┐ ┌─────────────────┐ ┌──────────────────────┐ ┌────────────────┐
│ App 1 │─┐ │ │ │ │ │ │
├─────────┤ │ │ socat proxy │ │ kubectl port-forward│ │ K8s Service │
│ App 2 │─┼──▶│ (optional) │────▶│ │────▶│ │
├─────────┤ │ │ localhost:5433 │ │ localhost:5434 │ │ port 5432 │
│ App 3 │─┘ │ │ │ │ │ │
└─────────┘ └─────────────────┘ └──────────────────────┘ └────────────────┘
kubectl port-forward only supports a single connection at a time. With socat proxy:
Settings are stored at:
~/Library/Application Support/PortForwarder/connections.json
# Debug build
swift build
# Release build
swift build -c release
# Open in Xcode
open Package.swift
Sources/
├── PortForwarderApp.swift # App entry point
├── Managers/ # Core business logic
│ ├── ConnectionManager.swift
│ ├── ProcessManager.swift
│ └── ...
├── Models/ # Data structures
│ └── ConnectionConfig.swift
└── Views/ # SwiftUI views
├── MenuBarView.swift
└── SettingsView.swift
Contributions are welcome! Please read our Contributing Guidelines before submitting a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.