#mac-mini #frp #frpc #macos #gatekeeper
```table-of-contents
```
- **FRP版本**:0.65.0
- **CPU架构**:Apple Silicon(arm64)
- **安装路径**:`/opt/frp/frp_0.65.0_darwin_arm64`
- **下载地址**:GitHub Release
- **配置文件**:`frpc.toml`
- **包含 macOS Gatekeeper 处理**
此文档可以直接保存为 **README.md 或运维手册**。
---
## 一、环境信息
| 项目 | 内容 |
| ----- | ---------------------------------- |
| 系统 | macOS(Mac Mini M4) |
| 架构 | Apple Silicon (ARM64) |
| 软件 | FRP 0.65.0 |
| 安装目录 | `/opt/frp/frp_0.65.0_darwin_arm64` |
| 客户端程序 | `frpc` |
| 配置文件 | `frpc.toml` |
---
## 二、创建安装目录
macOS 默认 `/opt` 需要手动创建。
```bash
sudo mkdir -p /opt/frp
sudo chown -R $(whoami) /opt/frp
```
进入目录:
```bash
cd /opt/frp
```
---
## 三、下载 FRP
下载 **ARM64 版本**:
```bash
wget https://github.com/fatedier/frp/releases/download/v0.65.0/frp_0.65.0_darwin_arm64.tar.gz
```
如果没有 wget:
```bash
brew install wget
```
---
## 四、解压 FRP
```bash
tar -xzf frp_0.65.0_darwin_arm64.tar.gz
```
解压后目录结构:
```
/opt/frp
└── frp_0.65.0_darwin_arm64
├── frpc
├── frps
├── frpc.toml
├── frps.toml
└── LICENSE
```
进入目录:
```bash
cd /opt/frp/frp_0.65.0_darwin_arm64
```
---
## 五、解除 macOS Gatekeeper 限制
macOS 会阻止未签名程序运行。
需要删除 quarantine 属性:
```bash
xattr -rd com.apple.quarantine .
```
验证:
```bash
xattr frpc
```
如果没有输出说明解除成功。
---
## 六、修改 frpc.toml 配置
编辑配置:
```bash
nano /opt/frp/frp_0.65.0_darwin_arm64/frpc.toml
```
示例配置:
```toml
serverAddr = "192.227.222.142"
serverPort = 7000
auth.method = "token"
auth.token = "your_token_here"
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
```
参数说明:
|参数|说明|
|---|---|
|serverAddr|frps服务器地址|
|serverPort|frps监听端口|
|auth.token|认证token|
|localIP|本地服务地址|
|localPort|本地端口|
|remotePort|frps映射端口|
---
## 七、测试运行
进入目录:
```bash
cd /opt/frp/frp_0.65.0_darwin_arm64
```
启动客户端:
```bash
./frpc -c frpc.toml
```
成功日志示例:
```
login to server success
proxy added: ssh
start proxy success
```
---
## 八、后台运行方式
推荐三种方式。
---
### 方式一:tmux(推荐)
安装 tmux:
```bash
brew install tmux
```
创建会话:
```bash
tmux new -s frpc
```
启动程序:
```bash
cd /opt/frp/frp_0.65.0_darwin_arm64
./frpc -c frpc.toml
```
后台运行:
```
Ctrl + B
D
```
重新进入:
```bash
tmux attach -t frpc
```
查看会话:
```bash
tmux ls
```
---
### 方式二:nohup
后台启动:
```bash
cd /opt/frp/frp_0.65.0_darwin_arm64
nohup ./frpc -c frpc.toml > frpc.log 2>&1 &
```
查看进程:
```bash
ps aux | grep frpc
```
查看日志:
```bash
tail -f frpc.log
```
停止:
```bash
pkill frpc
```
---
### 方式三:launchd(推荐开机自启)
创建配置文件:
```bash
nano ~/Library/LaunchAgents/com.frpc.client.plist
```
配置内容:
```xml
Label
com.frpc.client
ProgramArguments
/opt/frp/frp_0.65.0_darwin_arm64/frpc
-c
/opt/frp/frp_0.65.0_darwin_arm64/frpc.toml
RunAtLoad
KeepAlive
StandardOutPath
/opt/frp/frp_0.65.0_darwin_arm64/frpc.log
StandardErrorPath
/opt/frp/frp_0.65.0_darwin_arm64/frpc.error.log
```
加载服务:
```bash
launchctl load ~/Library/LaunchAgents/com.frpc.client.plist
```
启动:
```bash
launchctl start com.frpc.client
```
停止:
```bash
launchctl stop com.frpc.client
```
卸载:
```bash
launchctl unload ~/Library/LaunchAgents/com.frpc.client.plist
```
---
## 九、常用维护命令
### 查看 frpc 进程
```bash
ps aux | grep frpc
```
---
### 查看日志
```bash
tail -f /opt/frp/frp_0.65.0_darwin_arm64/frpc.log
```
---
### 重启 frpc
```bash
pkill frpc
cd /opt/frp/frp_0.65.0_darwin_arm64
./frpc -c frpc.toml
```
---
## 十、升级 FRP
升级步骤:
```
停止 frpc
↓
下载新版本
↓
解压
↓
替换目录
↓
重新运行
```
示例:
```bash
pkill frpc
cd /opt/frp
wget 新版本
tar -xzf
```
---
## 十一、最终目录结构
```
/opt/frp
└── frp_0.65.0_darwin_arm64
├── frpc
├── frps
├── frpc.toml
├── frpc.log
└── frpc.error.log
```
---
## 十二、快速启动命令
日常手动运行:
```bash
cd /opt/frp/frp_0.65.0_darwin_arm64
xattr -rd com.apple.quarantine .
./frpc -c frpc.toml
```
---
## 十三、生产环境最佳实践
建议:
### 1 统一路径
```
/opt/frp/
```
方便版本切换。
例如:
```
/opt/frp/frp_0.65.0_darwin_arm64
/opt/frp/frp_0.66.0_darwin_arm64
```
---
### 2 创建软链接
```
/opt/frp/current
```
示例:
```bash
ln -sfn /opt/frp/frp_0.65.0_darwin_arm64 /opt/frp/current
```
启动时:
```
/opt/frp/current/frpc
```
升级时只需要切换 symlink。
---
### 3 日志独立
```
/opt/frp/logs
```
更利于监控。
---
如果你愿意,我可以再帮你整理一份 **Mac Mini 服务器化运维方案(FRP + OpenClaw + n8n + Clash)统一进程管理架构**,解决几个你现在已经遇到的问题:
- frp
- openclaw
- proxychains
- tmux
- telegram bot
- n8n
统一用 **macOS launchd + 进程依赖管理** 管理,这样你的 **Mac Mini 就可以像一台真正的 Linux server 一样稳定运行**。
---
## 十四、实际案例:通过 FRP 远程 SSH 登录 Mac Mini
本案例用于 **通过 VPS 作为中转服务器,从公网 SSH 访问 Mac Mini**。
架构如下:
本地 Mac Mini
│
│ SSH 22
│
frpc 客户端
│
│ FRP 隧道
│
远端 VPS (frps)
│
│ 60026
│
公网 SSH 访问
公网访问方式:
ssh 用户名@VPS_IP -p 60026
---
### 1 VPS 服务器开放防火墙端口
如果 VPS 使用 **UFW 防火墙**,需要允许 FRP 映射端口。
执行:
sudo ufw allow 60026
检查防火墙状态:
sudo ufw status
输出示例:
60026/tcp ALLOW Anywhere
说明端口已开放。
---
### 2 修改 frpc.toml 配置
编辑配置文件:
nano /opt/frp/frp_0.65.0_darwin_arm64/frpc.toml
增加如下代理配置:
[[proxies]]
name = "macmini-ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 60026
配置说明:
|参数|说明|
|---|---|
|name|代理名称|
|type|TCP转发|
|localIP|本地 SSH 地址|
|localPort|本地 SSH 端口|
|remotePort|VPS 上映射端口|
---
### 3 完整 frpc.toml 示例
示例:
serverAddr = "VPS_IP"
serverPort = 7000
auth.method = "token"
auth.token = "your_token"
[[proxies]]
name = "macmini-ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 60026
---
### 4 重启 frpc
重新启动客户端:
pkill frpc
cd /opt/frp/frp_0.65.0_darwin_arm64
./frpc -c frpc.toml
成功日志示例:
proxy added: macmini-ssh
start proxy success
---
### 5 测试远程 SSH
在任意公网机器执行:
ssh username@VPS_IP -p 60026
示例:
ssh billy@192.227.xxx.xxx -p 60026
成功后即可登录 Mac Mini。
---
### 6 推荐 SSH 使用方式
为了方便使用,可以在 **客户端 ~/.ssh/config** 添加配置:
nano ~/.ssh/config
增加:
Host macmini
HostName VPS_IP
Port 60026
User billy
之后直接:
ssh macmini
即可登录 Mac Mini。