Auto-sync: 2026-04-27 00:02
This commit is contained in:
@@ -1,81 +1,135 @@
|
||||
---
|
||||
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/<version>` 便于版本管理
|
||||
- 创建软链接:`ln -sfn /opt/frp/frp_0.65.0_darwin_arm64 /opt/frp/current` 简化启动命令
|
||||
- 日志独立存储:配置 StandardOutPath 和 StandardErrorPath 分离日志
|
||||
- 进程守护:使用 launchd KeepAlive=true 确保服务持续运行
|
||||
---
|
||||
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 服务器化运维、内网穿透、远程访问、SSH 安全隧道
|
||||
- **方法/机制**:通过 FRP(frpc)客户端连接远程 VPS(frps)建立反向隧道,结合 tmux/nohup/launchd 三种方式实现后台持久运行;通过 SSH 客户端配置简化远程访问
|
||||
- **结论/价值**:提供完整的 Mac Mini 服务器化运维指南,包含 macOS 特有障碍(Gatekeeper)的解决方案和 SSH 客户端优化配置
|
||||
|
||||
## Key Claims (用中文描述)
|
||||
- macOS 默认 `/opt` 目录需要手动创建并授权才能使用
|
||||
- macOS Gatekeeper 会阻止未签名程序运行,必须通过 `xattr -rd com.apple.quarantine .` 解除限制
|
||||
- launchd 是 macOS 推荐的开机自启服务管理方式,可通过 `launchctl` 管理生命周期
|
||||
- 软链接(symlink)策略可实现 FRP 版本无缝切换
|
||||
- SSH 客户端配置(`~/.ssh/config`)可简化远程访问命令,只需 `ssh macmini` 即可登录
|
||||
|
||||
## Key Quotes
|
||||
> "macOS 默认 `/opt` 需要手动创建" — 说明了 macOS 与 Linux 目录结构的差异,需手动初始化系统目录
|
||||
> "xattr -rd com.apple.quarantine ." — macOS 特有的安全限制解除命令,针对整个目录递归执行
|
||||
> "launchd(推荐开机自启)" — macOS 原生服务管理器,是进程持久化的推荐方案
|
||||
> "ssh macmini" — SSH 客户端配置后的简化登录命令,通过 `~/.ssh/config` 定义 Host 别名
|
||||
|
||||
## Key Concepts
|
||||
- [[内网穿透]]:通过反向隧道技术,使公网用户能够访问处于 NAT 或防火墙后的内网服务
|
||||
- [[frp]]:Fast Reverse Proxy,开源内网穿透工具,包含 frps(服务端)和 frpc(客户端)
|
||||
- [[TCP隧道]]:基于 TCP 协议的端口转发机制,将本地端口映射到远程服务器
|
||||
- [[launchd]]:macOS 原生服务管理器,用于管理系统级和用户级守护进程
|
||||
- [[SSH隧道]]:通过 SSH 协议建立的加密隧道,实现安全的远程端口转发
|
||||
|
||||
## 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 安全机制,阻止未签名应用运行
|
||||
- [[UFW防火墙]]:VPS 上的防火墙,需开放 FRP 映射端口
|
||||
|
||||
## Connections
|
||||
- [[Mac Mini M4]] ← runs_on ← [[frpc]]
|
||||
- [[VPS]] ← runs_on ← [[frps]]
|
||||
- [[frpc]] ← creates_tunnel ← [[frps]]
|
||||
- [[内网穿透]] ← enables ← [[远程SSH访问]]
|
||||
- [[launchd]] ← manages ← [[frpc]] 进程生命周期
|
||||
- [[Gatekeeper]] ← blocks ← [[frpc]] (需解除)
|
||||
- [[UFW防火墙]] ← controls_access ← [[SSH隧道]](需开放 remotePort 60026)
|
||||
|
||||
## 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),60026(实际案例端口)|
|
||||
|
||||
## 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/<version>` 便于版本管理
|
||||
- 创建软链接:`ln -sfn /opt/frp/frp_0.65.0_darwin_arm64 /opt/frp/current` 简化启动命令
|
||||
- 日志独立存储:配置 StandardOutPath 和 StandardErrorPath 分离日志
|
||||
- 进程守护:使用 launchd KeepAlive=true 确保服务持续运行
|
||||
|
||||
## SSH 远程访问案例(完整配置)
|
||||
|
||||
### 网络架构
|
||||
```
|
||||
本地 Mac Mini
|
||||
│ SSH 22
|
||||
│
|
||||
frpc 客户端
|
||||
│ FRP 隧道
|
||||
│
|
||||
远端 VPS (frps)
|
||||
│ 60026
|
||||
│
|
||||
公网 SSH 访问:ssh username@VPS_IP -p 60026
|
||||
```
|
||||
|
||||
### VPS 防火墙配置(UFW)
|
||||
```bash
|
||||
sudo ufw allow 60026
|
||||
sudo ufw status
|
||||
# 输出:60026/tcp ALLOW Anywhere
|
||||
```
|
||||
|
||||
### frpc.toml SSH 代理配置
|
||||
```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
|
||||
```
|
||||
|
||||
### SSH 客户端配置(~/.ssh/config)
|
||||
```ssh-config
|
||||
Host macmini
|
||||
HostName VPS_IP
|
||||
Port 60026
|
||||
User billy
|
||||
```
|
||||
|
||||
配置后可直接使用 `ssh macmini` 登录 Mac Mini,无需记忆 IP 和端口。
|
||||
|
||||
Reference in New Issue
Block a user