客户端配置

frp 客户端的详细配置说明。

ClientConfig

FieldTypeDescriptionRequired
ClientCommonConfig客户端通用配置。Yes
proxies[]ProxyConfig代理配置,不同的代理类型对应不同的配置,例如 TCPProxyConfigHTTPProxyConfigNo
visitors[]VisitorConfig访问者配置,不同的访问者类型对应不同的配置,例如 STCPVisitorConfigNo

ClientCommonConfig

FieldTypeDescriptionRequired
authAuthClientConfig客户端鉴权配置。No
userstring用户名,设置此参数后,代理名称会被修改为 {user}.{proxyName},避免代理名称和其他用户冲突。No
serverAddrstring连接服务端的地址。No
serverPortint连接服务端的端口,默认为 7000。No
natHoleStunServerstringxtcp 打洞所需的 stun 服务器地址,默认为 stun.easyvoip.com:3478。No
dnsServerstring使用 DNS 服务器地址,默认使用系统配置的 DNS 服务器,指定此参数可以强制替换为自定义的 DNS 服务器地址。No
loginFailExitbool第一次登陆失败后是否退出,默认为 true。No
start[]string指定启用部分代理,当配置了较多代理,但是只希望启用其中部分时可以通过此参数指定,默认为全部启用。No
logLogConfig日志配置。No
webServerWebServerConfig客户端 AdminServer 配置。No
transportClientTransportConfig客户端网络层配置。No
virtualNetVirtualNetConfig虚拟网络配置,Alpha 特性。No
featureGatesmap[string]bool特性门控,用于启用或禁用实验性功能。No
udpPacketSizeint代理 UDP 服务时支持的最大包长度,默认为 1500,服务端和客户端需要保持配置一致。No
metadatasmap[string]string附加元数据,会传递给服务端插件,提供附加能力。No
includes[]string指定额外的配置文件目录,其中的 proxy 和 visitor 配置会被读取加载。No

ClientTransportConfig

FieldTypeDescriptionRequired
protocolstring和 frps 之间的通信协议,可选值为 tcp, kcp, quic, websocket, wss。默认为 tcp。No
dialServerTimeoutint连接服务端的超时时间,默认为 10s。No
dialServerKeepaliveint和服务端底层 TCP 连接的 keepalive 间隔时间,单位秒。No
connectServerLocalIPstring连接服务端时所绑定的本地 IP。No
proxyURLstring连接服务端使用的代理地址,格式为 {protocol}://user:passwd@192.168.1.128:8080 protocol 目前支持 http、socks5、ntlm。No
poolCountint连接池大小。No
tcpMuxboolTCP 多路复用,默认启用。No
tcpMuxKeepaliveIntervalinttcp_mux 的心跳检查间隔时间。No
quicQUICOptionsQUIC 协议配置参数。No
heartbeatIntervalint向服务端发送心跳包的间隔时间,默认为 30s。建议启用 tcp_mux_keepalive_interval,将此值设置为 -1。No
heartbeatTimeoutint和服务端心跳的超时时间,默认为 90s。No
tlsTLSClientConfig客户端 TLS 协议配置。No

TLSClientConfig

FieldTypeDescriptionRequired
enablebool是否和服务端之间启用 TLS 连接,默认启用。No
disableCustomTLSFirstBytebool启用 TLS 连接时,不发送 0x17 特殊字节。默认为 true。当配置为 true 时,无法和 vhostHTTPSPort 端口复用。No
TLSConfigTLS 协议配置,内嵌结构。No

AuthClientConfig

FieldTypeDescriptionRequired
methodstring鉴权方式,可选值为 token 或 oidc,默认为 token。No
additionalScopes[]string鉴权信息附加范围,可选值为 HeartBeats 和 NewWorkConnsNo
tokenstring在 method 为 token 时生效,客户端需要设置一样的值才能鉴权通过。与 tokenSource 字段互斥。No
tokenSourceValueSource从文件中加载 token 的配置。与 token 字段互斥。No
oidcAuthOIDCClientConfigoidc 鉴权配置。No

AuthOIDCClientConfig

FieldTypeDescriptionRequired
clientIDstringOIDC 客户端 ID。No
clientSecretstringOIDC 客户端密钥。No
audiencestringOIDC audience 参数。No
scopestringOIDC scope 参数。No
tokenEndpointURLstringOIDC 令牌端点 URL。No
additionalEndpointParamsmap[string]string附加的端点参数。No
trustedCaFilestring信任的 CA 证书文件路径,用于验证 OIDC 服务器的 TLS 证书。No
insecureSkipVerifybool跳过 TLS 证书验证,不推荐在生产环境使用。No
proxyURLstring访问 OIDC 令牌端点时使用的代理服务器 URL。No
tokenSourceValueSource从外部来源动态获取 OIDC token 的配置。配置此字段后,其他 OIDC 配置字段将被忽略。No

VirtualNetConfig

FieldTypeDescriptionRequired
addressstring虚拟网络接口的 IP 地址和网段,格式为 CIDR (例如 “100.86.0.1/24”)。Yes
最后修改 January 4, 2026: add docs for v0.66 (#106) (191a9bc)