Frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。
- 详情:fatedier (https://github.com/fatedier/frp)
- 此脚本原作者:clangcn (https://github.com/clangcn/onekey-install-shell)
wget https://gitee.com/mvscode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
wget https://raw.githubusercontent.com/mvscode/frps-onekey/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
./install-frps.sh uninstall
./install-frps.sh update
Usage: /etc/init.d/frps {start|stop|restart|status|config|version}
-
Support Go 1.21.
-
Fix the issue of not disabling tcp keepalive when configuring tcp_keepalive = -1 in frps.
Fix a race condition error.
-
frpc supports connecting to frps via the wss protocol by enabling the configuration protocol = wss.
frpc supports stopping the service through the stop command.
-
service.Run supports passing in context.
-
Fix an issue caused by a bug in yamux that prevents wss from working properly in certain plugins.
-
For enhanced security, the default values for tls_enable and disable_custom_tls_first_byte have been set to true.If you wish to revert to the previous default values, you need to manually set the values of these two parameters to false.
Added support for allow_users in stcp, sudp, xtcp. By default, only the same user is allowed to access. Use * to allow access from any user. The visitor configuration now supports server_user to connect to proxies of other users.
Added fallback support to a specified alternative visitor when xtcp connection fails.
Increased the default value of MaxStreamWindowSize for yamux to 6MB, improving traffic forwarding rate in high-latency scenarios.
Fixed an issue where having proxies with the same name would cause previously working proxies to become ineffective in xtcp.
-
v0.49.0 版本修改比較大,詳情可以作者那查看
The frpc has added the nathole discover command for testing the NAT type of the current network.
XTCP has been refactored, resulting in a significant improvement in the success rate of penetration.
When verifying passwords, use subtle.ConstantTimeCompare and introduce a certain delay when the password is incorrect.
Fix the problem of lagging when opening multiple table entries in the frps dashboard.
-
The httpconnect type in tcpmux now supports authentication through the parameters http_user and http_pwd.
The web framework has been upgraded to vue3 + element-plus, and the dashboard has added some information display and supports dark mode.
The e2e testing has been switched to ginkgo v2.
-
Added config bandwidth_limit_mode in frpc, default value is client which is current behavior. Optional value is server, to enable bandwidth limit in server. The major aim is to let server plugin has the ability to modify bandwidth limit for each proxy.
dns_server supports ipv6.
frpc supports graceful shutdown for protocol quic.
-
Add gitee as frps download file
-
Server Plugin sends incorrect op name for NewWorkConn.
QUIC stream leak.
-
Add oidc_scope parameter to frpc when authentication_method = oidc.
Support quic protocol between frpc and frps.
Upgrade oidc and oauth2 package which is forward compatible.
-
Adjust http group load balancing to forward requests to each frpc proxy round robin. Previous behavior is always forwarding requests to a single proxy in the case of single concurrency.
-
Use auto generated certificates if plugin_key_path and plugin_crt_path are empty for plugin https2https and https2http.
Server dashboard supports TLS configs.
xtcp error with IPv6 address.
-
Added route_by_http_user in http and tcpmux proxy to support routing to different clients by HTTP basic auth user.
CONNECT method can be forwarded in http type proxy.
Added tcpmux_passthrough in tcpmux proxy. If true, CONNECT request will be forwarded to frpc.
-
Added new parameter config_dir in frpc to run multiple client instances in one process.
Equal sign in environment variables causes parsing error.
-
Support go http pprof.
Change underlying TCP connection keepalive interval to 2 hours.
Create new connection to server for sudp visitor when needed, to avoid frequent reconnections.
-
Added dial_server_timeout in frpc to specify connecting timeout to frps.
Additional EndpointParams can be set for OIDC.
Added CloseProxy operation in server plugin.
Added some randomness in reconnect delay.
TLS server name is ignored when tls_trusted_ca_file isn’t set.
-
Fixed IPv6 address parse issue.
-
Added connect_server_local_ip in frpc to specify local IP connected to frps.
Added tcp_mux_keepalive_interval both in frpc and frps to set tcp_mux keepalive interval seconds if tcp_mux is enabled. After using this params, you can set heartbeat_interval to -1 to disable application layer heartbeat to reduce traffic usage(Make sure frps is in the latest version).
Server Plugin: Added client_address in Login Operation.
Remove authentication for healthz api.
-
Add /healthz API.
frpc support disable_custom_tls_first_byte .If set true, frpc will not send custom header byte.
Use go standard embed package instead of statik.
-
Plugin https2https not work.
context canceled problem for http_proxy plugin when multiple requests reuse same connection.
In some cases, frps can't get server name for https proxy.
-
frpc add subcommand verify to validate configures before running.
frpc support includes option to split multiple proxy configs into different files.
Support sudp in dashboard.
Use empty string as default value for dashboard user and password.
login_fail_exit is not valid when protocol = kcp.
-
Support reverseproxy to dashboard with additional parts in path.
Fix logic error when parsing configs.
-
Fix bind_udp_port listen on error port.
-
New plugin https2https.
frpc supports tls_server_name to override the default value from server_addr.
Increase reconnect frequency if it occurs an network error between frpc and frps
-
Reduce binary file size.
-
Aliyun download url replace by Gitee download url
-
Server Plugin supports HTTPS.
Fix IPv6 address parse problem.
HTTP type proxy can't handle websocket protocol due to error Connection header value.
-
Command line parameters support enable_prometheus.
-
Stream data transfer delay(e.g. chunked data) for HTTP type proxy.
-
Support NTLM protocol for http proxy to connect frps.
Official docker image support on DockerHub and Github registry.
Fix a dashboard stats data lost problem after client reconnect more than 7 days.
Fix TLS certificate verification failed.
-
Support TLS certificate and mutual TLS authentication.
Support set max UDP package size, default is 1500.
New e2e test framework.
UDP and SUDP proxy don't support compression and encrytion.
Call server plugins in fixed order.
-
Server plugin add NewUserConn interface.
New proxy type sudp to provide a safe way to expose udp service like stcp.
Support load balancing for tcpmux.
Fix invalid of AuthenticateNewWorkConns in frpc.
Fix a panic problem if accept many connections concurrently.
-
New operation Ping and NewWorkConn support in Server Plugin.
Add apiVersion and op params in Server Plugin HTTP request.
Prevent frequently relogin when connection broken after login success soon.
Fix a memory leak problem caused by frequently relogin.
-
Add new download url-gitee,just support install package
-
Support tls_only = true in frps.ini to enforce frps only accept TLS connection.
Set detailed_errors_to_client = false in frps.ini to hide detailed error information to client.
Support prometheus monitor.
Optional OIDC authentication.
New proxy type tcpmux. Support TCP port multiplexing over HTTP Connect tunnel.
Bandwidth limit configure not compared correctly when reloading.
Incorrect connection count stats.
-
Fix not release port when client start proxy error.
-
Fix panic when proxy meta data is set.
-
New server manage plugin to extend frp's ability
Improve xtcp's success rate in some special case.
-
Support bandwidth limit for each proxy.
New plugin https2http, explore https service as http protocol.
-
Fix bug when use_encryption is true for xtcp.
-
New disable_log_color configure to disable console log color.
Plugin https2http support attatch headers by plugin_header_ prefix.
Provide a high-level Go API.
max_pool_count is invalid.
Judge error between IPv4 and IPv6 in proxy protocol
-
Fix a bug that health check worker may stop unexpected.
-
Update standard http ReverseProxy to handle more upgrade protocol
Update some vendor packages.
-
type http support load balancing.
Fix a connection leak problem when login_fail_exit is false.
-
Add read timeout for TLS connection check.
-
Proxy Protocol support plugin unix_domain_socket.
frps support custom 404 page.
-
Support Proxy Protocol.
New plugin https2http.
Fix router config conflict when frpc start by command line mode. #1165
-
Fix panic error when reconnection with tls_enable is true.
-
Change Update version of kcp-go.
Fix connection leak of http health check. #1155
-
Fix a match problem with multilevel subdomain. #1132
frps --log_file is useless. #1125 -
Support TLS between frpc and frps, Set tls enable to enable this feature in frpC.Improve stability of xtcp.
Fix a bug that xtcp don't release connections in some case.
-
Fix Error clear frpc configure file when /api/config called without token set
-
New Support admin UI for frpc
-
Fix Reload proxy not saved after reconnecting
-
Fix client not working caused by reconnecting.
-
Fix status api.
Fix reload and status command error.
-
Support render configure file template with os environment.
Remove check for authentication timeout.