8.7 KiB
title, source, author, published, created, description, tags
| title | source | author | published | created | description | tags | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| shenwei |
|
#mac-mini #frp #frpc #macos #gatekeeper
- 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 需要手动创建。
sudo mkdir -p /opt/frp
sudo chown -R $(whoami) /opt/frp
进入目录:
cd /opt/frp
三、下载 FRP
下载 ARM64 版本:
wget https://github.com/fatedier/frp/releases/download/v0.65.0/frp_0.65.0_darwin_arm64.tar.gz
如果没有 wget:
brew install wget
四、解压 FRP
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
进入目录:
cd /opt/frp/frp_0.65.0_darwin_arm64
五、解除 macOS Gatekeeper 限制
macOS 会阻止未签名程序运行。
需要删除 quarantine 属性:
xattr -rd com.apple.quarantine .
验证:
xattr frpc
如果没有输出说明解除成功。
六、修改 frpc.toml 配置
编辑配置:
nano /opt/frp/frp_0.65.0_darwin_arm64/frpc.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映射端口 |
七、测试运行
进入目录:
cd /opt/frp/frp_0.65.0_darwin_arm64
启动客户端:
./frpc -c frpc.toml
成功日志示例:
login to server success
proxy added: ssh
start proxy success
八、后台运行方式
推荐三种方式。
方式一:tmux(推荐)
安装 tmux:
brew install tmux
创建会话:
tmux new -s frpc
启动程序:
cd /opt/frp/frp_0.65.0_darwin_arm64
./frpc -c frpc.toml
后台运行:
Ctrl + B
D
重新进入:
tmux attach -t frpc
查看会话:
tmux ls
方式二:nohup
后台启动:
cd /opt/frp/frp_0.65.0_darwin_arm64
nohup ./frpc -c frpc.toml > frpc.log 2>&1 &
查看进程:
ps aux | grep frpc
查看日志:
tail -f frpc.log
停止:
pkill frpc
方式三:launchd(推荐开机自启)
创建配置文件:
nano ~/Library/LaunchAgents/com.frpc.client.plist
配置内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.frpc.client</string>
<key>ProgramArguments</key>
<array>
<string>/opt/frp/frp_0.65.0_darwin_arm64/frpc</string>
<string>-c</string>
<string>/opt/frp/frp_0.65.0_darwin_arm64/frpc.toml</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/opt/frp/frp_0.65.0_darwin_arm64/frpc.log</string>
<key>StandardErrorPath</key>
<string>/opt/frp/frp_0.65.0_darwin_arm64/frpc.error.log</string>
</dict>
</plist>
加载服务:
launchctl load ~/Library/LaunchAgents/com.frpc.client.plist
启动:
launchctl start com.frpc.client
停止:
launchctl stop com.frpc.client
卸载:
launchctl unload ~/Library/LaunchAgents/com.frpc.client.plist
九、常用维护命令
查看 frpc 进程
ps aux | grep frpc
查看日志
tail -f /opt/frp/frp_0.65.0_darwin_arm64/frpc.log
重启 frpc
pkill frpc
cd /opt/frp/frp_0.65.0_darwin_arm64
./frpc -c frpc.toml
十、升级 FRP
升级步骤:
停止 frpc
↓
下载新版本
↓
解压
↓
替换目录
↓
重新运行
示例:
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
十二、快速启动命令
日常手动运行:
cd /opt/frp/frp_0.65.0_darwin_arm64
xattr -rd com.apple.quarantine .
./frpc -c frpc.toml
十三、生产环境最佳实践
建议:
1 统一路径
/opt/frp/<version>
方便版本切换。
例如:
/opt/frp/frp_0.65.0_darwin_arm64
/opt/frp/frp_0.66.0_darwin_arm64
2 创建软链接
/opt/frp/current
示例:
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。