Skip to content

Add a one-command install, so the quarantine step is not the visitor's job - #48

Merged
ishanmalu merged 2 commits into
mainfrom
one-command-install
Sep 2, 2026
Merged

ishanmalu merged 2 commits into
mainfrom
one-command-install

Conversation

@ishanmalu

Copy link
Copy Markdown
Owner

Perch is signed but not notarized and will stay that way for now, so macOS quarantines every download and blocks the first launch. The instructions therefore ended by asking a stranger to paste an xattr command, which is where most people stop.

curl -fsSL https://ishanmalu.github.io/Perch/install.sh | bash

It reads the latest release, downloads the image, checks it against the published checksum and refuses to continue without one, installs it, clears the quarantine flag, and starts it. No sudo; falls back to ~/Applications when /Applications is not writable. Everything happens in a temp directory a trap cleans up, mount included.

Piping into a shell is a fair thing to be wary of, so the page and README both show how to read it first rather than pretending otherwise.

Run against the live 1.8.5 release before committing: installs, signature still valid, quarantine cleared, app running, no stray mount. Install tab switching verified — four tabs, one panel each.

…s job

Perch is signed but not notarized, and will stay that way for now, so
macOS quarantines every download and blocks the first launch. The
instructions therefore ended with asking a stranger to paste an xattr
command, which is where most people stop.

The script does what those instructions described: reads the latest
release, downloads the image, checks it against the published checksum
and refuses to continue without one, installs it, clears the quarantine
flag, and starts it. No sudo, and it falls back to ~/Applications if
/Applications is not writable. Everything happens in a temp directory the
trap cleans up, including the mount.

Piping into a shell is a real thing to be wary of, so the page and the
README both show how to read it first rather than pretending otherwise.

Run against the live 1.8.5 release before committing: installs, signature
still valid, quarantine cleared, app running, no mount left behind.
@ishanmalu
ishanmalu merged commit d814469 into main Sep 2, 2026
1 check passed
@ishanmalu
ishanmalu deleted the one-command-install branch September 2, 2026 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant