frp 0.71 介绍与选型指南

frp 0.71 介绍与选型指南:基于官方公开资料溯源的内网穿透与反向代理工具解析——版本信息基准、frps/frpc 双端架构、多协议代理与热重载等能力清单、官方快速上手示例、适用场景与限制,以及与 rathole、cloudflared、ngrok、WireGuard 的量化选型对比。

frpfrp配置详解2026/10/19

frp 0.71 介绍与选型指南

目标:面向内网穿透与内网服务公网发布场景,基于官方公开资料(GitHub 官方仓库 fatedier/frp、官方网站 gofrp.org)梳理 frp 的版本信息、双端架构、功能特性、快速上手路径与选型对比。本文为认知类介绍文档,全部信息均来自官方公开渠道溯源,未做本地安装与运行实测,查询日期为 2026-10-19。

一、信息基准

1.1 查询说明

  • 查询日期:2026-10-19。
  • 信息获取方式:纯官方公开资料溯源(GitHub 官方仓库 fatedier/frp 的 Releases/README、官方网站 gofrp.org),本文不做本地安装与运行实测。
  • 版本结论:frp 当前稳定版本线为 0.71.x,最新补丁 v0.71.1(2026-10-14 发布)。配置文件自 0.52.0 起默认采用 TOML 格式,本文示例均采用 TOML。

1.2 版本依据

项目实查结果(2026-10-19)来源
最新补丁v0.71.1(2026-10-14)github.com/fatedier/frp/releases
近期发版时间线v0.71.0(2026-08-14)、v0.70.1(2026-07-23)、v0.70.0(2026-07-11)、v0.69.1(2026-06-01)、v0.69.0(2026-05-21)、v0.68.1(2026-04-13)github.com/fatedier/frp/releases
源码构建要求v0.71.1 起要求 Go 1.26.0+官方 README/发行说明
代码仓库fatedier/frp(Go,创建于 2015-12-21)github.com/fatedier/frp
开源许可Apache License 2.0仓库 LICENSE
社区热度≈110k stars(shields.io 服务端口径,2026-10-19)shields.io
官方文档https://gofrp.org(含中文/英文文档站)gofrp.org

1.3 官方来源清单

来源地址
官方网站https://gofrp.org/
源码仓库https://github.com/fatedier/frp
发行页https://github.com/fatedier/frp/releases
中文文档https://gofrp.org/zh-cn/docs/
快速上手(README)https://github.com/fatedier/frp#quick-start

二、软件概述

本文介绍的是 frp v0.71.1(当前稳定线 0.71.x 的最新补丁,2026-10-14 发布)。

frp(Fast Reverse Proxy)是一款用 Go 编写的高性能反向代理工具,专注于将 NAT 或防火墙后的内网服务暴露到公网:在具备公网 IP 的机器上运行服务端 frps,在内网机器上运行客户端 frpc,两者建立长连接后,公网流量即可经 frps 转发至内网服务。项目以 Apache License 2.0 发布,由 fatedier 主导维护,自 2015 年开源至今。

frp 在 GitHub 上拥有约 110k stars(shields.io 服务端口径,2026-10-19 实查),是内网穿透领域事实上的开源标杆。其能力覆盖 TCP/UDP/HTTP/HTTPS 等多协议代理、加密压缩、负载均衡、健康检查、流量限速与插件扩展,既适合个人远程访问,也能承载生产级的内网服务发布。

三、核心架构

3.1 frps/frpc 双端模型

  • frps(服务端):部署在公网机器上,监听客户端连接与公网访问流量,执行鉴权、端口分配、流量转发与访问控制(端口白名单等)。
  • frpc(客户端):部署在内网机器上,主动与 frps 建立连接(无需内网开放入站端口),按配置将本地服务注册为代理,并支持热重载配置。

3.2 连接与传输层

frpc 与 frps 之间的控制连接和数据连接支持 TLS 加密与压缩;传输协议可选 TCP、KCP(降低延迟、弱网更友好)、QUIC,并支持 TCP 流多路复用与连接池,减少握手开销(官方 README 能力清单)。

3.3 配置体系

配置自 0.52.0 起默认 TOML,分为服务端配置(frps.toml)与客户端配置(frpc.toml);支持环境变量注入、多配置文件拆分,frpc 侧还支持通过 Admin API 动态管理代理(官方 README Configuration Files、Dynamic proxy management 条目)。

3.4 可扩展性

两端均提供插件机制:客户端插件可将流量转接给本地处理(如静态文件、Unix Socket),服务端管理插件则可在转发链路上扩展鉴权与路由逻辑;同时原生提供 Prometheus 监控指标(官方 README 插件与监控条目)。

四、功能特性

4.1 多协议代理类型

支持 tcp、udp、http、https、tcpmux(TCP 端口复用)、stcp(安全秘密 TCP,需双方配合访问)、sudp、xtcp(P2P 穿透)等代理类型(官方 README)。其中 HTTP/HTTPS 代理支持按域名路由、URL 路由、Host 重写、自定义 Header、真实 IP 透传(X-Forwarded-For/Proxy Protocol)、Basic Auth 与自定义子域名。

4.2 运维与治理能力

  • 鉴权与安全:Token 或 OIDC 认证,TLS 加密,服务端端口白名单,STCP/XTCP 秘密访问模式。
  • 流量治理:每代理带宽限速、负载均衡、健康检查、端口范围映射、端口复用。
  • 运维友好:服务端 Dashboard 与客户端 Admin UI、frpc 配置热重载、代理状态查询接口。
  • 特色网关:SSH Tunnel Gateway(通过 SSH 隧道接入)、VirtualNet 虚拟网络(v0.71.1 修复了重连路由问题)、经 PROXY 协议连接 frps。

