|
|
|
# [common] is integral section
|
|
|
|
[common]
|
|
|
|
# A literal address or host name for IPv6 must be enclosed
|
|
|
|
# in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"
|
|
|
|
bind_addr = 0.0.0.0
|
|
|
|
bind_port = 7000
|
|
|
|
|
|
|
|
# udp port to help make udp hole to penetrate nat
|
|
|
|
bind_udp_port = 7001
|
|
|
|
|
|
|
|
# udp port used for kcp protocol, it can be same with 'bind_port'
|
|
|
|
# if not set, kcp is disabled in frps
|
|
|
|
kcp_bind_port = 7000
|
|
|
|
|
|
|
|
# specify which address proxy will listen for, default value is same with bind_addr
|
|
|
|
# proxy_bind_addr = 127.0.0.1
|
|
|
|
|
|
|
|
# if you want to support virtual host, you must set the http port for listening (optional)
|
|
|
|
# Note: http port and https port can be same with bind_port
|
|
|
|
vhost_http_port = 80
|
|
|
|
vhost_https_port = 443
|
|
|
|
|
|
|
|
# response header timeout(seconds) for vhost http server, default is 60s
|
|
|
|
# vhost_http_timeout = 60
|
|
|
|
|
|
|
|
# TcpMuxHttpConnectPort specifies the port that the server listens for TCP
|
|
|
|
# HTTP CONNECT requests. If the value is 0, the server will not multiplex TCP
|
|
|
|
# requests on one single port. If it's not - it will listen on this value for
|
|
|
|
# HTTP CONNECT requests. By default, this value is 0.
|
|
|
|
# tcpmux_httpconnect_port = 1337
|
|
|
|
|
|
|
|
# set dashboard_addr and dashboard_port to view dashboard of frps
|
|
|
|
# dashboard_addr's default value is same with bind_addr
|
|
|
|
# dashboard is available only if dashboard_port is set
|
|
|
|
dashboard_addr = 0.0.0.0
|
|
|
|
dashboard_port = 7500
|
|
|
|
|
|
|
|
# dashboard user and passwd for basic auth protect, if not set, both default value is admin
|
|
|
|
dashboard_user = admin
|
|
|
|
dashboard_pwd = admin
|
|
|
|
|
|
|
|
# enable_prometheus will export prometheus metrics on {dashboard_addr}:{dashboard_port} in /metrics api.
|
|
|
|
enable_prometheus = true
|
|
|
|
|
|
|
|
# dashboard assets directory(only for debug mode)
|
|
|
|
# assets_dir = ./static
|
|
|
|
# console or real logFile path like ./frps.log
|
|
|
|
log_file = ./frps.log
|
|
|
|
|
|
|
|
# trace, debug, info, warn, error
|
|
|
|
log_level = info
|
|
|
|
|
|
|
|
log_max_days = 3
|
|
|
|
|
|
|
|
# disable log colors when log_file is console, default is false
|
|
|
|
disable_log_color = false
|
|
|
|
|
|
|
|
# DetailedErrorsToClient defines whether to send the specific error (with debug info) to frpc. By default, this value is true.
|
|
|
|
detailed_errors_to_client = true
|
|
|
|
|
|
|
|
# AuthenticationMethod specifies what authentication method to use authenticate frpc with frps.
|
|
|
|
# If "token" is specified - token will be read into login message.
|
|
|
|
# If "oidc" is specified - OIDC (Open ID Connect) token will be issued using OIDC settings. By default, this value is "token".
|
|
|
|
authentication_method = token
|
|
|
|
|
|
|
|
# AuthenticateHeartBeats specifies whether to include authentication token in heartbeats sent to frps. By default, this value is false.
|
|
|
|
authenticate_heartbeats = false
|
|
|
|
|
|
|
|
# AuthenticateNewWorkConns specifies whether to include authentication token in new work connections sent to frps. By default, this value is false.
|
|
|
|
authenticate_new_work_conns = false
|
|
|
|
|
|
|
|
# auth token
|
|
|
|
token = 12345678
|
|
|
|
|
|
|
|
# OidcClientId specifies the client ID to use to get a token in OIDC authentication if AuthenticationMethod == "oidc".
|
|
|
|
# By default, this value is "".
|
|
|
|
oidc_client_id =
|
|
|
|
|
|
|
|
# OidcClientSecret specifies the client secret to use to get a token in OIDC authentication if AuthenticationMethod == "oidc".
|
|
|
|
# By default, this value is "".
|
|
|
|
oidc_client_secret =
|
|
|
|
|
|
|
|
# OidcAudience specifies the audience of the token in OIDC authentication if AuthenticationMethod == "oidc". By default, this value is "".
|
|
|
|
oidc_audience =
|
|
|
|
|
|
|
|
# OidcTokenEndpointUrl specifies the URL which implements OIDC Token Endpoint.
|
|
|
|
# It will be used to get an OIDC token if AuthenticationMethod == "oidc". By default, this value is "".
|
|
|
|
oidc_token_endpoint_url =
|
|
|
|
|
|
|
|
# heartbeat configure, it's not recommended to modify the default value
|
|
|
|
# the default value of heartbeat_timeout is 90
|
|
|
|
# heartbeat_timeout = 90
|
|
|
|
|
|
|
|
# only allow frpc to bind ports you list, if you set nothing, there won't be any limit
|
|
|
|
allow_ports = 2000-3000,3001,3003,4000-50000
|
|
|
|
|
|
|
|
# pool_count in each proxy will change to max_pool_count if they exceed the maximum value
|
|
|
|
max_pool_count = 5
|
|
|
|
|
|
|
|
# max ports can be used for each client, default value is 0 means no limit
|
|
|
|
max_ports_per_client = 0
|
|
|
|
|
|
|
|
# TlsOnly specifies whether to only accept TLS-encrypted connections. By default, the value is false.
|
|
|
|
tls_only = false
|
|
|
|
|
|
|
|
# tls_cert_file = server.crt
|
|
|
|
# tls_key_file = server.key
|
|
|
|
# tls_trusted_ca_file = ca.crt
|
|
|
|
|
|
|
|
# if subdomain_host is not empty, you can set subdomain when type is http or https in frpc's configure file
|
|
|
|
# when subdomain is test, the host used by routing is test.frps.com
|
|
|
|
subdomain_host = frps.com
|
|
|
|
|
|
|
|
# if tcp stream multiplexing is used, default is true
|
|
|
|
tcp_mux = true
|
|
|
|
|
|
|
|
# custom 404 page for HTTP requests
|
|
|
|
# custom_404_page = /path/to/404.html
|
|
|
|
|
|
|
|
# specify udp packet size, unit is byte. If not set, the default value is 1500.
|
|
|
|
# This parameter should be same between client and server.
|
|
|
|
# It affects the udp and sudp proxy.
|
|
|
|
udp_packet_size = 1500
|
|
|
|
|
|
|
|
[plugin.user-manager]
|
|
|
|
addr = 127.0.0.1:9000
|
|
|
|
path = /handler
|
|
|
|
ops = Login
|
|
|
|
|
|
|
|
[plugin.port-manager]
|
|
|
|
addr = 127.0.0.1:9001
|
|
|
|
path = /handler
|
|
|
|
ops = NewProxy
|