Client Configuration

Detailed configuration description for frp client.

ClientConfig

FieldTypeDescriptionRequired
ClientCommonConfigClient common configuration.Yes
proxies[]ProxyConfigProxy configuration. Different proxy types correspond to different configurations, such as TCPProxyConfig or HTTPProxyConfig.No
visitors[]VisitorConfigVisitor configuration. Different visitor types correspond to different configurations, such as STCPVisitorConfig.No

ClientCommonConfig

FieldTypeDescriptionRequired
authAuthClientConfigClient authentication configuration.No
userstringUsername. After setting this parameter, proxy names will be modified to {user}.{proxyName} to avoid proxy name conflicts with other users.No
serverAddrstringAddress to connect to the server.No
serverPortintPort to connect to the server, default is 7000.No
natHoleStunServerstringSTUN server address required for xtcp hole punching, default is stun.easyvoip.com:3478.No
dnsServerstringDNS server address to use. By default, it uses the system-configured DNS server. Specifying this parameter can force replacement with a custom DNS server address.No
loginFailExitboolWhether to exit after first login failure, default is true.No
start[]stringSpecify to enable partial proxies. When many proxies are configured but only some of them are desired to be enabled, this parameter can be used to specify them. Default is to enable all.No
logLogConfigLog configuration.No
webServerWebServerConfigClient AdminServer configuration.No
transportClientTransportConfigClient network layer configuration.No
virtualNetVirtualNetConfigVirtual network configuration, Alpha feature.No
featureGatesmap[string]boolFeature gates, used to enable or disable experimental features.No
udpPacketSizeintMaximum packet length supported when proxying UDP services, default is 1500. Server and client need to maintain consistent configuration.No
metadatasmap[string]stringAdditional metadata that will be passed to server plugins to provide additional capabilities.No
includes[]stringSpecify additional configuration file directories where proxy and visitor configurations will be read and loaded.No

ClientTransportConfig

FieldTypeDescriptionRequired
protocolstringCommunication protocol with frps. Options are tcp, kcp, quic, websocket, wss. Default is tcp.No
dialServerTimeoutintTimeout for connecting to the server, default is 10s.No
dialServerKeepaliveintKeepalive interval time for the underlying TCP connection with the server, in seconds.No
connectServerLocalIPstringLocal IP bound when connecting to the server.No
proxyURLstringProxy address used to connect to the server, format: {protocol}://user:passwd@192.168.1.128:8080. Protocol currently supports http, socks5, ntlm.No
poolCountintConnection pool size.No
tcpMuxboolTCP multiplexing, enabled by default.No
tcpMuxKeepaliveIntervalintHeartbeat check interval time for tcp_mux.No
quicQUICOptionsQUIC protocol configuration parameters.No
heartbeatIntervalintInterval time for sending heartbeat packets to the server, default is 30s. It is recommended to enable tcp_mux_keepalive_interval and set this value to -1.No
heartbeatTimeoutintTimeout for heartbeat with the server, default is 90s.No
tlsTLSClientConfigClient TLS protocol configuration.No

TLSClientConfig

FieldTypeDescriptionRequired
enableboolWhether to enable TLS connection with the server, enabled by default.No
disableCustomTLSFirstByteboolWhen TLS connection is enabled, do not send the 0x17 special byte. Default is true. When configured as true, it cannot be reused with vhostHTTPSPort port.No
TLSConfigTLS protocol configuration, embedded structure.No

AuthClientConfig

FieldTypeDescriptionRequired
methodstringAuthentication method. Options are token or oidc, default is token.No
additionalScopes[]stringAdditional scope for authentication information. Options are HeartBeats and NewWorkConnsNo
tokenstringEffective when method is token. Client needs to set the same value to pass authentication. Mutually exclusive with tokenSource field.No
tokenSourceValueSourceConfiguration for loading token from file. Mutually exclusive with token field.No
oidcAuthOIDCClientConfigOIDC authentication configuration.No

AuthOIDCClientConfig

FieldTypeDescriptionRequired
clientIDstringOIDC client ID.No
clientSecretstringOIDC client secret.No
audiencestringOIDC audience parameter.No
scopestringOIDC scope parameter.No
tokenEndpointURLstringOIDC token endpoint URL.No
additionalEndpointParamsmap[string]stringAdditional endpoint parameters.No
trustedCaFilestringTrusted CA certificate file path for verifying OIDC server TLS certificate.No
insecureSkipVerifyboolSkip TLS certificate verification, not recommended for production use.No
proxyURLstringProxy server URL to use when accessing OIDC token endpoint.No
tokenSourceValueSourceConfiguration for dynamically obtaining OIDC token from external source. When configured, other OIDC configuration fields will be ignored.No

VirtualNetConfig

FieldTypeDescriptionRequired
addressstringIP address and network segment of the virtual network interface, format is CIDR (e.g. “100.86.0.1/24”).Yes
Last modified January 4, 2026: add docs for v0.66 (#106) (191a9bc)