-
-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3499 from fatedier/dev
release v0.50.0
- Loading branch information
Showing
79 changed files
with
1,456 additions
and
1,317 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,6 +29,7 @@ packages/ | |
release/ | ||
test/bin/ | ||
vendor/ | ||
lastversion/ | ||
dist/ | ||
.idea/ | ||
.vscode/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,18 @@ | ||
## Notes | ||
|
||
We have thoroughly refactored xtcp in this version to improve its penetration rate and stability. | ||
**For enhanced security, the default values for `tls_enable` and `disable_custom_tls_first_byte` have been set to true.** | ||
|
||
In this version, different penetration strategies can be attempted by retrying connections multiple times. Once a hole is successfully punched, the strategy will be recorded in the server cache for future reuse. When new users connect, the successfully penetrated tunnel can be reused instead of punching a new hole. | ||
If you wish to revert to the previous default values, you need to manually set the values of these two parameters to false. | ||
|
||
**Due to a significant refactor of xtcp, this version is not compatible with previous versions of xtcp.** | ||
### Features | ||
|
||
**To use features related to xtcp, both frpc and frps need to be updated to the latest version.** | ||
* 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. | ||
|
||
### New | ||
### Improvements | ||
|
||
* 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. | ||
* Increased the default value of `MaxStreamWindowSize` for yamux to 6MB, improving traffic forwarding rate in high-latency scenarios. | ||
|
||
### Fix | ||
### Fixes | ||
|
||
* Fix the problem of lagging when opening multiple table entries in the frps dashboard. | ||
* Fixed an issue where having proxies with the same name would cause previously working proxies to become ineffective in `xtcp`. |
22 changes: 11 additions & 11 deletions
22
assets/frps/static/index-93e38bbf.js → assets/frps/static/index-ea3edf22.js
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
// Copyright 2023 The frp Authors | ||
// | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
package proxy | ||
|
||
import ( | ||
"reflect" | ||
|
||
"github.com/fatedier/frp/pkg/config" | ||
) | ||
|
||
func init() { | ||
pxyConfs := []config.ProxyConf{ | ||
&config.TCPProxyConf{}, | ||
&config.HTTPProxyConf{}, | ||
&config.HTTPSProxyConf{}, | ||
&config.STCPProxyConf{}, | ||
&config.TCPMuxProxyConf{}, | ||
} | ||
for _, cfg := range pxyConfs { | ||
RegisterProxyFactory(reflect.TypeOf(cfg), NewGeneralTCPProxy) | ||
} | ||
} | ||
|
||
// GeneralTCPProxy is a general implementation of Proxy interface for TCP protocol. | ||
// If the default GeneralTCPProxy cannot meet the requirements, you can customize | ||
// the implementation of the Proxy interface. | ||
type GeneralTCPProxy struct { | ||
*BaseProxy | ||
} | ||
|
||
func NewGeneralTCPProxy(baseProxy *BaseProxy, cfg config.ProxyConf) Proxy { | ||
return &GeneralTCPProxy{ | ||
BaseProxy: baseProxy, | ||
} | ||
} |
Oops, something went wrong.