That's a common approach for developer tools. Here's how it works:
bash# Download curl -fsSL https://github.com/edgeleap/omni-app/releases/download/v0.1.0/omni-app-macos-arm64.tar.gz | tar -xz # Remove quarantine flag (bypasses Gatekeeper) xattr -cr omni-app.app # Move to Applications mv omni-app.app /Applications/
bashcurl -fsSL https://omni.edgeleap.io/install.sh | bash
install.sh:
bash#!/bin/bash set -e # Detect architecture ARCH=$(uname -m) case $ARCH in arm64) TARGET="aarch64-apple-darwin" ;; x86_64) TARGET="x86_64-apple-darwin" ;; *) echo "Unsupported: $ARCH"; exit 1 ;; esac VERSION="v0.1.0" URL="https://github.com/edgeleap/omni-app/releases/download/${VERSION}/omni-app-${TARGET}.tar.gz" echo "Downloading omni-app for $ARCH..." curl -fsSL "$URL" | tar -xz -C /tmp echo "Installing..." xattr -cr /tmp/omni-app.app mv /tmp/omni-app.app /Applications/ echo "✓ Installed to /Applications/omni-app.app"
macOS Security Layer | Status
-- | --
Gatekeeper (quarantine) | ✅ Bypassed with xattr -cr
Notarization check | ✅ Bypassed (no quarantine = no check)
Code signature | ⚠️ App still works unsigned
SIP | ✅ Not affected
Since you're using curl with architecture detection, skip the universal binary:
bash# Build both separately (smaller downloads) tauri build --target aarch64-apple-darwin # ~10 MB tauri build --target x86_64-apple-darwin # ~10 MB # vs Universal tauri build --target universal-apple-darwin # ~20 MB
Users get a smaller download since the script auto-detects their architecture.
Want me to create the install script and add it to the repo?
Yes, correct. With
xattr -cr, users can double-click and run immediately — no warnings, no System Settings detour.Why It Works
Actually, with your
curlapproach, you get a double bypass:[eclecticlight]curlnever sets the quarantine flag in the first place. Thexattr -crin your install script is just a safety net in case someone downloads via browser first, then runs the script.[unit42.paloaltonetworks]User Experience
After this completes:
✅ Double-click → App opens immediately
✅ No "unidentified developer" warning
✅ No "Open Anyway" button needed
✅ No System Settings → Privacy & Security trip
macOS Sequoia Note
Apple made Gatekeeper stricter in Sequoia (removed right-click → Open bypass for unsigned apps). But
xattr -d com.apple.quarantinestill works and is the recommended workaround.[discussions.apple]Your Install Script (Final)
Users run one command, app works instantly.
Why It Works
Actually, with your
curlapproach, you get a double bypass: [eclecticlight](https://eclecticlight.co/2019/05/27/is-a-mac-os-x-gatekeeper-bypass-what-it-says/)curlcurl+xattr -crcurlnever sets the quarantine flag in the first place. Thexattr -crin your install script is just a safety net in case someone downloads via browser first, then runs the script. [unit42.paloaltonetworks](https://unit42.paloaltonetworks.com/gatekeeper-bypass-macos/)User Experience
curl -fsSL https://omni.edgeleap.io/install.sh | bashAfter this completes:
macOS Sequoia Note
Apple made Gatekeeper stricter in Sequoia (removed right-click → Open bypass for unsigned apps). But
xattr -d com.apple.quarantinestill works and is the recommended workaround. [discussions.apple](https://discussions.apple.com/thread/255759797)Your Install Script (Final)
Users run one command, app works instantly.