Skip to content

Commit 974abc9

Browse files
author
xrayrgoon
authored
xray-core v25.3.6 and other updates (#748)
1 parent b1f5ccf commit 974abc9

File tree

10 files changed

+124
-228
lines changed

10 files changed

+124
-228
lines changed

.github/workflows/docker.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
digest="${{ steps.build.outputs.digest }}"
5252
touch "/tmp/digests/${digest#sha256:}"
5353
- name: Upload digest
54-
uses: actions/upload-artifact@v3
54+
uses: actions/upload-artifact@v4
5555
with:
5656
name: digests
5757
path: /tmp/digests/*

.github/workflows/release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ jobs:
176176
run: |
177177
mv build_assets XrayR-$ASSET_NAME
178178
- name: Upload files to Artifacts
179-
uses: actions/upload-artifact@v3
179+
uses: actions/upload-artifact@v4
180180
with:
181181
name: XrayR-${{ steps.get_filename.outputs.ASSET_NAME }}
182182
path: |

api/v2raysocks/v2raysocks.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ func (c *APIClient) GetNodeInfo() (nodeInfo *api.NodeInfo, err error) {
195195

196196
if err != nil {
197197
res, _ := response.MarshalJSON()
198-
return nil, fmt.Errorf("Parse node info failed: %s, \nError: %s", string(res), err)
198+
return nil, fmt.Errorf("parse node info failed: %s, \nError: %s", string(res), err)
199199
}
200200

201201
return nodeInfo, nil
@@ -495,7 +495,9 @@ func (c *APIClient) ParseV2rayNodeResponse(nodeInfoResponse *simplejson.Json) (*
495495
}
496496

497497
// XTLS only supports TLS and REALITY directly for now
498-
if transportProtocol == "tcp" && enableReality {
498+
if (transportProtocol == "grpc" || transportProtocol == "h2") && enableReality {
499+
vlessFlow = ""
500+
} else if transportProtocol == "tcp" && enableReality {
499501
vlessFlow = "xtls-rprx-vision"
500502
} else {
501503
vlessFlow = c.VlessFlow

app/mydispatcher/default.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ func init() {
107107
common.Must(common.RegisterConfig((*Config)(nil), func(ctx context.Context, config interface{}) (interface{}, error) {
108108
d := new(DefaultDispatcher)
109109
if err := core.RequireFeatures(ctx, func(om outbound.Manager, router routing.Router, pm policy.Manager, sm stats.Manager, dc dns.Client) error {
110-
core.RequireFeatures(ctx, func(fdns dns.FakeDNSEngine) {
110+
core.OptionalFeatures(ctx, func(fdns dns.FakeDNSEngine) {
111111
d.fdns = fdns
112112
})
113113
return d.Init(config.(*Config), om, router, pm, sm, dc)
@@ -145,7 +145,7 @@ func (*DefaultDispatcher) Close() error {
145145
return nil
146146
}
147147

148-
func (d *DefaultDispatcher) getLink(ctx context.Context, network net.Network, sniffing session.SniffingRequest) (*transport.Link, *transport.Link, error) {
148+
func (d *DefaultDispatcher) getLink(ctx context.Context) (*transport.Link, *transport.Link, error) {
149149
opt := pipe.OptionsFromContext(ctx)
150150
uplinkReader, uplinkWriter := pipe.New(opt...)
151151
downlinkReader, downlinkWriter := pipe.New(opt...)
@@ -256,7 +256,7 @@ func (d *DefaultDispatcher) Dispatch(ctx context.Context, destination net.Destin
256256
}
257257

258258
sniffingRequest := content.SniffingRequest
259-
inbound, outbound, err := d.getLink(ctx, destination.Network, sniffingRequest)
259+
inbound, outbound, err := d.getLink(ctx)
260260
if err != nil {
261261
return nil, err
262262
}

app/mydispatcher/sniffer.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ type Sniffer struct {
3434
func NewSniffer(ctx context.Context) *Sniffer {
3535
ret := &Sniffer{
3636
sniffer: []protocolSnifferWithMetadata{
37-
{func(c context.Context, b []byte) (SniffResult, error) { return http.SniffHTTP(b) }, false, net.Network_TCP},
37+
{func(c context.Context, b []byte) (SniffResult, error) { return http.SniffHTTP(b, ctx) }, false, net.Network_TCP},
3838
{func(c context.Context, b []byte) (SniffResult, error) { return tls.SniffTLS(b) }, false, net.Network_TCP},
3939
{func(c context.Context, b []byte) (SniffResult, error) { return bittorrent.SniffBittorrent(b) }, false, net.Network_TCP},
4040
{func(c context.Context, b []byte) (SniffResult, error) { return quic.SniffQUIC(b) }, false, net.Network_UDP},

cmd/distro/all/all.go

+5-3
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,22 @@ import (
3131
_ "github.com/xtls/xray-core/proxy/dokodemo"
3232
_ "github.com/xtls/xray-core/proxy/freedom"
3333
_ "github.com/xtls/xray-core/proxy/http"
34+
_ "github.com/xtls/xray-core/proxy/loopback"
3435
_ "github.com/xtls/xray-core/proxy/shadowsocks"
36+
_ "github.com/xtls/xray-core/proxy/shadowsocks_2022"
3537
_ "github.com/xtls/xray-core/proxy/socks"
3638
_ "github.com/xtls/xray-core/proxy/trojan"
3739
_ "github.com/xtls/xray-core/proxy/vless/inbound"
3840
_ "github.com/xtls/xray-core/proxy/vless/outbound"
3941
_ "github.com/xtls/xray-core/proxy/vmess/inbound"
4042
_ "github.com/xtls/xray-core/proxy/vmess/outbound"
43+
_ "github.com/xtls/xray-core/proxy/wireguard"
4144

4245
// Transports
43-
_ "github.com/xtls/xray-core/transport/internet/domainsocket"
44-
_ "github.com/xtls/xray-core/transport/internet/http"
46+
_ "github.com/xtls/xray-core/transport/internet/grpc"
4547
_ "github.com/xtls/xray-core/transport/internet/kcp"
46-
_ "github.com/xtls/xray-core/transport/internet/quic"
4748
_ "github.com/xtls/xray-core/transport/internet/reality"
49+
_ "github.com/xtls/xray-core/transport/internet/splithttp"
4850
_ "github.com/xtls/xray-core/transport/internet/tcp"
4951
_ "github.com/xtls/xray-core/transport/internet/tls"
5052
_ "github.com/xtls/xray-core/transport/internet/udp"

go.mod

+34-32
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module github.com/XrayR-project/XrayR
22

3-
go 1.22.0
3+
go 1.24
4+
5+
toolchain go1.24.1
46

57
require (
68
dario.cat/mergo v1.0.0
@@ -16,22 +18,22 @@ require (
1618
github.com/patrickmn/go-cache v2.1.0+incompatible
1719
github.com/r3labs/diff/v2 v2.15.1
1820
github.com/redis/go-redis/v9 v9.7.0
19-
github.com/sagernet/sing v0.4.1
21+
github.com/sagernet/sing v0.5.1
2022
github.com/sagernet/sing-shadowsocks v0.2.7
2123
github.com/shirou/gopsutil/v3 v3.24.5
2224
github.com/sirupsen/logrus v1.9.3
2325
github.com/spf13/cobra v1.8.1
2426
github.com/spf13/viper v1.18.2
25-
github.com/stretchr/testify v1.9.0
26-
github.com/xtls/xray-core v1.8.20
27-
golang.org/x/crypto v0.28.0
28-
golang.org/x/net v0.27.0
27+
github.com/stretchr/testify v1.10.0
28+
github.com/xtls/xray-core v1.250306.0
29+
golang.org/x/crypto v0.36.0
30+
golang.org/x/net v0.37.0
2931
golang.org/x/time v0.7.0
30-
google.golang.org/protobuf v1.34.2
32+
google.golang.org/protobuf v1.36.5
3133
)
3234

3335
require (
34-
cloud.google.com/go/compute/metadata v0.3.0 // indirect
36+
cloud.google.com/go/compute/metadata v0.6.0 // indirect
3537
github.com/AdamSLevy/jsonrpc2/v14 v14.1.0 // indirect
3638
github.com/Azure/azure-sdk-for-go v68.0.0+incompatible // indirect
3739
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 // indirect
@@ -86,7 +88,7 @@ require (
8688
github.com/chenzhuoyu/iasm v0.9.1 // indirect
8789
github.com/civo/civogo v0.3.63 // indirect
8890
github.com/clbanning/mxj/v2 v2.7.0 // indirect
89-
github.com/cloudflare/circl v1.3.9 // indirect
91+
github.com/cloudflare/circl v1.6.0 // indirect
9092
github.com/cloudflare/cloudflare-go v0.90.0 // indirect
9193
github.com/cpu/goacmedns v0.1.1 // indirect
9294
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
@@ -100,14 +102,13 @@ require (
100102
github.com/fatih/structs v1.1.0 // indirect
101103
github.com/felixge/httpsnoop v1.0.4 // indirect
102104
github.com/flosch/pongo2/v4 v4.0.2 // indirect
103-
github.com/francoispqt/gojay v1.2.13 // indirect
104105
github.com/gabriel-vasile/mimetype v1.4.3 // indirect
105106
github.com/ghodss/yaml v1.0.1-0.20220118164431-d8423dcdf344 // indirect
106107
github.com/gin-contrib/sse v0.1.0 // indirect
107108
github.com/gin-gonic/gin v1.9.1 // indirect
108109
github.com/go-errors/errors v1.5.1 // indirect
109110
github.com/go-jose/go-jose/v4 v4.0.1 // indirect
110-
github.com/go-logr/logr v1.4.1 // indirect
111+
github.com/go-logr/logr v1.4.2 // indirect
111112
github.com/go-logr/stdr v1.2.2 // indirect
112113
github.com/go-ole/go-ole v1.3.0 // indirect
113114
github.com/go-playground/locales v0.14.1 // indirect
@@ -178,7 +179,7 @@ require (
178179
github.com/mattn/go-isatty v0.0.20 // indirect
179180
github.com/mattn/go-runewidth v0.0.15 // indirect
180181
github.com/microcosm-cc/bluemonday v1.0.26 // indirect
181-
github.com/miekg/dns v1.1.61 // indirect
182+
github.com/miekg/dns v1.1.63 // indirect
182183
github.com/mimuret/golang-iij-dpf v0.9.1 // indirect
183184
github.com/mitchellh/go-homedir v1.1.0 // indirect
184185
github.com/mitchellh/mapstructure v1.5.0 // indirect
@@ -203,7 +204,7 @@ require (
203204
github.com/ovh/go-ovh v1.4.3 // indirect
204205
github.com/pelletier/go-toml v1.9.5 // indirect
205206
github.com/pelletier/go-toml/v2 v2.1.1 // indirect
206-
github.com/pires/go-proxyproto v0.7.0 // indirect
207+
github.com/pires/go-proxyproto v0.8.0 // indirect
207208
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
208209
github.com/pkg/errors v0.9.1 // indirect
209210
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
@@ -213,8 +214,8 @@ require (
213214
github.com/prometheus/client_model v0.6.0 // indirect
214215
github.com/prometheus/common v0.50.0 // indirect
215216
github.com/prometheus/procfs v0.13.0 // indirect
216-
github.com/quic-go/qpack v0.4.0 // indirect
217-
github.com/quic-go/quic-go v0.45.1 // indirect
217+
github.com/quic-go/qpack v0.5.1 // indirect
218+
github.com/quic-go/quic-go v0.50.0 // indirect
218219
github.com/refraction-networking/utls v1.6.7 // indirect
219220
github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 // indirect
220221
github.com/rivo/uniseg v0.2.0 // indirect
@@ -253,7 +254,7 @@ require (
253254
github.com/valyala/bytebufferpool v1.0.0 // indirect
254255
github.com/valyala/fasttemplate v1.2.2 // indirect
255256
github.com/vinyldns/go-vinyldns v0.9.16 // indirect
256-
github.com/vishvananda/netlink v1.2.1-beta.2.0.20230316163032-ced5aaba43e3 // indirect
257+
github.com/vishvananda/netlink v1.3.0 // indirect
257258
github.com/vishvananda/netns v0.0.4 // indirect
258259
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
259260
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
@@ -265,43 +266,44 @@ require (
265266
github.com/yosssi/ace v0.0.5 // indirect
266267
github.com/yusufpapurcu/wmi v1.2.4 // indirect
267268
go.opencensus.io v0.24.0 // indirect
269+
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
268270
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
269-
go.opentelemetry.io/otel v1.24.0 // indirect
270-
go.opentelemetry.io/otel/metric v1.24.0 // indirect
271-
go.opentelemetry.io/otel/sdk v1.22.0 // indirect
272-
go.opentelemetry.io/otel/trace v1.24.0 // indirect
271+
go.opentelemetry.io/otel v1.34.0 // indirect
272+
go.opentelemetry.io/otel/metric v1.34.0 // indirect
273+
go.opentelemetry.io/otel/sdk v1.34.0 // indirect
274+
go.opentelemetry.io/otel/trace v1.34.0 // indirect
273275
go.uber.org/atomic v1.11.0 // indirect
274-
go.uber.org/mock v0.4.0 // indirect
276+
go.uber.org/mock v0.5.0 // indirect
275277
go.uber.org/multierr v1.11.0 // indirect
276278
go.uber.org/ratelimit v0.3.1 // indirect
277279
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect
278280
golang.org/x/arch v0.7.0 // indirect
279281
golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect
280-
golang.org/x/mod v0.18.0 // indirect
281-
golang.org/x/oauth2 v0.20.0 // indirect
282-
golang.org/x/sync v0.8.0 // indirect
283-
golang.org/x/sys v0.26.0 // indirect
284-
golang.org/x/text v0.19.0 // indirect
285-
golang.org/x/tools v0.22.0 // indirect
282+
golang.org/x/mod v0.21.0 // indirect
283+
golang.org/x/oauth2 v0.25.0 // indirect
284+
golang.org/x/sync v0.12.0 // indirect
285+
golang.org/x/sys v0.31.0 // indirect
286+
golang.org/x/text v0.23.0 // indirect
287+
golang.org/x/tools v0.26.0 // indirect
286288
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
287289
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 // indirect
288290
google.golang.org/api v0.170.0 // indirect
289291
google.golang.org/appengine v1.6.8 // indirect
290292
google.golang.org/genproto v0.0.0-20240314234333-6e1732d8331c // indirect
291-
google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157 // indirect
292-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect
293-
google.golang.org/grpc v1.65.0 // indirect
293+
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect
294+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect
295+
google.golang.org/grpc v1.71.0 // indirect
294296
gopkg.in/inf.v0 v0.9.1 // indirect
295297
gopkg.in/ini.v1 v1.67.0 // indirect
296298
gopkg.in/ns1/ns1-go.v2 v2.9.0 // indirect
297299
gopkg.in/yaml.v2 v2.4.0 // indirect
298300
gopkg.in/yaml.v3 v3.0.1 // indirect
299-
gvisor.dev/gvisor v0.0.0-20231202080848-1f7806d17489 // indirect
301+
gvisor.dev/gvisor v0.0.0-20240320123526-dc6abceb7ff0 // indirect
300302
k8s.io/api v0.29.2 // indirect
301303
k8s.io/apimachinery v0.29.2 // indirect
302304
k8s.io/klog/v2 v2.120.1 // indirect
303305
k8s.io/utils v0.0.0-20240310230437-4693a0247e57 // indirect
304-
lukechampine.com/blake3 v1.3.0 // indirect
306+
lukechampine.com/blake3 v1.4.0 // indirect
305307
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
306308
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
307309
)

0 commit comments

Comments
 (0)