客户端配置

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

ClientConfig

Field Type Description Required
ClientCommonConfig 客户端通用配置。 Yes
proxies []ProxyConfig 代理配置,不同的代理类型对应不同的配置,例如 TCPProxyConfigHTTPProxyConfig No
visitors []VisitorConfig 访问者配置,不同的访问者类型对应不同的配置,例如 STCPVisitorConfig No

ClientCommonConfig

Field Type Description Required
auth AuthClientConfig 客户端鉴权配置。 No
user string 用户名,设置此参数后,代理名称会被修改为 {user}.{proxyName},避免代理名称和其他用户冲突。 No
serverAddr string 连接服务端的地址。 No
serverPort int 连接服务端的端口,默认为 7000。 No
natHoleStunServer string xtcp 打洞所需的 stun 服务器地址,默认为 stun.easyvoip.com:3478。 No
dnsServer string 使用 DNS 服务器地址,默认使用系统配置的 DNS 服务器,指定此参数可以强制替换为自定义的 DNS 服务器地址。 No
loginFailExit bool 第一次登陆失败后是否退出,默认为 true。 No
start []string 指定启用部分代理,当配置了较多代理,但是只希望启用其中部分时可以通过此参数指定,默认为全部启用。 No
log LogConfig 日志配置。 No
webServer WebServerConfig 客户端 AdminServer 配置。 No
transport ClientTransportConfig 客户端网络层配置。 No
udpPacketSize int 代理 UDP 服务时支持的最大包长度,默认为 1500,服务端和客户端需要保持配置一致。 No
metadatas map[string]string 附加元数据,会传递给服务端插件,提供附加能力。 No
includes []string 指定额外的配置文件目录,其中的 proxy 和 visitor 配置会被读取加载。 No

ClientTransportConfig

Field Type Description Required
protocol string 和 frps 之间的通信协议,可选值为 tcp, kcp, quic, websocket, wss。默认为 tcp。 No
dialServerTimeout int 连接服务端的超时时间,默认为 10s。 No
dialServerKeepalive int 和服务端底层 TCP 连接的 keepalive 间隔时间,单位秒。 No
connectServerLocalIP string 连接服务端时所绑定的本地 IP。 No
proxyURL string 连接服务端使用的代理地址,格式为 {protocol}://user:passwd@192.168.1.128:8080 protocol 目前支持 http、socks5、ntlm。 No
poolCount int 连接池大小。 No
tcpMux bool TCP 多路复用,默认启用。 No
tcpMuxKeepaliveInterval int tcp_mux 的心跳检查间隔时间。 No
quic QUICOptions QUIC 协议配置参数。 No
heartbeatInterval int 向服务端发送心跳包的间隔时间,默认为 30s。建议启用 tcp_mux_keepalive_interval,将此值设置为 -1。 No
heartbeatTimeout int 和服务端心跳的超时时间,默认为 90s。 No
tls TLSClientConfig 客户端 TLS 协议配置。 No

TLSClientConfig

Field Type Description Required
enable bool 是否和服务端之间启用 TLS 连接,默认启用。 No
disableCustomTLSFirstByte bool 启用 TLS 连接时,不发送 0x17 特殊字节。默认为 true。当配置为 true 时,无法和 vhostHTTPSPort 端口复用。 No
TLSConfig TLS 协议配置,内嵌结构。 No

AuthClientConfig

Field Type Description Required
method string 鉴权方式,可选值为 token 或 oidc,默认为 token。 No
additionalScopes []string 鉴权信息附加范围,可选值为 HeartBeats 和 NewWorkConns No
token string 在 method 为 token 时生效,客户端需要设置一样的值才能鉴权通过。 No
oidc AuthOIDCClientConfig oidc 鉴权配置。 No

AuthOIDCClientConfig

