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