[GH-ISSUE #3657] error unmarshaling JSON: while decoding JSON: json: cannot unmarshal string into Go value of type v1.ServerConfig #2914

Closed
opened 2026-05-05 13:52:55 -06:00 by gitea-mirror · 22 comments
Owner

Originally created by @alsingh1 on GitHub (Oct 10, 2023).
Original GitHub issue: https://github.com/fatedier/frp/issues/3657

Bug Description

Getting JSON unmarshaling error with default toml config file

frpc Version

0.52.0

frps Version

0.52.0

System Architecture

linux/amd64

Configurations

# 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"
# For single "bind_addr" field, no need square brackets, like "bind_addr = ::".
bindAddr = "0.0.0.0"
bindPort = 7000

# udp port used for kcp protocol, it can be same with 'bind_port'.
# if not set, kcp is disabled in frps.
kcpBindPort = 7000

# udp port used for quic protocol.
# if not set, quic is disabled in frps.
# quicBindPort = 7002

# Specify which address proxy will listen for, default value is same with bind_addr
# proxy_bind_addr = "127.0.0.1"

# quic protocol options
# transport.quic.keepalivePeriod = 10
# transport.quic.maxIdleTimeout = 30
# transport.quic.maxIncomingStreams = 100000

# Heartbeat configure, it's not recommended to modify the default value
# The default value of heartbeat_timeout is 90. Set negative value to disable it.
# transport.heartbeatTimeout = 90

# Pool count in each proxy will keep no more than maxPoolCount.
transport.maxPoolCount = 5

# If tcp stream multiplexing is used, default is true
# transport.tcpMux = true

# Specify keep alive interval for tcp mux.
# only valid if tcpMux is true.
# transport.tcpMuxKeepaliveInterval = 60

# tcpKeepalive specifies the interval between keep-alive probes for an active network connection between frpc and frps.
# If negative, keep-alive probes are disabled.
# transport.tcpKeepalive = 7200

# transport.tls.force specifies whether to only accept TLS-encrypted connections. By default, the value is false.
tls.force = false

# transport.tls.certFile = "server.crt"
# transport.tls.keyFile = "server.key"
# transport.tls.trustedCaFile = "ca.crt"

# 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
vhostHTTPPort = 80
vhostHTTPSPort = 443

# Response header timeout(seconds) for vhost http server, default is 60s
# vhostHTTPTimeout = 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.
# tcpmuxHTTPConnectPort = 1337

# If tcpmux_passthrough is true, frps won't do any update on traffic.
# tcpmuxPassthrough = false

# Configure the web server to enable the dashboard for frps.
# dashboard is available only if webServer.port is set.
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"

# Enable golang pprof handlers in dashboard listener.
# Dashboard port must be set first
webServer.pprofEnable = false

# enablePrometheus will export prometheus metrics on webServer in /metrics api.
enablePrometheus = true

# console or real logFile path like ./frps.log
log.to = "./frps.log"
# trace, debug, info, warn, error
log.level = info
log.maxDays = 3
# disable log colors when log.to is console, default is false
log.disablePrintColor = false

# DetailedErrorsToClient defines whether to send the specific error (with debug info) to frpc. By default, this value is true.
detailedErrorsToClient = true

# auth.method 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".
auth.method = "token"

# auth.additionalScopes specifies additional scopes to include authentication information.
# Optional values are HeartBeats, NewWorkConns.
# auth.additionalScopes = ["HeartBeats", "NewWorkConns"]

# auth token
auth.token = "12345678"

# oidc issuer specifies the issuer to verify OIDC tokens with.
auth.oidc.issuer = ""
# oidc audience specifies the audience OIDC tokens should contain when validated.
auth.oidc.audience = ""
# oidc skipExpiryCheck specifies whether to skip checking if the OIDC token is expired.
auth.oidc.skipExpiryCheck = false
# oidc skipIssuerCheck specifies whether to skip checking if the OIDC token's issuer claim matches the issuer specified in OidcIssuer.
auth.oidc.skipIssuerCheck = false

# userConnTimeout specifies the maximum time to wait for a work connection.
# userConnTimeout = 10

# Only allow frpc to bind ports you list. By default, there won't be any limit.
allowPorts = [
  { start = 2000, end = 3000 },
  { single = 3001 },
  { single = 3003 },
  { start = 4000, end = 50000 }
]

# Max ports can be used for each client, default value is 0 means no limit
maxPortsPerClient = 0

# If subDomainHost is not empty, you can set subdomain when type is http or https in frpc's configure file
# When subdomain is est, the host used by routing is test.frps.com
subDomainHost = "frps.com"

# custom 404 page for HTTP requests
# custom404Page = "/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.
udpPacketSize = 1500

# Retention time for NAT hole punching strategy data.
natholeAnalysisDataReserveHours = 168

[[httpPlugins]]
name = "user-manager"
addr = "127.0.0.1:9000"
path = "/handler"
ops = ["Login"]

[[httpPlugins]]
name = "port-manager"
addr = "127.0.0.1:9001"
path = "/handler"
ops = ["NewProxy"]

Logs

No response

Steps to reproduce

  1. Download package from - https://github.com/fatedier/frp/releases/download/v0.52.0/frp_0.52.0_linux_amd64.tar.gz
  2. run
    ./frps -c frps.toml
    error unmarshaling JSON: while decoding JSON: json: cannot unmarshal string into Go value of type v1.ServerConfig

...

Affected area

  • Docs
  • Installation
  • Performance and Scalability
  • Security
  • User Experience
  • Test and Release
  • Developer Infrastructure
  • Client Plugin
  • Server Plugin
  • Extensions
  • Others
Originally created by @alsingh1 on GitHub (Oct 10, 2023). Original GitHub issue: https://github.com/fatedier/frp/issues/3657 ### Bug Description Getting JSON unmarshaling error with default toml config file ### frpc Version 0.52.0 ### frps Version 0.52.0 ### System Architecture linux/amd64 ### Configurations ``` # 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" # For single "bind_addr" field, no need square brackets, like "bind_addr = ::". bindAddr = "0.0.0.0" bindPort = 7000 # udp port used for kcp protocol, it can be same with 'bind_port'. # if not set, kcp is disabled in frps. kcpBindPort = 7000 # udp port used for quic protocol. # if not set, quic is disabled in frps. # quicBindPort = 7002 # Specify which address proxy will listen for, default value is same with bind_addr # proxy_bind_addr = "127.0.0.1" # quic protocol options # transport.quic.keepalivePeriod = 10 # transport.quic.maxIdleTimeout = 30 # transport.quic.maxIncomingStreams = 100000 # Heartbeat configure, it's not recommended to modify the default value # The default value of heartbeat_timeout is 90. Set negative value to disable it. # transport.heartbeatTimeout = 90 # Pool count in each proxy will keep no more than maxPoolCount. transport.maxPoolCount = 5 # If tcp stream multiplexing is used, default is true # transport.tcpMux = true # Specify keep alive interval for tcp mux. # only valid if tcpMux is true. # transport.tcpMuxKeepaliveInterval = 60 # tcpKeepalive specifies the interval between keep-alive probes for an active network connection between frpc and frps. # If negative, keep-alive probes are disabled. # transport.tcpKeepalive = 7200 # transport.tls.force specifies whether to only accept TLS-encrypted connections. By default, the value is false. tls.force = false # transport.tls.certFile = "server.crt" # transport.tls.keyFile = "server.key" # transport.tls.trustedCaFile = "ca.crt" # 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 vhostHTTPPort = 80 vhostHTTPSPort = 443 # Response header timeout(seconds) for vhost http server, default is 60s # vhostHTTPTimeout = 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. # tcpmuxHTTPConnectPort = 1337 # If tcpmux_passthrough is true, frps won't do any update on traffic. # tcpmuxPassthrough = false # Configure the web server to enable the dashboard for frps. # dashboard is available only if webServer.port is set. 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" # Enable golang pprof handlers in dashboard listener. # Dashboard port must be set first webServer.pprofEnable = false # enablePrometheus will export prometheus metrics on webServer in /metrics api. enablePrometheus = true # console or real logFile path like ./frps.log log.to = "./frps.log" # trace, debug, info, warn, error log.level = info log.maxDays = 3 # disable log colors when log.to is console, default is false log.disablePrintColor = false # DetailedErrorsToClient defines whether to send the specific error (with debug info) to frpc. By default, this value is true. detailedErrorsToClient = true # auth.method 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". auth.method = "token" # auth.additionalScopes specifies additional scopes to include authentication information. # Optional values are HeartBeats, NewWorkConns. # auth.additionalScopes = ["HeartBeats", "NewWorkConns"] # auth token auth.token = "12345678" # oidc issuer specifies the issuer to verify OIDC tokens with. auth.oidc.issuer = "" # oidc audience specifies the audience OIDC tokens should contain when validated. auth.oidc.audience = "" # oidc skipExpiryCheck specifies whether to skip checking if the OIDC token is expired. auth.oidc.skipExpiryCheck = false # oidc skipIssuerCheck specifies whether to skip checking if the OIDC token's issuer claim matches the issuer specified in OidcIssuer. auth.oidc.skipIssuerCheck = false # userConnTimeout specifies the maximum time to wait for a work connection. # userConnTimeout = 10 # Only allow frpc to bind ports you list. By default, there won't be any limit. allowPorts = [ { start = 2000, end = 3000 }, { single = 3001 }, { single = 3003 }, { start = 4000, end = 50000 } ] # Max ports can be used for each client, default value is 0 means no limit maxPortsPerClient = 0 # If subDomainHost is not empty, you can set subdomain when type is http or https in frpc's configure file # When subdomain is est, the host used by routing is test.frps.com subDomainHost = "frps.com" # custom 404 page for HTTP requests # custom404Page = "/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. udpPacketSize = 1500 # Retention time for NAT hole punching strategy data. natholeAnalysisDataReserveHours = 168 [[httpPlugins]] name = "user-manager" addr = "127.0.0.1:9000" path = "/handler" ops = ["Login"] [[httpPlugins]] name = "port-manager" addr = "127.0.0.1:9001" path = "/handler" ops = ["NewProxy"] ``` ### Logs _No response_ ### Steps to reproduce 1. Download package from - https://github.com/fatedier/frp/releases/download/v0.52.0/frp_0.52.0_linux_amd64.tar.gz 2. run ./frps -c frps.toml error unmarshaling JSON: while decoding JSON: json: cannot unmarshal string into Go value of type v1.ServerConfig ... ### Affected area - [ ] Docs - [X] Installation - [ ] Performance and Scalability - [ ] Security - [ ] User Experience - [ ] Test and Release - [ ] Developer Infrastructure - [ ] Client Plugin - [ ] Server Plugin - [ ] Extensions - [ ] Others
gitea-mirror 2026-05-05 13:52:55 -06:00
Author
Owner

@FutureBoundYu commented on GitHub (Oct 10, 2023):

same error, version: 0.52.0

<!-- gh-comment-id:1755665608 --> @FutureBoundYu commented on GitHub (Oct 10, 2023): same error, version: 0.52.0
Author
Owner

@ShiinaRinne commented on GitHub (Oct 10, 2023):

307d1bfa3f

It has been fixed but has not been updated to the release yet.
Currently, you can modify the config file in frps.toml like this commit

<!-- gh-comment-id:1755722319 --> @ShiinaRinne commented on GitHub (Oct 10, 2023): https://github.com/fatedier/frp/commit/307d1bfa3f2aff6d6ee1e43b0e0caeee115da443 It has been fixed but has not been updated to the release yet. Currently, you can modify the config file in `frps.toml` like this commit
Author
Owner

@0x1af2aec8f957 commented on GitHub (Oct 16, 2023):

这个问题仍然存在

<!-- gh-comment-id:1763766724 --> @0x1af2aec8f957 commented on GitHub (Oct 16, 2023): 这个问题仍然存在
Author
Owner

@plmcoder commented on GitHub (Oct 25, 2023):

same error on version 0.52.3

env win10

<!-- gh-comment-id:1778673154 --> @plmcoder commented on GitHub (Oct 25, 2023): same error on version `0.52.3` env `win10` ```
Author
Owner

@ShiinaRinne commented on GitHub (Oct 25, 2023):

image
The latest version should be fine, even the default configuration has been almost completely removed in this commit a6478aeac8 and moved to another full_example.toml
If there are still issues, please send the configuration file @plmcoder @0x1af2aec8f957

<!-- gh-comment-id:1779317319 --> @ShiinaRinne commented on GitHub (Oct 25, 2023): ![image](https://github.com/fatedier/frp/assets/45081750/802d919d-5865-4ae9-9e75-54e72a818acd) The latest version should be fine, even the default configuration has been almost completely removed in this commit https://github.com/fatedier/frp/commit/a6478aeac819e9bac5bf719f0c5259a5b6262c3e and moved to another `full_example.toml` If there are still issues, please send the configuration file @plmcoder @0x1af2aec8f957
Author
Owner

@plmcoder commented on GitHub (Oct 25, 2023):

my config as follows and still not work, may be we should add an option --config-format to specify config file format, and then tell us the detail error for the config file while verify like this: frps.exe verify -c frps.toml --config-format toml

bindPort = 8888
auth.method = "token"
auth.token = "................xxx"

log.to = "D:/apps/frps/logs/frps.log"
log.level = "info"
log.maxDays = 30

custom404Page = "D:/apps/nginx/html/40x.html"

image The latest version should be fine, even the default configuration has been almost completely removed in this commit a6478ae and moved to another full_example.toml If there are still issues, please send the configuration file @plmcoder @0x1af2aec8f957

<!-- gh-comment-id:1779503050 --> @plmcoder commented on GitHub (Oct 25, 2023): my config as follows and still not work, may be we should add an option `--config-format` to specify config file format, and then tell us the detail error for the config file while verify like this: ` frps.exe verify -c frps.toml --config-format toml` ```toml bindPort = 8888 auth.method = "token" auth.token = "................xxx" log.to = "D:/apps/frps/logs/frps.log" log.level = "info" log.maxDays = 30 custom404Page = "D:/apps/nginx/html/40x.html" ``` > ![image](https://user-images.githubusercontent.com/45081750/278029366-802d919d-5865-4ae9-9e75-54e72a818acd.png) The latest version should be fine, even the default configuration has been almost completely removed in this commit [a6478ae](https://github.com/fatedier/frp/commit/a6478aeac819e9bac5bf719f0c5259a5b6262c3e) and moved to another `full_example.toml` If there are still issues, please send the configuration file @plmcoder @0x1af2aec8f957
Author
Owner

@ShiinaRinne commented on GitHub (Oct 26, 2023):

bindPort = 8888
auth.method = "token"
auth.token = "................xxx"

log.to = "D:/apps/frps/logs/frps.log"
log.level = "info"
log.maxDays = 30

custom404Page = "D:/apps/nginx/html/40x.html"

Your configuration has been tested and is also working correctly, can you take a screenshot?
Or remove any sensitive information, and send the entire FRP folder directly

image
image

<!-- gh-comment-id:1780377405 --> @ShiinaRinne commented on GitHub (Oct 26, 2023): >``` >bindPort = 8888 >auth.method = "token" >auth.token = "................xxx" > >log.to = "D:/apps/frps/logs/frps.log" >log.level = "info" >log.maxDays = 30 > >custom404Page = "D:/apps/nginx/html/40x.html" >``` Your configuration has been tested and is also working correctly, can you take a screenshot? Or remove any sensitive information, and send the entire FRP folder directly ![image](https://github.com/fatedier/frp/assets/45081750/e45974fb-25a8-4db8-b80d-e99ae2a829f5) ![image](https://github.com/fatedier/frp/assets/45081750/f2aed06d-fd18-44ce-8dc4-dc32a9ed2a2e)
Author
Owner

@0x1af2aec8f957 commented on GitHub (Oct 30, 2023):

@ShiinaRinne My local configuration does not have this issue on version 0.52.3.

<!-- gh-comment-id:1784419949 --> @0x1af2aec8f957 commented on GitHub (Oct 30, 2023): @ShiinaRinne My local configuration does not have this issue on version `0.52.3`.
Author
Owner

@jy02326387 commented on GitHub (Nov 4, 2023):

同样出现问题,windows 2018 v0.52.3

<!-- gh-comment-id:1793388721 --> @jy02326387 commented on GitHub (Nov 4, 2023): 同样出现问题,windows 2018 v0.52.3
Author
Owner

@lekai63 commented on GitHub (Nov 6, 2023):

toml不行,手动转换为json后。 用 frpc.exe -c frpc.json 可行

<!-- gh-comment-id:1794713105 --> @lekai63 commented on GitHub (Nov 6, 2023): toml不行,手动转换为json后。 用 `frpc.exe -c frpc.json` 可行
Author
Owner

@GiserLGQ commented on GitHub (Nov 13, 2023):

一样,版本0.52.3,win10

<!-- gh-comment-id:1807800406 --> @GiserLGQ commented on GitHub (Nov 13, 2023): 一样,版本0.52.3,win10
Author
Owner

@xwzbupt commented on GitHub (Nov 14, 2023):

same error.
My env is docker, the version is 0.52.0, and then I upgrated it to 0.52.3. Both of them didn't work. I wonder how to handle it.

<!-- gh-comment-id:1809921262 --> @xwzbupt commented on GitHub (Nov 14, 2023): same error. My env is docker, the version is `0.52.0`, and then I upgrated it to `0.52.3`. Both of them didn't work. I wonder how to handle it.
Author
Owner

@RyougiShiki-214 commented on GitHub (Nov 14, 2023):

同样错误。环境是Ubuntu22.04LTS,只能手动改成json使用

<!-- gh-comment-id:1810086248 --> @RyougiShiki-214 commented on GitHub (Nov 14, 2023): 同样错误。环境是Ubuntu22.04LTS,只能手动改成json使用
Author
Owner

@winfordguo commented on GitHub (Nov 15, 2023):

value的值如果是字符串用""包起来试试看。
比如:

错误的

bindAddr = 0.0.0.0
bindPort = 7000
auth.method = token
auth.token = xxx

正确的

bindAddr = "0.0.0.0"
bindPort = 7000
auth.method = "token"
auth.token = "xxx"
<!-- gh-comment-id:1811867134 --> @winfordguo commented on GitHub (Nov 15, 2023): value的值如果是字符串用""包起来试试看。 比如: > 错误的 ```toml bindAddr = 0.0.0.0 bindPort = 7000 auth.method = token auth.token = xxx ``` > 正确的 ```toml bindAddr = "0.0.0.0" bindPort = 7000 auth.method = "token" auth.token = "xxx" ```
Author
Owner

@RyougiShiki-214 commented on GitHub (Nov 15, 2023):

value的值如果是字符串用""包起来试试看。 比如:

错误的

bindAddr = 0.0.0.0
bindPort = 7000
auth.method = token
auth.token = xxx

正确的

bindAddr = "0.0.0.0"
bindPort = 7000
auth.method = "token"
auth.token = "xxx"

果然是这个问题,非常感谢!

<!-- gh-comment-id:1811885458 --> @RyougiShiki-214 commented on GitHub (Nov 15, 2023): > value的值如果是字符串用""包起来试试看。 比如: > > > 错误的 > > ```toml > bindAddr = 0.0.0.0 > bindPort = 7000 > auth.method = token > auth.token = xxx > ``` > > > 正确的 > > ```toml > bindAddr = "0.0.0.0" > bindPort = 7000 > auth.method = "token" > auth.token = "xxx" > ``` 果然是这个问题,非常感谢!
Author
Owner

@HivenZhu commented on GitHub (Nov 24, 2023):

Met the same error. Solved it with check the configuration file step by stop and correct the wrong item, then it worked.

<!-- gh-comment-id:1825634288 --> @HivenZhu commented on GitHub (Nov 24, 2023): Met the same error. Solved it with check the configuration file step by stop and correct the wrong item, then it worked.
Author
Owner

@aklivecai commented on GitHub (Dec 22, 2023):

Toml在线编辑(校验)器, 字段重复也会报错,可以在线校验以下

<!-- gh-comment-id:1867113417 --> @aklivecai commented on GitHub (Dec 22, 2023): Toml在线编辑(校验)器, 字段重复也会报错,可以在线校验以下
Author
Owner

@hullhut commented on GitHub (Jan 9, 2024):

原因应该在于字符串需要加上双引号

<!-- gh-comment-id:1883038394 --> @hullhut commented on GitHub (Jan 9, 2024): 原因应该在于字符串需要加上双引号
Author
Owner

@github-actions[bot] commented on GitHub (Jan 31, 2024):

Issues go stale after 21d of inactivity. Stale issues rot after an additional 7d of inactivity and eventually close.

<!-- gh-comment-id:1918150661 --> @github-actions[bot] commented on GitHub (Jan 31, 2024): Issues go stale after 21d of inactivity. Stale issues rot after an additional 7d of inactivity and eventually close.
Author
Owner

@alsingh1 commented on GitHub (Jan 31, 2024):

Issue resolved as per suggestion

<!-- gh-comment-id:1918180072 --> @alsingh1 commented on GitHub (Jan 31, 2024): Issue resolved as per suggestion
Author
Owner

@Estwind07 commented on GitHub (Feb 2, 2024):

value的值如果是字符串用""包起来试试看。 比如:

错误的

bindAddr = 0.0.0.0
bindPort = 7000
auth.method = token
auth.token = xxx

正确的

bindAddr = "0.0.0.0"
bindPort = 7000
auth.method = "token"
auth.token = "xxx"

非常感谢

<!-- gh-comment-id:1923773695 --> @Estwind07 commented on GitHub (Feb 2, 2024): > value的值如果是字符串用""包起来试试看。 比如: > > > 错误的 > > ```toml > bindAddr = 0.0.0.0 > bindPort = 7000 > auth.method = token > auth.token = xxx > ``` > > > 正确的 > > ```toml > bindAddr = "0.0.0.0" > bindPort = 7000 > auth.method = "token" > auth.token = "xxx" > ``` 非常感谢
Author
Owner

@qq1986114 commented on GitHub (Sep 12, 2024):

value的值如果是字符串用""包起来试试看。 比如:

错误的

bindAddr = 0.0.0.0
bindPort = 7000
auth.method = token
auth.token = xxx

正确的

bindAddr = "0.0.0.0"
bindPort = 7000
auth.method = "token"
auth.token = "xxx"

我用这样子
serverAddr = "0.0.0.0"
serverPort = 7000
token = xxxx
怎么改都不行,最后按你的格式来就行了,大大的服!!

auth.method = "token"
auth.token = “xxxx ”

<!-- gh-comment-id:2345020450 --> @qq1986114 commented on GitHub (Sep 12, 2024): > value的值如果是字符串用""包起来试试看。 比如: > > > 错误的 > > ```toml > bindAddr = 0.0.0.0 > bindPort = 7000 > auth.method = token > auth.token = xxx > ``` > > > 正确的 > > ```toml > bindAddr = "0.0.0.0" > bindPort = 7000 > auth.method = "token" > auth.token = "xxx" > ``` 我用这样子 serverAddr = "0.0.0.0" serverPort = 7000 token = xxxx 怎么改都不行,最后按你的格式来就行了,大大的服!! auth.method = "token" auth.token = “xxxx ”
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#2914
No description provided.