> ## Documentation Index
> Fetch the complete documentation index at: https://frp.xdr.ooo/llms.txt
> Use this file to discover all available pages before exploring further.

# macOS Client

> Enroll and operate an Apple Silicon macOS client with the v2.2.1 stable workflow.

# 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:

```bash theme={null}
xcode-select --install
```

<Note>
  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.
</Note>

## Enroll the Mac

On the FRP Auto Deploy server, create a Zero-Touch enrollment:

```bash theme={null}
sudo frpctl
```

Then choose:

```text theme={null}
create zero-touch
```

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

```bash theme={null}
sudo frpctl show status
sudo frpctl show services
sudo frpctl doctor
```

Direct launchd inspection:

```bash theme={null}
sudo launchctl print system/com.datarelay.frp-auto-deploy.frpc
```

The client state lives under:

```text theme={null}
/Library/Application Support/frp-auto-deploy
```

The LaunchDaemon is:

```text theme={null}
/Library/LaunchDaemons/com.datarelay.frp-auto-deploy.frpc.plist
```

## 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](/guides/services) for service lifecycle and target examples.

## Uninstall and release

```bash theme={null}
sudo frpctl uninstall
```

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:

```bash theme={null}
sudo frpctl release client <CLIENT-ID>
```

<Warning>
  Uninstall and release are different operations. Do not release a client if you only intend to reinstall or temporarily stop it.
</Warning>

See [Supported Platforms](/reference/platforms) for the exact stable validation claim.
