Releases: fatedier/frp
v0.61.1
Features
tzdata
is installed by default in the container image, and the time zone can be set using theTZ
environment variable.- The
quic-bind-port
command line parameter is supported in frps, which specifies the port for accepting frpc connections using the QUIC protocol. - The vhost HTTP proxy of frps supports the h2c protocol.
v0.61.0
v0.60.0
Features
- Added a new plugin
tls2raw
: Enables TLS termination and forwarding of decrypted raw traffic to local service. - Added a default timeout of 30 seconds for the frpc subcommands to prevent commands from being stuck for a long time due to network issues.
Fixes
- Fixed the issue that when
loginFailExit = false
, the frpc stop command cannot be stopped correctly if the server is not successfully connected after startup.
v0.59.0
Features
- Added a new plugin "http2http" which allows forwarding HTTP requests to another HTTP server, supporting options like local address binding, host header rewrite, and custom request headers.
- Added
enableHTTP2
option to control whether to enable HTTP/2 in plugin https2http and https2https, default is true.
Changes
- Plugin https2http & https2https: return 421
Misdirected Request
if host not match sni.
v0.58.1
Fixes
- Fixed an issue where HTTP/2 was not enabled for https2http and https2https plugins.
- Fixed the issue where the default values of INI configuration parameters are inconsistent with other configuration formats.
Changes
- Updated the default value of
transport.tcpMuxKeepaliveInterval
from 60 to 30. - On the Android platform, the Google DNS server is used only when the default DNS server cannot be obtained.
v0.58.0
Notable Changes
We have optimized the heartbeat mechanism when tcpmux is enabled (enabled by default). The default value of heartbeatInterval
has been adjusted to -1. This update ensures that when tcpmux is active, the client does not send additional heartbeats to the server. Since tcpmux incorporates its own heartbeat system, this change effectively reduces unnecessary data consumption, streamlining communication efficiency between client and server.
When connecting to frps versions older than v0.39.0 might encounter compatibility issues due to changes in the heartbeat mechanism. As a temporary workaround, setting the heartbeatInterval
to 30 can help maintain stable connectivity with these older versions. We recommend updating to the latest frps version to leverage full functionality and improvements.
Features
- Show tcpmux proxies on the frps dashboard.
http
proxy can modify the response header. For example,responseHeaders.set.foo = "bar"
will add a new headerfoo: bar
to the response.
Fixes
- When an HTTP proxy request times out, it returns 504 instead of 404 now.
v0.57.0
v0.56.0
Features
-
Support range ports mapping in TOML/YAML/JSON configuration file by using go template syntax.
For example:
{{- range $_, $v := parseNumberRangePair "6000-6006,6007" "6000-6006,6007" }} [[proxies]] name = "tcp-{{ $v.First }}" type = "tcp" localPort = {{ $v.First }} remotePort = {{ $v.Second }} {{- end }}
This will create 8 proxies such as
tcp-6000, tcp-6001, ... tcp-6007
. -
Health check supports custom request headers.
-
Enable compatibility mode for the Android system to solve the issues of incorrect log time caused by time zone problems and default DNS resolution failures.
Fixes
- Fix the issue of incorrect interval time for rotating the log by day.
- Disable quic-go's ECN support by default. It may cause issues on certain operating systems.
v0.55.1
v0.55.0
Notable Changes
- The minimum supported Go version has been updated to
1.22
. In the new version of Go, the default minimum supported TLS version has been changed toTLS 1.2
. - The default value of
--strict-config
has been changed fromfalse
totrue
. If your configuration file uses a non-existent configuration item or has a spelling error, the application will throw an error. This startup parameter was introduced in versionv0.53.0
. If you wish to continue using the old behavior, you need to explicitly set--strict-config=false
.
Features
- Proxy supports configuring annotations, which will be displayed in the frps dashboard.
Changes
- Removed dependencies on the forked version of kcp-go and beego log, kcp-go now uses the upstream version, and golib/log replaces beego log.