369d8944cf
Sockopt config: Add penetrate
for XHTTP U-D-S, Remove tcpNoDelay
...
Now `sockopt` can be shared via `extra`, and be replaced with upload's forcibly.
Closes https://github.com/XTLS/Xray-core/issues/4227
2024-12-31 11:10:17 +00:00
4ce65fc74c
XHTTP XMUX: cMaxLifetimeMs
-> hMaxReusableSecs
, Refactor default values
...
"xmux": {
"maxConcurrency": "16-32",
"maxConnections": 0,
"cMaxReuseTimes": 0,
"hMaxRequestTimes": "600-900",
"hMaxReusableSecs": "1800-3000",
"hKeepAlivePeriod": 0
}
Fixes https://github.com/XTLS/Xray-core/discussions/4113#discussioncomment-11685057
2024-12-31 10:00:19 +00:00
db934f0832
XHTTP client: Merge Open* into OpenStream(), and more
...
https://github.com/XTLS/Xray-core/issues/4148#issuecomment-2557066988
2024-12-20 14:35:33 +00:00
53b04d560b
XHTTP client: Make H3 httptrace work on v2rayNG
...
Introduced in https://github.com/XTLS/Xray-core/pull/4150
2024-12-20 07:19:41 +00:00
1410b6335b
XHTTP XMUX: Fix OpenUsage never gets reduced
...
Introduced in https://github.com/XTLS/Xray-core/pull/4163
2024-12-20 06:19:10 +00:00
ff8b66aacb
XHTTP client: scMaxEachPostBytes
should be bigger than buf.Size (8192)
...
To avoid no size limit.
2024-12-18 13:25:34 +00:00
9dbdf92c27
XHTTP downloadSettings
: Inherit sockopt
if its own doesn't exist (e.g., in extra
)
...
If you want `downloadSettings` to use its own `sockopt`, make sure that `extra` doesn't exist.
2024-12-18 11:22:29 +00:00
73e0d4a666
XHTTP XMUX: Add hMaxRequestTimes
and hKeepAlivePeriod
( #4163 )
...
Fixes https://github.com/XTLS/Xray-core/discussions/4113#discussioncomment-11492833
2024-12-15 05:43:10 +00:00
7463561856
XHTTP client: Add decideHTTPVersion() and more logs
...
https://github.com/XTLS/Xray-core/pull/4150#issuecomment-2537981368
2024-12-12 12:19:18 +00:00
8cd9a74376
XHTTP client: Refactor "packet-up" mode, chasing "stream-up" ( #4150 )
...
* Add wroteRequest (waiting for new quic-go)
* Use XTLS/quic-go instead
* Client doesn't need `scMaxConcurrentPosts` anymore
* GotConn is available in H3
* `scMaxConcurrentPosts` -> `scMaxBufferedPosts` (server only, 30 by default)
Fixes https://github.com/XTLS/Xray-core/issues/4100
2024-12-11 14:05:39 +00:00
a2b773135a
XHTTP, WS, HU: Forbid "host" in headers
, read serverName
instead ( #4142 )
...
WebSocket's config files should be updated ASAP.
2024-12-11 00:58:14 +00:00
c87cf8ff52
XHTTP config: Add keepAlivePeriod
for client ( #4075 )
...
Closes https://github.com/XTLS/Xray-core/issues/4053
---------
Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com >
2024-11-29 02:05:11 +00:00
f7bd98b13c
XHTTP: Add "stream-one" mode for client & server ( #4071 )
...
""Breaking"": Client uses "stream-one" mode by default when using **REALITY** ("stream-up" if "downloadSettings" exists)
2024-11-27 20:19:18 +00:00
817fa72874
XHTTP client: Add gRPC header to "stream-up" mode by default ( #4042 )
...
""Breaking"": Client uses "stream-up" mode by default when using **TLS H2** or REALITY
2024-11-21 05:45:49 +00:00
2d7b0e8cd4
XHTTP client: Fix upload issue in "packet-up" mode inherited from SplitHTTP
...
Fixes https://github.com/XTLS/Xray-core/issues/3972
2024-11-17 06:03:25 +00:00
bc4bf3d38f
XHTTP: Add "stream-up" mode for client & server ( #3994 )
2024-11-09 11:05:41 +00:00
6877ca5201
XHTTP client: Allow different paths in U-D-S ( #3977 )
2024-11-07 03:50:28 +00:00
9fbb6fbb3b
XHTTP client: Move dest2
into MemoryStreamConfig
as well
2024-11-04 05:00:18 +00:00
e3276df725
XHTTP client: Enable XMUX for download in U-D-S ( #3965 )
2024-11-03 07:25:41 +00:00
b30e05d1bc
XHTTP: The real upload / download splitting ( #3955 )
...
* SplitHTTP client: Add real upload / download splitting
* Transport: Add XHTTP as an alias of SplitHTTP
* XHTTP config: Use `downloadSettings` instead
2024-10-31 07:31:19 +00:00
e733148c0b
REALITY: Unblock SplitHTTP transport ( #3816 )
...
https://github.com/XTLS/Xray-core/pull/3816#issuecomment-2445694775
2024-10-30 02:31:05 +00:00
b1c6471eeb
SplitHTTP client: Add xmux (multiplex controller) for H3 & H2 ( #3613 )
...
https://github.com/XTLS/Xray-core/pull/3613#issuecomment-2351954957
Closes https://github.com/XTLS/Xray-core/issues/3560#issuecomment-2247495778
---------
Co-authored-by: mmmray <142015632+mmmray@users.noreply.github.com >
2024-09-16 12:42:01 +00:00
a931507dd6
SplitHTTP: Read and validate HTTP/1.1 responses ( #3797 )
2024-09-16 12:33:03 +00:00
ab3c00e96b
SplitHTTP: Remove ok
compatibility logic ( #3753 )
...
Remove some code that was added to maintain compatibility with older
Xray versions. This breaks compatibility with Xray-core v1.8.23 or older.
2024-09-03 02:25:15 +00:00
83eef6bc1f
SplitHTTP: Fix connection leaks and crashes ( #3710 )
2024-08-22 17:07:57 +02:00
160316d53c
SplitHTTP: Do not produce too large upload ( #3691 )
2024-08-17 13:01:58 +02:00
498d8eb3cc
DialerProxy: Fix SplitHTTP H3 dialerProxy ( #3570 )
...
* wip
* wip
* formatting
* cnc connection no longer needs to be a Packetconn
* dialerProxy: do not cancel connection when Dial context is cancelled
2024-08-11 12:58:52 -04:00
a3b306aaa4
SplitHTTP: Replace responseOkPadding with xPaddingBytes ( #3643 )
2024-08-10 21:47:42 +00:00
85e2ebc6f7
SplitHTTP client: Raise idle timeout to 5 minutes, Add h*KeepalivePeriod ( #3624 )
2024-08-10 05:40:48 +00:00
30af792777
SplitHTTP: Rename three options & Reduce server defaults ( #3611 )
...
* maxUploadSize -> scMaxEachPostBytes, default is 1MB on both sides (was 2MB on the server)
* minUploadIntervalMs -> scMinPostsIntervalMs, default is 30ms on the client (no server support for now)
* maxConcurrentUploads -> scMaxConcurrentPosts, default is 100 on both sides (was 200 on the server)
2024-07-29 10:10:29 +00:00
59f6685774
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
2024-07-29 04:35:17 +00:00
8a4217fdf5
SplitHTTP client: Add minUploadInterval ( #3592 )
2024-07-27 12:52:36 +00:00
22535d8643
Fix SplitHTTP H3 didn't always reuse QUIC connection
...
https://github.com/XTLS/Xray-core/issues/3560#issuecomment-2241531502
2024-07-21 08:55:03 +00:00
964859b4bc
SplitHTTP: Remove unnecessary keepalives ( #3565 )
...
Remove keep alive since quic-go/http3 doesn't support stream reuse
Discussion see https://t.me/projectXray/3782492
Co-authored-by: Fangliding <Fangliding.fshxy@outlook.com >
Co-authored-by: xqzr <34030394+xqzr@users.noreply.github.com >
Co-authored-by: ll11l1lIllIl1lll <88377095+ll11l1lIllIl1lll@users.noreply.github.com >
2024-07-20 19:34:57 -05:00
d8994b7603
Fix SplitHTTP H3 crash on v2rayNG ( #3559 )
...
Fixes https://github.com/XTLS/Xray-core/issues/3556
2024-07-19 17:52:34 +00:00
c40fc44a34
SplitHTTP: Client supports HTTP/3 ( #3543 )
...
Closes https://github.com/XTLS/Xray-core/issues/3456
Co-authored-by: Fangliding <Fangliding.fshxy@outlook.com >
Co-authored-by: mmmray <142015632+mmmray@users.noreply.github.com >
2024-07-17 07:55:28 -05:00
c8f6ba9ff0
Add SplitHTTP Browser Dialer support ( #3484 )
2024-07-11 07:56:20 +00:00
c6a57b2cc1
Fix connection reuse in splithttp HTTP/1.1 ( #3485 )
2024-07-01 05:30:34 +02:00
079d0bd8a9
Refactor log ( #3446 )
...
* Refactor log
* Add new log methods
* Fix logger test
* Change all logging code
* Clean up pathObj
* Rebase to latest main
* Remove invoking method name after the dot
2024-06-29 14:32:57 -04:00
8320732743
SplitHTTP: ok -> ooooooooook (parser in client)
...
https://github.com/XTLS/Xray-core/pull/3479#issuecomment-2196370334
2024-06-28 16:53:18 +08:00
ee2000f6e1
splithttp: Add support for H2C and http/1.1 ALPN on server ( #3465 )
...
* Add H2C support to server
* update comment
* Make http1.1 ALPN work on SplitHTTP client
Users that encounter protocol version issues will likely try to set the
ALPN explicitly. In that case we should simply grant their wish, because
the intent is obvious.
2024-06-23 13:05:37 -04:00
8fe976d7ee
Upgrade SplitHTTP Transport ( #3462 )
...
* move to paths instead of querystrings
* permit early data on serverside
* early data for the client, fix context cancellation
2024-06-20 23:30:51 +00:00
c1a7602412
fix compatibility issues with go 1.21
2024-06-18 10:23:29 -04:00
c10bd28731
Add SplitHTTP Transport ( #3412 )
2024-06-18 05:36:36 +00:00