Skip to content

v1.2.9

Choose a tag to compare

@github-actions github-actions released this 28 May 16:51
v1.2.9 — Zero-touch first-run UX for fresh Macs

Consolidates all macOS root operations into a single GUI password prompt
at the start of install (down from 6 scattered prompts in v1.2.8) and
auto-installs Xcode Command Line Tools + Homebrew when missing.

User-visible flow on a brand-new Mac:

  1. Apple "Install Command Line Tools?" dialog (no password, ~5 min CLT
     install if not already present)
  2. One macOS password prompt for elevatedSetup() — installs Homebrew,
     pre-chowns brew dirs, writes consolidated /etc/sudoers.d/elastos
  3. ~10 minutes of unattended background install (ffmpeg, wireguard,
     amneziawg, sing-box, cmake, PC2 clone + npm install)
  4. PC2 running. Mint videos. Use VPN. Everything works.

Returning users (Homebrew already installed, sudoers already configured)
see zero prompts on the upgrade path.

Implementation notes:
  - Uses Homebrew's officially supported NONINTERACTIVE=1 install mode
  - Drops privileges via sudo -u $USER inside the elevated context to
    satisfy Homebrew's "no root" check
  - sudoers entry validated with visudo -c before trust; deleted and
    install aborts on syntax failure (no risk of breaking user's sudo)
  - All operations idempotent — re-running after partial failure is safe
  - Migrates away from legacy /etc/sudoers.d/{wireguard,amneziawg} files
  - Linux install flow unchanged (apt-get's per-call sudo is fine)

Coupled to pc2.net release/2026-05-28-ddrm-hardening — recommended
launcher for any user installing PC2 fresh on macOS.