0
mirror of https://github.com/XTLS/Xray-core.git synced 2025-06-11 11:03:21 +03:00
Commit Graph

166 Commits

Author SHA1 Message Date
0ea2a50264 Add option realitySettings.masterKeyLog 2024-01-11 10:57:04 -05:00
2b08d8638e Let tlsSettings.masterKeyLog and tlsSettings.fingerprint work together 2024-01-10 11:34:52 -05:00
eacdda3c93 Fix connecting to quic outbound with domain address 2023-12-25 22:25:22 -05:00
b7f21be8bc fix ecdh crash in reality 2023-12-24 15:38:44 -05:00
d60281d0a5 Add DestIpAddress() in Dialer interface
Android client prepares an IP before proxy connection is established. It is useful when connecting to wireguard (or quic) outbound with domain address. E.g. engage.cloudflareclient.com:2408
2023-12-18 18:36:56 -05:00
5a5e615b46 Enable interface setting for socketopt under Windows (#2819)
* allow set interface under windows

Signed-off-by: San Zhang <zhangan@mail.com>

* polish code

Signed-off-by: San Zhang <zhangan@mail.com>

---------

Signed-off-by: San Zhang <zhangan@mail.com>
Co-authored-by: San Zhang <zhangan@mail.com>
2023-12-17 17:56:15 -05:00
69cbb4c47a Change WS upgraderBufferSize
due to https://github.com/gorilla/websocket/issues/223
2023-11-28 11:28:58 -05:00
6f092bd212 Add "masterKeyLog" in TLS config (#2758)
* Add "enableMasterKeyLog" in TLS config

Turn on the debug option for Wireshark to decrypt traffic

* Change to "masterKeyLog" to configure a path
2023-11-27 10:08:34 -05:00
f1c81557dc #2605: Add safety check for type casting for QUIC dialer
Issue #2605 brought up real problem that QUIC dialer doesn't support sockopt at the moment. Inside `internet.DialSystem(...)` function, one of the branch that involves `redirect(...)` returns `cnc.connection` instance that is currently unhandled by the code logic, and thus caused program panic during runtime.

It seems the sockopt support for QUIC protocol requires a couple changes including making `cnc.connection` public, such that we can handle in dialer, along with some thorough tests, this commit simply adds safety check to explicity state the fact that QUIC isn't working with sockopt. And the implementation of the feature can be scheduled later on.
2023-11-14 10:14:26 -05:00
7523f7f440 统一 domainStrategy 行为. (#2720)
* 统一 `domainStrategy` 行为.

* Update proto

---------

Co-authored-by: rui0572 <125641819+rui0572@users.noreply.github.com>
2023-11-12 16:37:02 -05:00
d9fd3f8eb1 Freedom xdomain strategy (#2719)
* 统一 `domainStrategy` 行为.

* aliases NG.

* 化简.

* 调整.

* Let it crash.

* Update proto

---------

Co-authored-by: rui0572 <125641819+rui0572@users.noreply.github.com>
2023-11-12 16:27:39 -05:00
cc4b28b159 Remove dragonfly build 2023-11-12 14:30:50 -05:00
d24a636c75 Move some log from stdout to ray log 2023-10-28 21:31:54 -04:00
4f05e0ac2b Unify environment var readers 2023-10-29 15:16:57 -04:00
6177ec7faf add bindAddr for darwin 2023-10-16 10:24:28 -04:00
e244db76fb Update all dependencies 2023-09-29 23:06:15 -04:00
07ae08126c binding socket interface to sockopt_darwin.go 2023-09-22 10:35:59 -04:00
c00e56c0da Add tcpMptcp to sockopt (#2520) 2023-09-07 17:32:27 +00:00
b8bd243df5 Fix buffer.UDP destination override (#2356) 2023-08-29 07:12:36 +00:00
d92002ad12 Dialer: Set TimeoutOnly for gctx and hctx
https://github.com/XTLS/Xray-core/issues/2232#issuecomment-1694570914

Thank @cty123 for testing

Fixes https://github.com/XTLS/Xray-core/issues/2232

BTW: Use `uConn.HandshakeContext(ctx)` in REALITY
2023-08-27 05:55:58 +00:00
10d6b06578 fix(transport): correctly release UDS locker file (#2305)
* fix(transport): correctly release UDS locker file

* use callback function to do some jobs after create listener
2023-08-26 07:35:44 -04:00
2d5475f428 Update transport/internet/reality/reality.go
Fixes https://github.com/XTLS/Xray-core/issues/2491
2023-08-26 07:33:26 -04:00
efe8f3f4d6 fix(config): fix grpc cofnig parsing when service name only has one '/' char 2023-08-20 22:19:13 -04:00
51769fdde1 H2 transport: Abandon client if client.Do(request) failed
See https://github.com/golang/go/issues/30702

Fixes https://github.com/XTLS/Xray-core/issues/2355
2023-07-22 06:06:25 +08:00
ee21763928 Run "go fmt ./..." 2023-06-18 09:46:57 -04:00
084f4f2e4c Update comments in reality.go 2023-06-15 13:07:08 -04:00
65b467e448 REALITY protocol: Add ChaCha20-Poly1305 auth mode (#2212)
https://github.com/XTLS/REALITY/pull/4
2023-06-15 13:06:46 -04:00
d11d72be6c Update proto file and fix protoc version parsing
The new protoc cli return version v23.1,
so we parse the file version v4.23.1 without "4."
2023-06-11 13:36:06 -04:00
86b4b81f1d Bump github.com/quic-go/quic-go from 0.34.0 to 0.35.1
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.34.0 to 0.35.1.
- [Release notes](https://github.com/quic-go/quic-go/releases)
- [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md)
- [Commits](https://github.com/quic-go/quic-go/compare/v0.34.0...v0.35.1)

---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 18:23:56 -04:00
5f5ae37571 Added tcp fragmentation for freedom outbound (#2021)
* Added tcp fragmentation for freedom outbound

* Added TCP_NODELAY to outbound sockopt

* Changed fragment parameters to accept ranges and changed strategy to use length

* Changed packetNumber to packets, supporting range.

* Refactored the freedom fragment logic

* Refine Write()

---------

Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>
2023-05-22 02:59:58 +00:00
c80646a045 Clean code dependencies on github.com/miekg/dns (#2099) 2023-05-21 03:40:56 +00:00
d9af02812f Add ctx to UDP dispatcherConn (#2024) 2023-05-06 03:18:08 +00:00
dd81ad5342 Add tcpMaxSeg to sockopt (#2002) 2023-04-30 00:03:30 +00:00
18e5b0963f Update dependencies 2023-04-23 19:32:07 +08:00
90d915ea05 feat: add tcp_user_timeout
```json
{"streamSettings":{"sockopt": {"tcpUserTimeout": 10000}}}
```

run `gofmt -w -s .` as well
2023-04-22 20:41:43 -04:00
197bc78ea1 Turn off Quic qlog since it jam the regular test info 2023-04-17 11:56:55 -04:00
be23d5d3b7 XUDP protocol: Add Global ID & UoT Migration
The first UoT protocol that supports UoT Migration
Thank @yuhan6665 for testing
2023-04-06 10:21:35 +00:00
2c0a89f7dc REALITY protocol: Set the fourth byte as reserved 2023-03-31 22:39:57 +00:00
beb603af06 Allow IP address ServerName when "serverName" is not configured
In this case, TLS Client Hello will not have SNI (RFC 6066, Section 3)
2023-03-26 10:57:20 +00:00
526c6789ed Add custom path to gRPC (#1815) 2023-03-26 09:28:19 +03:30
6872be5cc3 Add user agent to gRPC (#1790) 2023-03-26 09:23:42 +03:30
0573760346 Do not show ciphertext SessionID or full AuthKey 2023-03-20 23:39:56 +08:00
55efac7236 Reformat code 2023-03-17 13:17:08 +08:00
c3322294be Add tcpWindowClamp to sockopt (#1757)
Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>
2023-03-09 13:51:16 +00:00
836e84b851 Add recover() to H2 server's flushWriter.Write()
Fixes https://github.com/XTLS/Xray-core/issues/1748
2023-03-08 14:06:20 +00:00
9e5bc07bf2 Legends never die (#1725) 2023-03-04 10:39:26 +00:00
6526e74d49 Add WaitReadCloser to make H2 real 0-RTT 2023-03-02 14:50:26 +00:00
55dc26f228 Add REALITY support to gRPC client and server
Now you are able to configure REALITY gRPC client and server
Duplicate of REALITY H2, perhaps, just for fun
2023-02-27 19:52:01 +00:00
9401d65ef1 Add REALITY support to H2 server
Now you are able to configure REALITY H2 server directly
Before: REALITY VLESS fallbacks -> H2C inbound
2023-02-27 16:20:19 +00:00
c38179a67f Upgrade github.com/xtls/reality to f34b4d174342
Fixes https://github.com/XTLS/Xray-core/issues/1712
2023-02-26 19:26:57 +08:00