Mac 上安装并使用 frpc(FRP 内网穿透客户端)指南

一、先装好 Homebrew(macOS 的包管理器)

  1. 打开终端(Terminal),先装命令行开发工具

    bash 复制代码
    xcode-select --install

    弹窗点"安装",等待 3~5 分钟。

  2. 一键安装 Homebrew

    bash 复制代码
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    • Apple Silicon (M1/M2/M3) 装完会提示把路径写入 ~/.zprofile,照做即可:

      bash 复制代码
      echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
      source ~/.zprofile
    • Intel 芯片则用 /usr/local 路径,Homebrew 会提示,同样追加到 ~/.zshrc~/.bash_profile

  3. 验证

    bash 复制代码
    brew --version  # 能看到版本号就 OK

若国内网络慢,可换清华/阿里镜像,详见 。


二、安装 frpc

bash 复制代码
brew install frpc

装完验证:

bash 复制代码
frpc -v      # 输出版本号即成功

三、准备配置文件 frpc.ini

  1. 找个目录放配置,比如用户主目录:

    bash 复制代码
    mkdir -p ~/frp && cd ~/frp
  2. 新建并编辑文件(用自带的 nano,或者你喜欢的编辑器)

    bash 复制代码
    nano frpc.ini
  3. 粘贴下面示例,按需改掉 IP、端口、token、本地端口:

    ini 复制代码
    [common]
    server_addr = 123.123.123.123   # 你的公网服务器 IP
    server_port = 7000              # frps 的监听端口(默认 7000)
    token = my_secure_token         # 与服务端 token 保持一致
    
    [mac-ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22                 # 把本机 SSH 暴露出去
    remote_port = 6000              # 公网服务器上开放 6000 端口

    如果你要暴露本地 Web 开发服务器,把 type = tcplocal_port = 3000 改一下即可。


四、启动 frpc

bash 复制代码
frpc -c ~/frp/frpc.ini

看到日志出现 login to server success 就说明连上了。

此时在任意地方执行:

bash 复制代码
ssh -p 6000 <你的用户名>@123.123.123.123

就能穿透到公司/家里的 Mac。


五、后台常驻(可选)

方法 A:用 brew services(最简单)

bash 复制代码
brew services start frpc

会自动把 ~/frp/frpc.ini 作为默认配置,随系统启动。

方法 B:自定义 LaunchAgent(灵活)

  1. 新建 plist 文件

    bash 复制代码
    nano ~/Library/LaunchAgents/com.user.frpc.plist
  2. 写入内容(路径改为你自己的)

    xml 复制代码
    <?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.user.frpc</string>
      <key>ProgramArguments</key>
      <array>
        <string>/opt/homebrew/bin/frpc</string>
        <string>-c</string>
        <string>/Users/你的用户名/frp/frpc.ini</string>
      </array>
      <key>RunAtLoad</key><true/>
      <key>KeepAlive</key><true/>
    </dict>
    </plist>
  3. 加载并启动

    bash 复制代码
    launchctl load ~/Library/LaunchAgents/com.user.frpc.plist

六、常见问题 FAQ

症状 排查要点
启动提示 command not found 确认 brew install frpc 成功,且 PATH 正确。
连接失败 dial tcp ... i/o timeout 检查本地网络是否能到 server_addr:server_port,防火墙、安全组是否放行。
服务端提示 authorization failed token 不一致或忘记写。
想用域名而不是 IP server_addr 直接填域名即可,如 frp.example.com
想穿透多个端口 frpc.ini 里继续加 [xxx] 区块即可。

七、一句话总结

在 Mac 上:

  1. 先装 Homebrew(一次性)
  2. brew install frpc
  3. 写好 frpc.ini
  4. frpc -c frpc.inibrew services start frpc

就能把内网服务安全地暴露到公网。

相关推荐
Victor3561 天前
Redis(158)Redis的主从同步问题如何解决?
后端
Victor3561 天前
Redis(159)Redis的集群问题如何解决?
后端
Macbethad1 天前
EtherCAT从站程序技术方案:基于WPF的高性能实现
网络协议·wpf
Macbethad1 天前
基于WPF的485主站系统技术方案
网络协议·wpf·信息与通信
后端小张1 天前
【JAVA进阶】Spring Boot 核心知识点之自动配置:原理与实战
java·开发语言·spring boot·后端·spring·spring cloud·自动配置
X***C8621 天前
SpringBoot:几种常用的接口日期格式化方法
java·spring boot·后端
i***t9191 天前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
o***74171 天前
基于SpringBoot的DeepSeek-demo 深度求索-demo 支持流式输出、历史记录
spring boot·后端·lua
9***J6281 天前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端
S***q1921 天前
Rust在系统工具中的内存安全给代码上了三道保险锁。但正是这种“编译期的严苛”,换来了运行时的安心。比如这段代码:
开发语言·后端·rust