Skip to content

Releases: fatedier/frp

v0.61.1

16 Dec 11:48
2a7aa69
Compare
Choose a tag to compare

Features

  • tzdata is installed by default in the container image, and the time zone can be set using the TZ 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

17 Oct 09:36
4bbec09
Compare
Choose a tag to compare

Features

  • The frpc visitor command-line parameter adds the --server-user option to specify the username of the server-side proxy to connect to.
  • Support multiple frpc instances with different subjects when using oidc authentication.

v0.60.0

19 Aug 05:54
ccfe8c9
Compare
Choose a tag to compare

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

09 Jul 03:04
243ca99
Compare
Choose a tag to compare

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

31 May 06:41
e649692
Compare
Choose a tag to compare

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

07 May 10:15
4e8e9e1
Compare
Choose a tag to compare

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 header foo: bar to the response.

Fixes

  • When an HTTP proxy request times out, it returns 504 instead of 404 now.

v0.57.0

09 Apr 03:52
8f23733
Compare
Choose a tag to compare

Features

  • https2http and https2https plugin now supports X-Forwared-For header.

Fixes

  • X-Forwared-For header is now correctly set in the request to the backend server for proxy type http.

v0.56.0

21 Mar 10:06
5a6d9f6
Compare
Choose a tag to compare

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

12 Mar 10:17
a5b7abf
Compare
Choose a tag to compare

No feature changes, just a fix for the issue of no released assets in version 0.55.0.

v0.55.0

12 Mar 09:12
1e650ea
Compare
Choose a tag to compare

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 to TLS 1.2.
  • The default value of --strict-config has been changed from false to true. 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 version v0.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.