把内网服务
安全暴露到公网的 frpc 客户端

frpc 是 frp 的轻量客户端,部署在内网机器上,配合公网 frps 服务端,轻松穿透 NAT 与防火墙,支持 TCP / UDP / HTTP / HTTPS,适用于 NAS、远程办公、开发调试等场景。

# 启动 frpc 客户端
$ ./frpc -c ./frpc.toml
✔ connected to frps
✔ proxy [web] started — https://nas.example.com

核心特性

为自建房、NAS、开发调试与运维场景设计

🌐 多协议穿透

支持 TCP、UDP、HTTP、HTTPS、STCP、XTCP,覆盖 Web、SSH、RDP、数据库与游戏联机。

🔗 域名 & 子域名

HTTP/HTTPS 服务可按域名路由,支持自定义子域名、URL 路由与真实客户端 IP 获取。

🔒 安全传输

支持 Token 鉴权、TLS 加密、压缩、访问控制与端口白名单,避免未授权暴露。

🔄 热加载配置

修改 frpc.toml 后无需重启进程,支持配置热加载与多文件拆分管理。

💻 跨平台客户端

提供 Windows / Linux / macOS 客户端,支持 x86、ARM 等架构,资源占用低。

📊 可视化状态

内置 Admin UI 与 Dashboard,可查看代理状态、流量、连接数与健康检查。

工作原理

frpc 主动连接公网 frps,由服务端转发外部请求

🌐 公网服务器 运行 frps
拥有公网 IP / 域名
🏠 内网机器 运行 frpc
暴露 NAS / Web / SSH

用户访问 frps → frps 根据代理规则 → 经 frpc 转发到内网本地服务

快速开始

一分钟跑通一个 Web 穿透示例

1. 服务端 frps.toml

# frps.toml(公网服务器)
bindPort = 7000
auth.token = "your-secret-token"
webServer.addr = "0.0.0.0"
webServer.port = 7500

2. 客户端 frpc.toml

# frpc.toml(内网机器)
serverAddr = "你的公网IP"
serverPort = 7000
auth.token = "your-secret-token"

[[proxies]]
name = "web"
type = "http"
localIP = "127.0.0.1"
localPort = 8080
customDomains = ["nas.example.com"]

3. 启动客户端

# Windows
frpc.exe -c frpc.toml

# Linux / macOS
./frpc -c ./frpc.toml

常见问题

frpc 和 frps 有什么区别?

frps 运行在公网服务器,负责接收外部请求;frpc 运行在内网机器,负责把本地服务注册并转发给 frps。

没有公网 IP 能用吗?

可以。只要内网机器能访问公网,frpc 会主动连 frps,不需要路由器端口映射或公网 IP。

支持 HTTPS 和自定义证书吗?

支持。可让 frps 终止 TLS,也可通过本地服务启用 HTTPS,并绑定自定义域名。

配置修改后需要重启吗?

frpc 支持热加载配置文件,部分场景无需完全重启即可生效。