Field Type Description Required
clientID string No
clientSecret string No
audience string No
scope string No
tokenEndpointURL string No
additionalEndpointParams map[string]string No
最后修改 November 15, 2023: fix 404 (#71) (626ce4d)

ClientConfiguration

frp Detailed Configuration description of the Client.

ClientConfig

Field Type Description Required
ClientCommonConfig ClientGeneral configuration。 Yes
proxies []ProxyConfig Visitor Configuration, different Visitor. Types correspond to different Configuration, for example TCPProxyConfigHTTPProxyConfig No
visitors []VisitorConfig Visitor Configuration, different Visitor. Types correspond to different Configuration, for example STCPVisitorConfig No

ClientCommonConfig

Field Type Description Required
auth AuthClientConfig Client Authentication Configuration。 No
user string User name, after setting this parameter, the Agent name will be changed to. {user}. {proxyName} to avoid conflicts between Agent names and other users. No
serverAddr string 连接Server side 的地址。 No
serverPort int The port that connects to the Server side, defaults to 7000. No
natHoleStunServer string The address of the stun server required for xtcp to punch holes. The default is. Stun.easyvoip.com:3478 . No
dnsServer string Use DNS server address, default DNS of Use system Configuration. Server, specifying that this parameter can be forcibly replaced with a custom DNS. Server address. No
loginFailExit bool Whether to exit after the first login failure, defaults to true. No
start []string Specifies that partial Agent is enabled, when there are more Agent in Configuration. But only some of them can be specified by this parameter when they are enabled, and all are enabled by default No
log LogConfig 日志Configuration。 No
webServer WebServerConfig Client AdminServer Configuration。 No
transport ClientTransportConfig Client网络层Configuration。 No
udpPacketSize int The maximum packet length supported for Agent UDP service. The default is 1500 Server. Side and Client need to keep Configuration consistent. No
metadatas map[string]string Additional metadata, which is passed to Server side Plug-in to provide additional capabilities. No
includes []string Specify an additional Configuration file directory, where proxy and. Visitor Configuration will be read and loaded. No

ClientTransportConfig

Field Type Description Required
protocol string Communication protocol between frps and tcp. Available values are tcp, kcp, quic. Websocket, wss . The default is tcp. No
dialServerTimeout int 连接Server side 的超时时间,默认为 10s。 No
dialServerKeepalive int Keepalive connected to the underlying TCP of Server side. Interval time, in seconds. No
connectServerLocalIP string The local IP bound when connecting to the Server side. No
proxyURL string The Agent address of the connection Server side Use, in the format. {protocol}: / / user:passwd@192.168.1.128:8080 protocol. Http, socks5 and ntlm are currently supported. No
poolCount int Connection pool size. No
tcpMux bool TCP Multiplexing is enabled by default. No
tcpMuxKeepaliveInterval int The interval between heartbeat checks for tcp_mux . No
quic QUICOptions QUIC protocol Configuration parameter. No
heartbeatInterval int The interval for sending heartbeat packets to the server side is set to 30 seconds by default. Suggest enabling TCP_ Mux_ Keepalive_ Interval, set this value to -1. No
heartbeatTimeout int And Server side heartbeat timeout, the default is 90s. No
tls TLSClientConfig Client TLS Agreement Configuration。 No

TLSClientConfig

Field Type Description Required
enable bool Whether to enable TLS connection with Server side is enabled by default. No
disableCustomTLSFirstByte bool When TLS connections are enabled, 0x17 special bytes are not sent. Default is. True . Cannot be compared with vhostHTTPSPort when Configuration is true. Port reuse. No
TLSConfig TLS protocol Configuration, embedded structure. No

AuthClientConfig

Field Type Description Required
method string 鉴权方式,可选值为 token 或 oidc,默认为 token。 No
additionalScopes []string 鉴权信息附加范围,可选值为 HeartBeats 和 NewWorkConns No
token string 在 method 为 token 时生效,Client需要设置一样的值才能鉴权通过。 No
oidc AuthOIDCClientConfig oidc Authentication Configuration. No

AuthOIDCClientConfig

Field Type Description Required
clientID string No
clientSecret string No
audience string No
scope string No
tokenEndpointURL string No
additionalEndpointParams map[string]string No
Last modified November 15, 2023: fix 404 (#71) (626ce4d)