客户端配置
frp 客户端的详细配置说明。
ClientConfig
Field | Type | Description | Required |
---|---|---|---|
ClientCommonConfig | 客户端通用配置。 | Yes | |
proxies | []ProxyConfig | 代理配置,不同的代理类型对应不同的配置,例如 TCPProxyConfig 或 HTTPProxyConfig。 | 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 |