macOS Client
The published v2.2.1 client supports Apple Silicon (arm64) on macOS 11 Big Sur or newer. Intel Macs are not supported in this stable release. The macOS client uses the same enrollment protocol and pinned FRP 0.71.0 as the other supported clients.
Requirements
- Apple Silicon Mac (
arm64)
- macOS 11 or newer
- administrator access for
sudo
launchd, curl, openssl, python3, tar, and shasum
If required Command Line Tools are missing, install them with:
FRP Auto Deploy does not enable Remote Login, create macOS users, change the macOS firewall, or install Homebrew packages. If you publish SSH, the SSH service and account must already work locally.
Enroll the Mac
On the FRP Auto Deploy server, create a Zero-Touch enrollment:
Then choose:
Send the generated command privately to the Mac and run exactly what the stable server prints. The shared bootstrap detects Darwin/Apple Silicon, downloads the pinned macOS frpc build, verifies its SHA-256, enrolls the client over verified HTTPS, and installs the launchd runtime.
For an SSH-oriented profile, make sure the SSH user specified by the administrator already exists on the Mac and that Remote Login is enabled if SSH access is required.
Verify the client
Direct launchd inspection:
The client state lives under:
The LaunchDaemon is:
Reboot behavior
The stable macOS client uses a system LaunchDaemon, so the FRP client is designed to return after reboot without requiring an interactive login. v2.2.1 release qualification included macOS lifecycle and reboot/autostart coverage.
Services
A Mac can publish its own services or a service on another LAN host that the Mac can reach. The same service semantics apply as on Linux: SSH, HTTP, HTTPS passthrough, and custom TCP receive persistent public service-port reservations.
See Services for service lifecycle and target examples.
Uninstall and release
Uninstall removes the local client software and LaunchDaemon. It intentionally does not return server-side port reservations automatically.
When the machine is permanently retired, release it separately on the server:
Uninstall and release are different operations. Do not release a client if you only intend to reinstall or temporarily stop it.
See Supported Platforms for the exact stable validation claim.