文档教程

从入门到精通,完整的 FRP 使用指南

快速入门

FRP 采用 C/S 架构,需要在公网服务器部署服务端,在内网机器部署客户端

准备服务器

准备一台有公网 IP 的服务器

部署服务端

在服务器上部署 frps

部署客户端

在内网机器上部署 frpc

开始使用

享受内网穿透的便捷

配置文件详解

FRP 配置文件简洁明了,易于理解和配置

服务端配置 (frps.ini)

frps.ini 是 FRP 服务端的配置文件,用于指定监听端口、认证方式等参数。

客户端配置 (frpc.ini)

frpc.ini 是 FRP 客户端的配置文件,用于指定要暴露的内网服务和转发规则。

frps.ini 完整配置示例

# [common] 是frp的通用配置节
[[common]]

# 服务端监听端口,客户端需要连接此端口
bind_port = 7000

# 用于KCP协议的udp端口,可以减少延迟
kcp_bind_port = 7000

# FRP Dashboard 端口,用于查看服务状态
dashboard_port = 7500

# Dashboard 用户名密码
dashboard_user = admin
dashboard_pwd = admin123

# 认证token,客户端需要相同token才能连接
token = your_secret_token_here

# 日志配置
log_file = ./frps.log
log_level = info

frpc.ini 完整配置示例

# [common] 与服务端对应的通用配置
[[common]]
server_addr = your_server_ip
server_port = 7000
token = your_secret_token_here

# SSH 远程访问
[[ssh]]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

# Web 服务穿透
[[web]]
type = http
local_ip = 127.0.0.1
local_port = 8080
custom_domains = yourdomain.com

协议类型详解

FRP 支持多种协议,可根据不同场景选择合适的协议

TCP 协议

最常用的协议,适用于 SSH、远程桌面、数据库等大多数 TCP 协议的应用。配置简单,兼容性好。

UDP 协议

适用于 DNS、游戏服务器、视频流等 UDP 应用。支持点对点通信,减少服务器压力。

HTTP 协议

专用于 Web 服务,支持虚拟主机、多域名、自定义 header 等。适合暴露本地网站到公网。

HTTPS 协议

安全的 Web 服务穿透,支持 TLS 加密。可与 HTTP 共享端口,简化配置。

STCP 协议

安全 TCP,通过服务端中转但使用密钥认证。适合需要额外安全的场景。

XTCP 协议

P2P 直连模式,数据不经过服务器。适合大流量应用,但需要双方都能访问对方。

高级功能

FRP 提供了丰富的高级功能,满足企业级应用需求

负载均衡

通过 TCP 端口多路复用,实现客户端的负载均衡分发,提高服务可用性。

Token 认证

服务端和客户端使用相同的 token 进行认证,防止未授权访问。

流量限制

可限制每个代理的带宽使用,避免单个用户占用过多资源。

统计信息

内置 Dashboard,实时查看连接数、流量等统计数据。

热加载

修改配置后自动重载,无需重启服务,减少服务中断。

插件系统

支持多种插件,如 HTTP 代理、SOCKS5 代理等,扩展更多功能。

常用命令

FRP 服务端和客户端的常用启动命令

命令 说明
./frps -c frps.ini 启动 FRP 服务端
./frpc -c frpc.ini 启动 FRP 客户端
./frps -c frps.ini -L trace 启动并设置日志级别为 trace
./frpc reload -c frpc.ini 热加载客户端配置
./frpc status -c frpc.ini 查看客户端状态
./frpc stop -c frpc.ini 停止客户端