mirror of
https://github.com/XTLS/Xray-core.git
synced 2025-04-30 09:18:34 +00:00
SplitHTTP: More range options, change defaults, enforce maxUploadSize, fix querystring behavior (#3603)
* maxUploadSize and maxConcurrentUploads can now be ranges on the client * maxUploadSize is now enforced on the server * the default of maxUploadSize is 2MB on the server, and 1MB on the client * the default of maxConcurrentUploads is 200 on the server, and 100 on the client * ranges on the server are treated as a single number. if server is configured as `"1-2"`, server will enforce `2` * querystrings in `path` are now handled correctly
This commit is contained in:
parent
4cb2a128db
commit
59f6685774
8 changed files with 223 additions and 82 deletions
|
@ -229,8 +229,8 @@ type SplitHTTPConfig struct {
|
|||
Host string `json:"host"`
|
||||
Path string `json:"path"`
|
||||
Headers map[string]string `json:"headers"`
|
||||
MaxConcurrentUploads int32 `json:"maxConcurrentUploads"`
|
||||
MaxUploadSize int32 `json:"maxUploadSize"`
|
||||
MaxConcurrentUploads Int32Range `json:"maxConcurrentUploads"`
|
||||
MaxUploadSize Int32Range `json:"maxUploadSize"`
|
||||
MinUploadIntervalMs Int32Range `json:"minUploadIntervalMs"`
|
||||
}
|
||||
|
||||
|
@ -245,11 +245,17 @@ func (c *SplitHTTPConfig) Build() (proto.Message, error) {
|
|||
c.Host = c.Headers["Host"]
|
||||
}
|
||||
config := &splithttp.Config{
|
||||
Path: c.Path,
|
||||
Host: c.Host,
|
||||
Header: c.Headers,
|
||||
MaxConcurrentUploads: c.MaxConcurrentUploads,
|
||||
MaxUploadSize: c.MaxUploadSize,
|
||||
Path: c.Path,
|
||||
Host: c.Host,
|
||||
Header: c.Headers,
|
||||
MaxConcurrentUploads: &splithttp.RandRangeConfig{
|
||||
From: c.MaxConcurrentUploads.From,
|
||||
To: c.MaxConcurrentUploads.To,
|
||||
},
|
||||
MaxUploadSize: &splithttp.RandRangeConfig{
|
||||
From: c.MaxUploadSize.From,
|
||||
To: c.MaxUploadSize.To,
|
||||
},
|
||||
MinUploadIntervalMs: &splithttp.RandRangeConfig{
|
||||
From: c.MinUploadIntervalMs.From,
|
||||
To: c.MinUploadIntervalMs.To,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue