frp:一条命令把内网服务开到公网,Ngrok 的开源平替(Apache-2.0 · 110.1k Star)
摘要:10 万 Star 的内网穿透工具:在有公网 IP 的服务器上跑服务端,本机跑客户端,TCP/UDP/HTTP/HTTPS 都能透传,支持 P2P 打洞让流量不经过中转,配套 Dashboard 与热重载配置。
frp:一条命令把内网服务开到公网,Ngrok 的开源平替
写完一个网站放在自己电脑上调完,邻居想看看怎么办?朋友在外地想连你家里的 NAS 怎么办?公司内网的测试环境想让外部同事点一下?
绕不开的坎是:你的机器在 NAT 后面,没有公网 IP,端口也不通。市面上的方案要么按流量收费,要么给你一个随机域名还得注册账号。
frp 的做法很直接:在一台有公网 IP 的服务器上跑服务端,在你自己的机器上跑客户端,两端建立一条长连接,流量顺着这条连接走。 11 万 Star 的项目,中文文档齐全,配置文件是 TOML,几行就能跑通一个内网穿透。
本页正文整理自 fatedier/frp 的中文 README(GitHub 公开内容),最后核对 2026-10-24。
官方仓库:fatedier/frp | 作者:fatedier | 开源协议:Apache-2.0
它解决什么问题
「我的服务在本机,怎么让别人访问到」——这是 frp 唯一要解决的事。
具体场景是这些:本地跑了个 demo,同事在外地想打开看看;家里 NAS 上的文件,自己在公司想取;接了第三方回调的本地服务(比如支付、机器人),对方服务器要能主动打过来。这类需求以前要么买商业服务,要么自己写 socket 中转,frp 把它变成两行配置。
它不替你做别的:不负责部署、不负责鉴权体系、不负责域名解析(那部分交给 Nginx 或自己的 DNS)。它只做一件事——把内网的一个端口,稳稳地递到公网的某个端口上。
核心功能
协议覆盖得比较全