0
mirror of https://github.com/XTLS/Xray-core.git synced 2025-06-12 19:39:35 +03:00
Commit Graph

223 Commits

Author SHA1 Message Date
83bab5dd90 Chore: Run gofmt (#3990) 2024-11-09 11:16:11 +00:00
bc4bf3d38f XHTTP: Add "stream-up" mode for client & server (#3994) 2024-11-09 11:05:41 +00:00
71cfea8aae Chore: Fix some spelling errors (#3976) 2024-11-06 10:42:43 -05:00
2c72864935 API: Add user online stats (#3637)
* add statsUserOnline bool to policy

* add OnlineMap struct to stats

* apply UserOnline functionality to dispatcher

* add statsonline api command

* fix comments

* Update app/stats/online_map.go

Co-authored-by: mmmray <142015632+mmmray@users.noreply.github.com>

* improve AddIP

* regenerate pb

---------

Co-authored-by: mmmray <142015632+mmmray@users.noreply.github.com>
2024-11-03 08:44:15 -05:00
85a1c33709 API: Add new Get Inbound User (#3644)
* Add GetInboundUser in proto

* Add get user logic for all existing inbounds

* Add inbounduser command

* Add option to get all users

* Fix shadowsocks2022 config

* Fix init users in shadowsocks2022

* Fix copy

* Add inbound user count command

This api costs much less than get inbound user, could be useful in some case

* Update from latest main
2024-11-03 00:25:23 -04: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
e4939dc1db Config: Prefer newer alias (REALITY target, RAW) 2024-10-18 02:18:06 +00:00
8809cbda81 Transport: Remove GUN (an alias of gRPC) 2024-10-18 01:17:13 +00:00
9bdf72d658 WireGuard config: Replace kernelMode with noKernelTun
https://github.com/XTLS/Xray-core/pull/3871#issuecomment-2420770309
2024-10-18 00:10:09 +00:00
897521defd XMUX: Change to non-infinity-reuse default values (#3919) 2024-10-16 03:47:41 +00:00
82bd5f3046 Refactor: Use struct Int32Range widely (#3867)
https://github.com/XTLS/Xray-core/pull/3867#issuecomment-2412847316
2024-10-15 04:12:17 +00:00
19f3f709b2 WireGuard kernelTun: Check Capabilities instead of checking UID (#3871)
https://github.com/XTLS/Xray-core/pull/3871#issuecomment-2412820323

---------

Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>
2024-10-15 03:30:29 +00:00
75729ce779 REALITY config: Add target as an alias of dest
https://t.me/projectXtls/364
2024-10-05 00:13:46 +00:00
697156f6f6 SplitHTTP Config: Add capability to parse int in string format (#3855)
“100” → 100
“-1” → -1
“” → 0
2024-09-29 03:10:42 +08:00
d8485bd5af Transport: Add RAW as an alias of TCP (#3852) 2024-09-28 05:25:59 +00:00
3632e83faa Transport: Add HTTP3 to HTTP (#3819) 2024-09-26 01:29:41 +00:00
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
93cff1a576 Xmux: Value of 0 is treated the same as no value (#3835)
It turns out that some panels like to set `"xmux": {"maxConnections": 0,
"maxConcurrency": 0}`, and of course that fails now. To make their job
easier, let's treat `0` the same as not setting the parameter.

Again, I don't like that xray's defaults are hardcoded all over the
place. I would have liked a different default value for Xmux in a future
version, but it actually can't be done in practice because everybody
just copypastes the defaults from the docs into their own sourcecode
(and sometimes changes them silently to their own idea of a good
default)
2024-09-19 11:20:12 -04:00
57a41f3b4b Config: Remove more legacy fields (#3817) 2024-09-19 01:05:59 +00:00
f406b2dee0 SplitHTTP client: Fix xmux config deserialization (#3827) 2024-09-19 00:45:39 +00:00
363e86c585 UDP noises: Add base64 and multi-packet support (#3794)
https://github.com/XTLS/Xray-core/pull/3794#issuecomment-2351329251

---------

Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Co-authored-by: mmmray <142015632+mmmray@users.noreply.github.com>
2024-09-16 12:46:30 +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
5f0642a671 Errors: Add PrintRemovedFeatureError & PrintDeprecatedFeatureWarning (#3804) 2024-09-15 04:55:54 +00:00
3fed0c773f DNS outbound: Add blockTypes (#3812) 2024-09-15 04:21:51 +00:00
a247997e38 Log: Add MaskAddress option to hide IP addresses (#3783)
* Log: Add maskAddress option

* Correct IPv6 subnet
2024-09-11 10:45:47 -04:00
6b1bf312d7 Config: Remove legacy config fields again (#3782)
* Remove more lecacy fields

* Patch missing bracket

* Fix tests

* Fix missing comma

* Fix buried test bomb

* Cleanup test after removed legacy test content
2024-09-11 10:37:25 -04:00
f04cb0b288 Config: Remove some legacy fields from V2Ray 3.x era (#3776)
https://github.com/XTLS/Xray-core/pull/3776#issue-2512316726
2024-09-09 06:03:21 +00:00
6838a0ae55 Config: Remove legacy inbound/outbound/detours (#3769)
https://github.com/XTLS/Xray-core/pull/3769#issuecomment-2334915139
2024-09-06 23:43:58 +00:00
f357245f93 Config: Remove global transport (#3751)
https://github.com/XTLS/Xray-core/pull/3751#issuecomment-2329564039

---------

Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
2024-09-04 18:09:16 -04:00
c0a98f74fc Transport: Remove DomainSocket (#3757)
https://github.com/XTLS/Xray-core/pull/3755#issuecomment-2325533003
2024-09-03 11:36:11 +00:00
9a953c070f Transport: Remove QUIC (#3754)
https://github.com/XTLS/Xray-core/pull/3554#issuecomment-2236171077
2024-09-03 02:39:44 +00:00
002d08bf83 UDP noise (#3711)
* added udp noise

* adding protobuf settings

* freedom json parser and clean up

* resolve confict

* fix and clean up

* use net.conn instead of packetconnwrapper

* avoid constructing SequentialWriter directly

---------

Co-authored-by: mmmray <142015632+mmmray@users.noreply.github.com>
2024-08-28 17:10:11 -04:00
1562e1ffb9 Config: Combine filename and format into a new struct (#3687) 2024-08-16 05:32:05 +00:00
a3b306aaa4 SplitHTTP: Replace responseOkPadding with xPaddingBytes (#3643) 2024-08-10 21:47:42 +00:00
ac628a9427 API: Improve MarshalToJson() in common/reflect/marshal.go (#3655)
* Serialize enum to string in MarshalToJson().

* MarshalToJson() respect json tags.

* Add insertTypeInfo parameter to MarshalToJson().

* Omit empty string in MarshalToJson().

* Serialize PortList to string in MarshalToJson().

---------

Co-authored-by: nobody <nobody@nowhere.mars>
2024-08-08 10:35:46 -04:00
4b7947cca9 SplitHTTP server: add ok padding (#3614) 2024-08-02 03:16:19 +02: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
4531a7e228 CertificateObject: Enable auto-reload for cacert & Add buildChain & Fixes (#3607) 2024-07-29 06:58:58 +00:00
60553a6c26 SplitHTTP server: Add noSSEHeader
https://github.com/XTLS/Xray-core/pull/3603#issuecomment-2254968219
2024-07-29 06:32:04 +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
308f0c64c3 Add custom Sockopt support (#3517)
* Add custom sockopt

* Add custom level

* Change field

* Sth left
2024-07-09 12:19:31 -04: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
c10bd28731 Add SplitHTTP Transport (#3412) 2024-06-18 05:36:36 +00:00
3654c0d710 HTTPUpgrade send headers with specified capitalization (#3430)
* Fix HTTPUpgrade header capitalization

* Chore

* Remove excess host headers

Chore : change httpupgrade header "upgrade" to "Upgrade" #3435
2024-06-07 12:53:27 +00:00
075051a693 Add wireguard test 2024-06-01 19:34:31 -04:00
ca07a705dc Generate *.pb.go files with protoc v5.27.0
Download https://github.com/protocolbuffers/protobuf/releases/tag/v27.0
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.1
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0
(Xray-core/) go run ./infra/vprotogen
2024-05-26 03:20:53 +00:00
84eeb56ae4 Select alive only node when fallbackTag is given
- Apply to random and roundrobin strategy
- Require observatory config

Co-authored-by: Mark Ma <38940419+mkmark@users.noreply.github.com>
2024-05-05 10:11:29 -04:00
447a49d16a Add configuration item api->listen. (#3317)
* add api.listen configuration item

* add unit tests

* typo

---------

Co-authored-by: nobody <nobody@nowhere.mars>
2024-05-01 21:23:55 -04:00