--- title: "Mac Mini 安装 FRP 0.65.0(ARM64)操作笔记" type: source tags: [frp, frpc, gatekeeper, mac-mini, macos, arm64] date: 2026-04-14 --- ## Source File - [[raw/Home Office/Mac Mini 安装 FRP 0.65.0(ARM64)操作笔记.md]] ## Summary (用中文描述) - **核心主题**:在 Apple Silicon(ARM64)Mac Mini M4 上安装配置 FRP 0.65.0 内网穿透客户端,实现通过公网 VPS 远程访问本地服务 - **问题域**:macOS 服务器化运维、内网穿透、远程访问 - **方法/机制**:通过 FRP(frpc)客户端连接远程 VPS(frps)建立反向隧道,结合 tmux/nohup/launchd 三种方式实现后台持久运行 - **结论/价值**:提供完整的 Mac Mini 服务器化运维指南,包含 macOS 特有障碍(Gatekeeper)的解决方案 ## Key Claims (用中文描述) - macOS 默认 `/opt` 目录需要手动创建并授权才能使用 - macOS Gatekeeper 会阻止未签名程序运行,必须通过 `xattr -rd com.apple.quarantine .` 解除限制 - launchd 是 macOS 推荐的开机自启服务管理方式,可通过 `launchctl` 管理生命周期 - 软链接(symlink)策略可实现 FRP 版本无缝切换 ## Key Quotes > "macOS 默认 `/opt` 需要手动创建" — 说明了 macOS 与 Linux 目录结构的差异,需手动初始化系统目录 > "xattr -rd com.apple.quarantine ." — macOS 特有的安全限制解除命令,针对整个目录递归执行 > "launchd(推荐开机自启)" — macOS 原生服务管理器,是进程持久化的推荐方案 ## Key Concepts - [[内网穿透]]:通过反向隧道技术,使公网用户能够访问处于 NAT 或防火墙后的内网服务 - [[frp]]:Fast Reverse Proxy,开源内网穿透工具,包含 frps(服务端)和 frpc(客户端) - [[TCP隧道]]:基于 TCP 协议的端口转发机制,将本地端口映射到远程服务器 - [[launchd]]:macOS 原生服务管理器,用于管理系统级和用户级守护进程 ## Key Entities - [[Mac Mini M4]]:Apple Silicon Mac Mini,作为家庭服务器运行 FRP 客户端 - [[VPS]]:公网虚拟专用服务器,运行 frps 作为内网穿透的中转站(IP: 192.227.222.142) - [[frpc]]:FRP 客户端程序,运行在 Mac Mini 上,建立与 frps 的连接 - [[frps]]:FRP 服务端程序,运行在 VPS 上,接收公网请求并转发到 frpc - [[Gatekeeper]]:macOS 安全机制,阻止未签名应用运行 ## Connections - [[Mac Mini M4]] ← runs_on ← [[frpc]] - [[VPS]] ← runs_on ← [[frps]] - [[frpc]] ← creates_tunnel ← [[frps]] - [[内网穿透]] ← enables ← [[远程SSH访问]] - [[launchd]] ← manages ← [[frpc]] 进程生命周期 - [[Gatekeeper]] ← blocks ← [[frpc]] (需解除) ## Contradictions - 无已知冲突 ## Environment Details | 项目 | 内容 | |------|------| | 系统 | macOS(Mac Mini M4)| | 架构 | Apple Silicon (ARM64) | | 软件 | FRP 0.65.0 | | 安装目录 | `/opt/frp/frp_0.65.0_darwin_arm64` | | 客户端程序 | `frpc` | | 配置文件 | `frpc.toml` | | frps服务器 | 192.227.222.142:7000 | | frps映射端口 | 6000(SSH)| ## Installation Steps 1. 创建安装目录:`sudo mkdir -p /opt/frp && sudo chown -R $(whoami) /opt/frp` 2. 下载 ARM64 版本:`wget https://github.com/fatedier/frp/releases/download/v0.65.0/frp_0.65.0_darwin_arm64.tar.gz` 3. 解压:`tar -xzf frp_0.65.0_darwin_arm64.tar.gz` 4. 解除 Gatekeeper:`xattr -rd com.apple.quarantine .` 5. 配置 frpc.toml:设置 serverAddr、serverPort、auth.token 和 proxies 6. 启动 frpc:`./frpc -c frpc.toml` ## Background Running Methods 1. **tmux**(推荐开发环境):创建持久会话,断开 SSH 后仍保持运行 2. **nohup**(简单后台):重定向输出到日志文件,适合简单部署 3. **launchd**(生产环境):系统级服务,开机自启,推荐使用 plist 配置 ## Best Practices - 统一安装路径:`/opt/frp/` 便于版本管理 - 创建软链接:`ln -sfn /opt/frp/frp_0.65.0_darwin_arm64 /opt/frp/current` 简化启动命令 - 日志独立存储:配置 StandardOutPath 和 StandardErrorPath 分离日志 - 进程守护:使用 launchd KeepAlive=true 确保服务持续运行