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

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

相关推荐
Miss_Chenzr4 小时前
Springboot文化艺术发展有限公司4rl42(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
web Rookie4 小时前
一文分清 TCP、UDP、HTTP:网络协议核心区别
网络协议·tcp/ip·http·udp
Alex_81D4 小时前
Spring Data JPA以及JPQL等特性详细使用教程
java·数据库·后端
IT_陈寒5 小时前
JavaScript 性能优化实战:7 个让你的应用提速 50%+ 的 V8 引擎技巧
前端·人工智能·后端
缺点内向5 小时前
C#:轻松实现Excel到TXT的转换
后端·c#·.net·excel
Watermelo6175 小时前
【前端实战】Axios 错误处理的设计与进阶封装,实现网络层面的数据与状态解耦
前端·javascript·网络·vue.js·网络协议·性能优化·用户体验
Angletank5 小时前
SpringBoot中JPA组件深入查询业务实现
数据库·spring boot·后端·mysql
chen_x_x5 小时前
域格模组使用http下载到文件系统以及分段下载
网络协议·http·xcode
酩酊仙人5 小时前
告别IIS依赖!ASP.NET Core如何通过Windows Service实现服务托管
windows·后端·asp.net
子洋5 小时前
AI Agent 设计模式 - ReAct 模式
前端·人工智能·后端