# 必须包含 IPv6 的文字地址或主机名
# 在方括号中,如"[::1]:80"、"[ipv6-host]:http"或"[ipv6-host%zone]:80"
# 对于单个"bind_addr"字段,不需要方括号,如"bind_addr = ::"。
bindAddr = "0.0.0.0"
bindPort = 7000
# 用于 kcp 协议的 udp 端口,可以与 'bind_port' 相同。
# 如果未设置,kcp 在 frps 中被禁用。
kcpBindPort = 7000
# 用于 quic 协议的 udp 端口。
# 如果没有设置,quic 在 frps 中被禁用。
# quicBindPort = 7002
# 指定代理监听哪个地址,默认值与bind_addr相同
# proxy_bind_addr = "127.0.0.1"
# quic协议选项
# transport.quic.keepalivePeriod = 10
# transport.quic.maxIdleTimeout = 30
# transport.quic.maxIncomingStreams = 100000
# 心跳配置,不建议修改默认值
# heartbeat_timeout 默认值为 90。设置负值即可禁用。
# transport.heartbeatTimeout = 90
# 每个代理中的池计数将不超过 maxPoolCount。
transport.maxPoolCount = 5
# 如果使用tcp流复用,默认为true
# transport.tcpMux = true
# 指定 tcp mux 的保持活动间隔。
# 仅当 tcpMux 为 true 时才有效。
# transport.tcpMuxKeepaliveInterval = 60
# tcpKeepalive 指定 frpc 和 frps 之间活动网络连接的 keep-alive 探测之间的时间间隔。
# 如果为负,则禁用保持活动探测。
# transport.tcpKeepalive = 7200
# Transport.tls.force 指定是否只接受 TLS 加密的连接。 默认情况下,该值为 false。
tls.force = false
# transport.tls.certFile = "server.crt"
# transport.tls.keyFile = "server.key"
# transport.tls.trustedCaFile = "ca.crt"
# 如果要支持虚拟主机,必须设置监听的http端口(可选)
# 注意:http端口和https端口可以与bind_port相同
vhostHTTPPort = 80
vhostHTTPSPort = 443
# vhost http服务器的响应头超时(秒),默认为60秒
# vhostHTTPTimeout = 60
# tcpmuxHTTPConnectPort 指定服务器监听 TCP 的端口
# HTTP CONNECT 请求。 如果值为0,服务器不会复用TCP
# 单个端口上的请求。 如果不是 - 它将监听这个值
# HTTP CONNECT 请求。 默认情况下,该值为 0。
# tcpmuxHTTPConnectPort = 1337
# 如果 tcpmux_passthrough 为 true,frps 不会对流量进行任何更新。
# tcpmuxPassthrough = false
# 配置Web服务器以启用frps的仪表板。
# 仅当设置了 webServer.port 时,仪表板才可用。
webServer.addr = "127.0.0.1"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"
# webServer.tls.certFile = "server.crt"
# webServer.tls.keyFile = "server.key"
# dashboard assets directory(only for debug mode)
# webServer.assetsDir = "./static"
# 在仪表板监听器中启用 golang pprof 处理程序。
# 必须首先设置仪表板端口
# webServer.pprofEnable = false
#enablePrometheus 将在 /metrics api 中导出 webServer 上的 prometheus 指标。
# enablePrometheus = true
# 控制台或真实日志文件路径,如 ./frps.log
log.to = "./frps.log"
# trace, debug, info, warn, error
log.level = "info"
log.maxDays = 3
# 当 log.to 为控制台时禁用日志颜色,默认为 false
log.disablePrintColor = false
#DetailedErrorsToClient 定义是否将特定错误(带有调试信息)发送到 frpc。 默认情况下,该值为 true。
detailedErrorsToClient = true
# auth.method 指定使用什么身份验证方法对 frpc 和 frps 进行身份验证。
# 如果指定了"token" - 令牌将被读入登录消息。
# 如果指定"oidc" - 将使用 OIDC 设置颁发 OIDC(开放 ID 连接)令牌。 默认情况下,该值为"token"。
auth.method = "token"
# auth.additionalScopes 指定包含身份验证信息的附加范围。
# 可选值为 HeartBeats、NewWorkConns。
# auth.additionalScopes = ["HeartBeats", "NewWorkConns"]
# auth token
auth.token ="123456"
# oidc 发行者指定验证 OIDC 令牌的发行者。
# auth.oidc.issuer = ""
# oidcaudience 指定验证时 OIDC 令牌应包含的受众。
# auth.oidc.audience = ""
# oidc SkipExpiryCheck 指定是否在 OIDC 令牌过期时跳过检查。
# auth.oidc.skipExpiryCheck = false
# oidc skipIssuerCheck 指定是否跳过检查 OIDC 令牌的颁发者声明是否与 OidcIssuer 中指定的颁发者匹配。
# auth.oidc.skipIssuerCheck = false
# userConnTimeout 指定等待工作连接的最长时间。
# userConnTimeout = 10
# 只允许 frpc 绑定您列出的端口。 默认情况下,不会有任何限制。
# allowPorts = [
# { start = 2000, end = 3000 },
# { single = 3001 },
# { single = 3003 },
# { start = 4000, end = 50000 }
# ]
# 每个客户端可以使用的最大端口数,默认值为0表示无限制
maxPortsPerClient = 0
# 如果subDomainHost不为空,则可以在frpc的配置文件中设置type为http或https时的子域名
# subDomainHost = "frps.com"
# subdomain为test时,路由使用的host为test.frps.com
# subDomainHost = "*.proxy.frps.com"
# subdomain为test时,路由使用的host为test.proxy.frps.com
# HTTP 请求的自定义 404 页面
# custom404Page = "/path/to/404.html"
# 指定udp数据包大小,单位为字节。 如果未设置,则默认值为 1500。
# 这个参数在客户端和服务器之间应该是相同的。
# 它影响 udp 和 sudp 代理。
udpPacketSize = 1500
# NAT打洞策略数据的保留时间。
natholeAnalysisDataReserveHours = 168
# [[http插件]]
# name = "user-manager"
# addr = "127.0.0.1:9000"
# path = "/handler"
# ops = ["Login"]
# [[http插件]]
# name = "port-manager"
# addr = "127.0.0.1:9001"
# path = "/handler"
# ops = ["NewProxy"]
配置使用之前记得验证一下,是否正常
./frps verify -c frps.toml