4.3 0.71 系列状态

v0.71.0(2026-08-14)发布功能版本后,v0.71.1(2026-10-14)集中修复了一批缺陷:SSH tunnel gateway 死锁、NTLM HTTP 代理畸形 challenge 引发的 panic、VirtualNet 重连路由、healthCheck.maxFailed 连续失败语义、HTTP vhost 对 CONNECT 早期数据的处理、带宽限速下连接未关闭、夏令时影响的日流量统计等(官方发行说明)。0.71 线目前处于活跃维护状态。

4.4 已知注意点

官方 README 提示:frpc 二进制文件曾被部分杀毒软件误报(对应 issue #3637),官方在文档中给出了说明与应对建议;生产部署时应核对下载物的校验值。

五、快速上手

以下示例转述自官方仓库 README 的 Quick Start 章节(https://github.com/fatedier/frp#quick-start ),本文不做本地实测。

5.1 服务端 frps

编写 frps.toml,指定服务端监听端口:

bindPort = 7000

启动服务端:

./frps -c ./frps.toml

5.2 客户端 frpc

编写 frpc.toml,指向 frps 并声明一条 SSH 代理:

serverAddr = "x.x.x.x"
serverPort = 7000

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

启动客户端后,公网侧访问 frps 所在主机的 6000 端口,即可透传到内网机器的 22 端口。更多代理类型(HTTP 域名路由、STCP 秘密访问、P2P 等)的配置方式见官方文档:https://gofrp.org/zh-cn/docs/ 。

5.3 进阶配置

frp 的完整参数体系(鉴权、TLS、仪表盘、限速、负载均衡、健康检查等)可参考本站《frp 配置参数详解》,其中对各 TOML 字段的含义与默认值做了分类拆解。

六、适用场景与限制

6.1 适用场景

  • 远程运维接入:将内网 SSH、远程桌面、管理后台经 STCP/端口映射发布。
  • 内网 Web 服务公网化:借助 HTTP/HTTPS 代理按域名路由多个内网站点,保留真实 IP。
  • 开发联调与回调:为微信支付、OAuth 等需要公网回调的开发场景提供临时入口。
  • 弱网环境接入:KCP/QUIC 传输与连接复用改善高延迟链路体验。
  • 硬件/边缘设备远程管理:NAS、摄像头、IoT 控制台的公网可达。

6.2 限制与注意事项

  • 需要一台公网机器:frps 必须部署在有公网 IP 且端口可入站的服务器上;无公网资源时可评估 Cloudflare Tunnel 等托管型方案。
  • P2P 穿透成功率不保证:xtcp 依赖 NAT 类型组合,对称 NAT 环境下可能无法打洞,需回落中转。
  • 安全边界在配置:公网暴露的服务自身仍需加固(认证、TLS、白名单),服务端应启用端口白名单避免端口被滥用。
  • 杀软误报风险:frpc 存在被误报的公开记录(issue #3637),企业内网分发前需与安全团队确认。
  • 小版本节奏快:0.x 阶段功能与修复迭代密集,升级前应阅读发行说明核对破坏性变更。

七、同类选型对比

7.1 候选概览

工具定位开源许可
frp 0.71自建双端内网穿透,多协议反向代理Apache-2.0
ratholeRust 单二进制轻量穿透(类 frp 子集)Apache-2.0
cloudflaredCloudflare 托管隧道客户端Apache-2.0
ngrok开箱即用的公网隧道 SaaSSaaS 闭源(商业服务)
WireGuard内核态 L3 组网 VPNGPL-2.0

7.2 量化对比(2026-10-19 实查)

维度frpratholecloudflaredngrokWireGuard
开源许可Apache-2.0Apache-2.0Apache-2.0(客户端)SaaS 闭源GPL-2.0
GitHub stars≈110k(shields.io)≈14k(shields.io)≈16k(shields.io)早期开源 agent 仓库 ≈24k(已归档)内核项目,无 GitHub stars 口径
最新版本v0.71.1(2026-10-14)v0.5.0(2023-10-01,正式 tag;dev 构建持续)2026.10.1(2026-10-15,CalVer)持续在线服务随内核/发行版交付
技术栈GoRustGo闭源服务内核态(C/Go 工具链)
形态侧重frps+frpc 自建,协议广、插件与面板齐全单二进制、高性能低资源,TCP/UDP/噪声加密隧道服务托管于 Cloudflare 网络,Zero Trust 集成免部署、临时公网 URL,免费层+付费L3 点对点组网,非端口映射
适用边界公网机器自有时的通用方案资源受限设备的轻量穿透不想维护公网服务端、接受流量经第三方快速临时演示与联调整网组网互联而非单服务暴露

(stars 取自 shields.io 公开口径;版本取自各项目官方 Releases 页;许可取自各自仓库 LICENSE。)

7.3 选型建议

拥有公网服务器、需要多协议与精细控制的,frp 是功能最全面的自建方案,配套文档与社区也最成熟;只做 TCP/UDP 端口暴露且设备资源紧张的,可考虑更轻的 rathole(注意其正式发版停留在 2023 年);不愿意维护公网服务端、可接受流量经 Cloudflare 网络的,选 cloudflared;临时演示、对隐私不敏感的快速联调用 ngrok 最省事;而需求是"把两个网络连成一个"而非"暴露某个端口"时,应选 WireGuard 这类 L3 VPN(可参考本站《WireGuard 配置参数详解》)。若已确定使用 frp,建议从官方文档入手并搭配本站配置详解文档深挖参数。

八、参考链接