Commit Graph
97 Commits
Author SHA1 Message Date
Meo597 73fb3e8f4a refactor: extract shared result validation and userdata helpers 2026-10-04 06:29:00 +08:00
Meo597 399563b6d9 refactor: move execution context and timeout management into pool 2026-10-04 05:22:47 +08:00
Meo597 2610e57ecf lua: refactor to simplify state creation and pooled script execution 2026-10-03 21:57:54 +08:00
Meo597 5afe260f10 router: lowercase target domain passed to Lua hook 2026-10-01 22:05:09 +08:00
Meo597 2440f53cdd feat(router): add Lua scripting for routing script 2026-10-01 18:25:53 +08:00
598bde7412 Router: Refactor to fix API data race (#6678)
Fixes https://github.com/XTLS/Xray-core/pull/6673

---------

Co-authored-by: Kosta <makostadev@xyecoc.com>
2026-08-25 18:00:14 +00:00
fanymagnetandGitHub a12801c13b Routing: Add localOS that directly matches runtime.GOOS (#6553)
https://github.com/XTLS/Xray-core/pull/6553#issuecomment-5262686006
2026-08-12 05:29:32 +00:00
𐲓𐳛𐳪𐳂𐳐 𐲀𐳢𐳦𐳫𐳢 𐲥𐳔𐳛𐳪𐳌𐳑𐳖𐳇andGitHub d43a808ea5 GitHub Action CI: Add Go source file format check (#6090)
https://github.com/XTLS/Xray-core/pull/6057#issuecomment-4364819830

And https://github.com/XTLS/Xray-core/pull/6149#issuecomment-4546876261
2026-05-29 15:04:59 +00:00
风扇滑翔翼andGitHub ee2b2c5ab6 leastLoad balancer: Implement missing tolerance (#6156)
Closes https://github.com/XTLS/Xray-core/issues/6154
2026-05-24 12:27:12 +00:00
Yury KastovandGitHub da9ba693cb Config: Support abstract unix sockets in remote loader (#6111)
Replaces https://github.com/XTLS/Xray-core/pull/5200
2026-05-22 19:49:19 +00:00
d0f533f94a app/router/condition.go: Retrieve original target in net.FindProcess() when "IPIfNonMatch" is enabled (#5979)
Fixes https://github.com/XTLS/Xray-core/issues/5980

---------

Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
2026-04-25 17:45:03 +00:00
MeowandGitHub 31ab22c33d Geodata: Support reversed CIDR rules in IP rules (#5951)
https://github.com/XTLS/Xray-core/pull/5947#issuecomment-4258063215

https://github.com/XTLS/Xray-core/pull/5951#issuecomment-4260093653
2026-04-17 22:13:35 +00:00
MeowandGitHub 82624bcaf0 Xray-core: Refactor geodata (#5814)
https://github.com/XTLS/Xray-core/issues/4422#issuecomment-3533007890

Breaking changes https://github.com/XTLS/Xray-core/pull/5569

Reverts https://github.com/XTLS/Xray-core/pull/5505

Closes https://github.com/XTLS/Xray-core/pull/643
2026-04-13 16:42:29 +00:00
f27edc3172 Routing: process supports UID on Android (#5915)
Example: https://github.com/XTLS/Xray-core/pull/5915#issuecomment-4232122895

---------

Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
2026-04-13 13:17:53 +00:00
Yury KastovandGitHub 78fc2865ea Routing: Add webhook to rules (#5722)
https://github.com/XTLS/Xray-core/pull/5722#issuecomment-3953836108
2026-03-07 10:49:46 +00:00
RPRXandGitHub d14767d4f3 Chore: Generate *.pb.go files with protoc v6.33.5
Download https://github.com/protocolbuffers/protobuf/releases/tag/v33.5
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.11
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.0
(Xray-core/) go run ./infra/vprotogen
2026-02-03 09:34:02 +00:00
Hossin AsaadiandRPRX 61e1153157 MPH domian matcher: Support building & using cache directly (instead of building from geosite.dat when Xray starts) (#5505)
Like https://github.com/XTLS/Xray-core/pull/5488#issuecomment-3710995080
2026-01-31 13:22:00 +00:00
MeowandGitHub 9a04eecaf9 Geodat: Reduce peak memory usage (#5581)
Fixes https://github.com/XTLS/Xray-core/commit/5f7474120f523ad1e36174481e0b16c3446cc29c
2026-01-26 10:45:25 +00:00
MouMengandGitHub 59dc2cee2e API: Add ListRule() for routing (#5569)
https://github.com/XTLS/Xray-core/pull/5569#issuecomment-3766310407
2026-01-23 15:44:16 +00:00
风扇滑翔翼andGitHub 777e31302c Router: Fix panic in ProcessNameMatcher when source IPs are empty (#5574)
Fixes https://github.com/XTLS/Xray-core/issues/5573
2026-01-21 13:24:51 +00:00
风扇滑翔翼andRPRX 5f7474120f Geofiles: Revert related changes for now, waiting for better changes (#5557)
Reverts https://github.com/XTLS/Xray-core/commit/5d94a62a83073bc4aa378fb7e2198e15878e90da https://github.com/XTLS/Xray-core/commit/c715154309e41e759f544edd3667889e257fb3af https://github.com/XTLS/Xray-core/commit/961c352127f32c04034a88d021a683e6a80eac20 https://github.com/XTLS/Xray-core/commit/36425d2a6e53c755c96d25ef2323b7fffd1fab3f

Fixes https://github.com/XTLS/Xray-core/issues/5538 https://github.com/XTLS/Xray-core/issues/5536
2026-01-17 12:40:53 +00:00
Hossin AsaadiandGitHub 36425d2a6e Tests: Improve geosite & geoip tests (#5502)
https://github.com/XTLS/Xray-core/pull/5488#issuecomment-3711843548
2026-01-08 08:00:49 +00:00
风扇滑翔翼andRPRX 446df149bd Routing config: Replace processName with process (full-name/abs-path/abs-folder) (#5496)
About `self/` & `xray/`: https://github.com/XTLS/Xray-core/pull/5496#issuecomment-3714620380

Replaces https://github.com/XTLS/Xray-core/pull/5489
2026-01-06 14:03:21 +00:00
Hossin AsaadiandGitHub 961c352127 DNS: Fix parse domain and geoip (#5499)
Fixes https://github.com/XTLS/Xray-core/pull/5488#issuecomment-3712856715
2026-01-06 12:21:50 +00:00
Hossin AsaadiandGitHub c715154309 Routing: Reduce peak memory usage (#5488)
https://github.com/XTLS/Xray-core/pull/5488#issuecomment-3711430369

For https://github.com/XTLS/Xray-core/issues/4422
2026-01-05 23:02:40 +00:00
风扇滑翔翼andGitHub 7265b5ac3f Routing config: Add processName (#5489) 2026-01-05 01:12:13 +00:00
MeowandGitHub 7f6ceb39f7 DomainMatcher: Prevent illegal domain rules from causing core startup failures (#5430)
Closes https://github.com/XTLS/Xray-core/issues/5429
2025-12-23 10:14:42 +00:00
RPRXandGitHub 2969a189e6 Sockopt config: Add trustedXForwardedFor (for XHTTP, WS, HU inbounds) (#5331)
Fixes https://github.com/XTLS/Xray-core/pull/5101#issuecomment-3404979909
2025-11-23 01:09:49 +00:00
MeowandGitHub d41840132a Router: Remove the deprecated UseIP option (#5323) 2025-11-21 05:46:41 +00:00
MeowandGitHub 2185a730d2 perf(router): adjust the order of rules to optimize performance (#5267) 2025-11-21 05:30:16 +00:00
MeowandGitHub fcfb0a302a perf(GeoIPMatcher): faster heuristic matching with reduced memory usage (#5289) 2025-11-21 02:54:01 +00:00
RPRX 105b306d07 VLESS practice: Use user-sent VLESS UUID's last byte as vlessRoute for routing rules
https://github.com/XTLS/Xray-core/pull/5009#issuecomment-3194262087
2025-08-17 13:55:18 +00:00
patternihaandRPRX 40ce850bd9 Direct/Freedom config: Add targetStrategy as an alias of domainStrategy; Routing config: Remove domainMatcher, "linear" and type (#5027)
https://github.com/XTLS/Xray-core/pull/5006#issuecomment-3193547307
2025-08-16 14:54:10 +00:00
patternihaandGitHub 5dce7e4e25 Router: Add localIP and localPort; Add sourceIP as an alias of source (#4992)
https://github.com/XTLS/Xray-core/discussions/4984#discussioncomment-13990687

Closes https://github.com/XTLS/Xray-core/issues/4993
2025-08-07 23:50:39 +00:00
patternihaandGitHub 6232e230d9 DNS New Features: disableCache, finalQuery, unexpectedIPs, "*", UseSystem-queryStrategy, useSystemHosts (#4666) 2025-06-06 01:59:16 +00:00
patternihaandGitHub aa4134f4a6 DNS: Fix some bugs; Refactors; Optimizations (#4659) 2025-04-29 08:39:57 +00:00
Meo597andGitHub 4afe2d0cff DNS: Support returning upstream TTL to clients (#4526)
Closes https://github.com/XTLS/Xray-core/issues/4527
2025-03-24 13:33:56 +00:00
yuhan6665andGitHub 42aea01fb5 Core: Add mutex to injection resolution (#4206)
* Revert "Add RequireFeaturesAsync() that works regardless order of app init"

* Add mutex to injection resolution

- Turns out we already support async DI resolution regardless of feature ordering
Previous code contain a race condition causing some resolution is lost
- Note that the new mutex cover s.pendingResolutions and s.features
but must not cover callbackResolution() due to deadlock
- Refactor some method names and simplify code

* Add OptionalFeatures injection

For example OptionalFeatures() is useful for fakedns module
2024-12-26 12:55:12 +00:00
yuhan6665andGitHub 0e2304c403 Core: Fix memory leaks with RequireFeatures() (#4095)
Fixes https://github.com/XTLS/Xray-core/issues/4054
Fixes https://github.com/XTLS/Xray-core/issues/3338
Fixes https://github.com/XTLS/Xray-core/issues/3221
2024-12-11 01:07:52 +00:00
zonescapeandGitHub 034a485afe Chore: Refactor tests in app/router (#4019) 2024-11-24 22:53:31 -05:00
zonescapeandGitHub 83bab5dd90 Chore: Run gofmt (#3990) 2024-11-09 11:16:11 +00:00
RPRX 47fad1fbfd Chore: Generate *.pb.go files with protoc v5.28.2
Download https://github.com/protocolbuffers/protobuf/releases/tag/v28.2
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.35.1
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.5.1
(Xray-core/) go run ./infra/vprotogen
2024-10-16 04:06:21 +00:00
vnxmeandGitHub 5164a82185 Routing: Fix regexp syntax support in UserMatcher (#3900) 2024-10-11 11:37:01 -04:00
Kobe Arthur ScofieldandGitHub 7086d286be Remove legacy code (#3838)
* Add feature migration notice

* Remove legacy code of transport processing

* Clear legacy proto field

* Fix missing

* Unify protocolname

* Test remove

* Supressor

* Weird code

* Remove errorgen related comments
2024-09-23 11:28:19 -04:00
Kobe Arthur ScofieldandGitHub 57a41f3b4b Config: Remove more legacy fields (#3817) 2024-09-19 01:05:59 +00:00
风扇滑翔翼andGitHub 7970f240de Log: show the matching rule tag (#3809) 2024-09-13 13:05:19 -04:00
vnxmeandGitHub 3a8c5f38e8 Routing: Add regexp syntax support to UserMatcher (#3799) 2024-09-12 10:48:41 -04:00
mmmrayandGitHub 2be03c56cb Pin protobuf packages (#3715)
* Pin protobuf packages

It happened in the past that I ran with the wrong protobuf version
installed locally, and apparently there is even still some file wrong in
splithttp. Fix this issue once and for all.

* bump protobuf packages

* Revert "bump protobuf packages"

This reverts commit 7a3509346a.

* Revert "Revert "bump protobuf packages""

This reverts commit bb79707d15.

* fix deprecated grpc usage
2024-08-22 10:18:36 -04:00
MHSanaeiandGitHub 16de0937a8 Fix typos (#3527) 2024-07-12 00:20:06 +02:00
yuhan6665andGitHub 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