[GH-ISSUE #20] macOS Gatekeeper blocks unsigned binaries - documentation and signing suggestions #6

Closed
opened 2026-02-26 18:43:09 +03:00 by kerem · 4 comments
Owner

Originally created by @unclesp1d3r on GitHub (Aug 3, 2025).
Original GitHub issue: https://github.com/devnullvoid/pvetui/issues/20

Originally assigned to: @devnullvoid on GitHub.

Issue Description

When running the Proxmox TUI binary on macOS, users encounter a SIGKILL (exit code 137) due to macOS Gatekeeper's restrictions on unsigned binaries. This is caused by the com.apple.quarantine attribute applied to binaries downloaded from the internet.

Problem Details

  • Symptom: Binary is immediately killed with zsh: killed ./proxmox-tui-darwin-arm64
  • Cause: macOS Gatekeeper blocking unsigned binaries with quarantine attributes
  • Affected: All macOS users downloading pre-built binaries from GitHub Releases

Proposed Solutions

Code Sign the Binaries: Use an Apple Developer account to sign the macOS binaries during the release process.

  • Benefits: Eliminates security warnings, improves user trust, professional experience
  • Requirements: Apple Developer Program membership ($99/year)
  • Implementation: Add code signing to the GitHub Actions workflow

Optional Enhancement: Notarize the application with Apple for additional trust.

2. Documentation Solutions (Immediate)

Add troubleshooting instructions to the README or create a dedicated troubleshooting guide:

  ### macOS Gatekeeper Warning

  If you encounter a Gatekeeper warning when running the binary on macOS, you have several options:

  #### Option 1: Remove Quarantine Attribute
  xattr -d com.apple.quarantine ./proxmox-tui-darwin-arm64

  #### Option 2: Use Finder
  Right-click the binary in Finder → "Open" → Confirm "Open" in the dialog

  #### Option 3: Build from Source
  git clone --recurse-submodules https://github.com/devnullvoid/proxmox-tui.git
  cd proxmox-tui
  make install

3. Alternative Distribution Methods

  • Homebrew: Create a Homebrew formula (eliminates quarantine issues)
  • Go Install: Promote the go install method more prominently for macOS users

Implementation Suggestions

  1. Short-term: Add troubleshooting section to README
  2. Medium-term: Set up code signing in CI/CD pipeline
  3. Long-term: Consider Homebrew distribution

Benefits

  • Smoother experience for macOS users
  • Reduced support burden
  • Increased adoption by eliminating security barriers
  • More professional distribution

This issue affects user experience significantly and would be valuable to address for the growing macOS user base.

Originally created by @unclesp1d3r on GitHub (Aug 3, 2025). Original GitHub issue: https://github.com/devnullvoid/pvetui/issues/20 Originally assigned to: @devnullvoid on GitHub. ## Issue Description When running the Proxmox TUI binary on macOS, users encounter a SIGKILL (exit code 137) due to macOS Gatekeeper's restrictions on unsigned binaries. This is caused by the `com.apple.quarantine` attribute applied to binaries downloaded from the internet. ## Problem Details - **Symptom**: Binary is immediately killed with `zsh: killed ./proxmox-tui-darwin-arm64` - **Cause**: macOS Gatekeeper blocking unsigned binaries with quarantine attributes - **Affected**: All macOS users downloading pre-built binaries from GitHub Releases ## Proposed Solutions ### 1. Proper Solution (Recommended) **Code Sign the Binaries**: Use an Apple Developer account to sign the macOS binaries during the release process. - **Benefits**: Eliminates security warnings, improves user trust, professional experience - **Requirements**: Apple Developer Program membership ($99/year) - **Implementation**: Add code signing to the GitHub Actions workflow **Optional Enhancement**: Notarize the application with Apple for additional trust. ### 2. Documentation Solutions (Immediate) Add troubleshooting instructions to the README or create a dedicated troubleshooting guide: ```markdown ### macOS Gatekeeper Warning If you encounter a Gatekeeper warning when running the binary on macOS, you have several options: #### Option 1: Remove Quarantine Attribute xattr -d com.apple.quarantine ./proxmox-tui-darwin-arm64 #### Option 2: Use Finder Right-click the binary in Finder → "Open" → Confirm "Open" in the dialog #### Option 3: Build from Source git clone --recurse-submodules https://github.com/devnullvoid/proxmox-tui.git cd proxmox-tui make install ``` ### 3. Alternative Distribution Methods - **Homebrew**: Create a Homebrew formula (eliminates quarantine issues) - **Go Install**: Promote the `go install` method more prominently for macOS users ## Implementation Suggestions 1. **Short-term**: Add troubleshooting section to README 2. **Medium-term**: Set up code signing in CI/CD pipeline 3. **Long-term**: Consider Homebrew distribution ## Benefits - Smoother experience for macOS users - Reduced support burden - Increased adoption by eliminating security barriers - More professional distribution This issue affects user experience significantly and would be valuable to address for the growing macOS user base.
kerem 2026-02-26 18:43:09 +03:00
Author
Owner

@unclesp1d3r commented on GitHub (Aug 3, 2025):

Sorry, the markdown format got messed up. Those stupid codefences trip me up every time.

<!-- gh-comment-id:3148587164 --> @unclesp1d3r commented on GitHub (Aug 3, 2025): Sorry, the markdown format got messed up. Those stupid codefences trip me up every time.
Author
Owner

@unclesp1d3r commented on GitHub (Aug 3, 2025):

Just to clear things up, this is only about the binary releases you can download from the GitHub release section. If you compile it yourself, it works great!

<!-- gh-comment-id:3148591146 --> @unclesp1d3r commented on GitHub (Aug 3, 2025): Just to clear things up, this is only about the binary releases you can download from the GitHub release section. If you compile it yourself, it works great!
Author
Owner

@devnullvoid commented on GitHub (Aug 6, 2025):

thanks for the report! Unfortunately my macbook died a while back, so I haven't had the opportunity to test on macOS. I'll definitely add the documentation updates. Appreciate the feedback!

<!-- gh-comment-id:3157516956 --> @devnullvoid commented on GitHub (Aug 6, 2025): thanks for the report! Unfortunately my macbook died a while back, so I haven't had the opportunity to test on macOS. I'll definitely add the documentation updates. Appreciate the feedback!
Author
Owner

@unclesp1d3r commented on GitHub (Aug 6, 2025):

I'm always here to help and keep up the awesome work! I use a Mac as my main workstation at home, so I test every version you release on macOS since it's my go-to system.

<!-- gh-comment-id:3160243264 --> @unclesp1d3r commented on GitHub (Aug 6, 2025): I'm always here to help and keep up the awesome work! I use a Mac as my main workstation at home, so I test every version you release on macOS since it's my go-to system.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/pvetui#6
No description provided.