yuhan6665
77376ed94f
Reduce size and time of UDP test
...
In the past, the UDP test in mass parallel proved to be the source of instability. This change try to improve pass rate.
2024-01-12 22:09:04 -05:00
yuhan6665
3f0bc13429
Update 1.8.7 and dependencies
2024-01-07 15:19:18 -05:00
yuhan6665
eacdda3c93
Fix connecting to quic outbound with domain address
2023-12-25 22:25:22 -05:00
yuhan6665
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
yuhan6665
2fd765ea4c
Delay XUDP Basekey read
2023-12-03 22:10:10 -05:00
yuhan6665 and GitHub
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
yuhan6665
2570855cd7
Update v1.8.6
2023-11-17 20:11:40 -05:00
yuhan6665
ac52a226d1
v1.8.5
2023-11-12 16:57:15 -05:00
yuhan6665
7205298474
Update dependencies
2023-11-12 16:32:28 -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
a109389efb
Wireguard resolve strategy ( #2717 )
...
* 增加 wireguard 出站选项 `resolveStrategy`.
* They become a part of you.
* 移除不必要的选项别名.
* aliases NG.
* 微调.
---------
Co-authored-by: rui0572 <125641819+rui0572@users.noreply.github.com >
2023-11-12 15:52:09 -05:00
yuhan6665
cc4b28b159
Remove dragonfly build
2023-11-12 14:30:50 -05:00
5ae3791a8e
feat : upgrade wireguard go sdk ( #2716 )
...
Co-authored-by: kunson <kunson@kunsondeMacBook-Pro-3.local >
Co-authored-by: 世界 <i@sekai.icu >
2023-11-12 15:10:01 -05:00
yuhan6665
d24a636c75
Move some log from stdout to ray log
2023-10-28 21:31:54 -04:00
yuhan6665
11b61b02c8
Refine environment var
...
Address some review comments
2023-10-28 18:22:44 -04:00
yuhan6665
999bdc58d3
Turn on freedom splice by default
2023-10-29 15:16:57 -04:00
yuhan6665
4f05e0ac2b
Unify environment var readers
2023-10-29 15:16:57 -04:00
yuhan6665
291061e9da
Fix an edge case reshaping buffer too long
2023-10-21 03:20:51 -04:00
yuhan6665
e244db76fb
Update all dependencies
2023-09-29 23:06:15 -04:00
yuhan6665
772936906a
Add reality test
2023-09-29 22:30:50 -04:00
yuhan6665
cf575be678
Fix unwrap tls conn
2023-09-21 15:35:56 -04:00
yuhan6665
585d5ba7c8
Fix Vision reader
2023-09-17 12:56:29 -04:00
yuhan6665
d6d225c698
Refactor Vision reader writer
...
- Vision now use traffic states to capture two-way info about a connection
- XTLS is de-couple with Vision, it only read traffic states to switch to direct copy mode
- fix a edge case error when Vision unpadding read 5 command bytes
2023-09-13 08:01:34 -04:00
yuhan6665
efd32b0fb2
Enable splice for freedom outbound (downlink only)
...
- Add outbound name
- Add outbound conn in ctx
- Refactor splice: it can be turn on from all inbounds and outbounds
- Refactor splice: Add splice copy to vless inbound
- Fix http error test
- Add freedom splice toggle via env var
- Populate outbound obj in context
- Use CanSpliceCopy to mark a connection
- Turn off splice by default
2023-09-07 14:17:39 -04:00
yuhan6665
ae2fa30e01
Add Vless tests
2023-09-07 09:38:33 -04:00
yuhan6665
229851f621
Revert "Docker build use 1.20 go"
...
This reverts commit cd1d000860 .
2023-08-24 11:13:12 -04:00
yuhan6665
cd1d000860
Docker build use 1.20 go
2023-08-22 21:28:02 -04:00
yuhan6665 and GitHub
a6c5c57930
Support regex matching with attr ( #2258 )
...
* Support regex matching with attr
* Add test case
* Optimizing regex parsing at core start
* simpliy
2023-06-27 08:04:09 +00:00
yuhan6665 and GitHub
9112cfd39c
Clean legacy vmess ( #2199 )
...
* Remove legacy Vmess
* validators
* protos
2023-06-12 10:32:25 -04:00
yuhan6665
bf4b1fab3c
Simplify http attrabute matching
...
In the past, we use Starlark script, it is over engineered and barely used.
By switching to simple key value string contains logic we can reduce core size about 0.7MB
2023-06-12 10:25:45 -04:00
yuhan6665
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
yuhan6665
c9f517108c
Remove mtproto
2023-06-06 23:38:34 -04:00
yuhan6665
a4e80f01e4
Add tls serverName to DoQ
2023-06-04 08:45:38 -04:00
yuhan6665 and GitHub
c80646a045
Clean code dependencies on github.com/miekg/dns ( #2099 )
2023-05-21 03:40:56 +00:00
yuhan6665 and GitHub
ae518cce52
Update docker.yml
...
limit docker build to main branch
2023-04-29 23:05:53 -04:00
yuhan6665
197bc78ea1
Turn off Quic qlog since it jam the regular test info
2023-04-17 11:56:55 -04:00
yuhan6665
9f8e9e8e64
Add xudp buffer test
2023-04-15 20:22:10 -04:00
yuhan6665
05d24d6827
Amend XUDP related logs
...
- Useful for debug XUDP improvements
- Move XUDP log in core log
- Freedom connection log show local port
2023-04-09 13:29:39 -04:00
yuhan6665 and GitHub
9e5bc07bf2
Legends never die ( #1725 )
2023-03-04 10:39:26 +00:00
yuhan6665
25ea69fc3a
Fix Vision inserting multiple uuid headers
...
This happen for stream inbound like http
2023-03-03 09:45:10 -05:00
yuhan6665
a4790133d2
Fix padding extends out of bound again
2023-03-02 21:42:48 -05:00
yuhan6665
7b54255cc1
Fix padding extends out of bound
2023-03-01 08:43:00 -05:00
yuhan6665 and GitHub
2d898480be
Vision padding upgrade ( #1646 )
...
* Vision server allow multiple blocks of padding
* Fix Vision client to support multiple possible padding blocks
* Vision padding upgrade
- Now we have two types of padding: long (pad to 900-1400) and traditional (0-256)
- Long padding is applied to tls handshakes and first (empty) packet
- Traditional padding is applied to all beginning (7) packets of the connection (counted two-way)
- Since receiver changed its way to unpad buffer in fd6973b3c6 , we can freely extend padding packet length easily in the future
- Simplify code
* Adjust receiver withinPaddingBuffers
Now default withinPaddingBuffers = true to give it a chance to do unpadding
* Fix magic numbers for Vision
Thanks @H1JK
Thanks @RPRX for guidance
2023-02-27 22:14:37 -05:00
yuhan6665
a5b297f968
Update test.yml
...
Fix an issue when geoip fails download but geosite is ok
https://github.com/XTLS/Xray-core/actions/runs/4264609454/jobs/7422911731
2023-02-24 12:41:27 -05:00
yuhan6665
9e07d8304d
Add retry for test steps to download geofiles
2023-02-21 22:36:36 -05:00
yuhan6665 and GitHub
c3faa8b7ac
Insert padding with empty content to camouflage VLESS header ( #1610 )
...
This only affects the Vision client for protocols expecting server to send data first.
The change is compatible with existing version of Vision server.
2023-02-06 06:45:09 +00:00
yuhan6665 and GitHub
15bb23e4ec
XTLS Vision rejects Mux except for XUDP ( #1567 )
...
* Xtls vision reject vless-tcp-tls+Mux
* Address review comment
2023-01-28 05:39:36 +00:00
yuhan6665 and GitHub
fb212905bd
XTLS Vision checks outer TLS version ( #1554 )
2023-01-27 03:43:58 +00:00
yuhan6665 and GitHub
3fb67f065a
Add fingerprint xray_random ( #1540 )
...
* Add fingerprint xray_random
xray_random means to pick a random uTLS fingerprint at the core startup
This way, the fingerprint is stable for a user for some days. While there is no identifiable signature for the whole xray community
* Fingerprint "random" refine
Exclude old fingerprint from RNG
2023-01-20 23:36:08 -05:00
yuhan6665
32ce7cd730
Add new uTLS fingerprints
...
- correct safari
- new format is the variable name in https://github.com/refraction-networking/utls/blob/master/u_common.go#L163
- notable ones "HelloChrome_106_Shuffle", "Hello360_Auto", "HelloQQ_Auto"
2023-01-09 09:19:53 -05:00
yuhan6665
9bc1564b0a
Update v1.7.1 and dependencies
2023-01-06 21:10:47 -05:00
yuhan6665
3db7d44fc2
Update v1.7.0 and denpendencies
2022-12-25 19:47:53 -05:00
yuhan6665
c4fbdf1b78
Run core/format.go
2022-12-25 19:47:53 -05:00
yuhan6665
48a75fc340
Add retry for release steps to download geofiles
2022-12-18 21:16:53 -05:00
yuhan6665
f35ded79ad
Vision only reject TCP command for VLESS-TCP-TLS
...
UDP and MUX command currently has no flow value.
Also the character is the same with or without XTLS
2022-12-12 21:20:01 -05:00
yuhan6665
f3104b8684
Update v1.6.6 and denpendencies
2022-12-11 10:03:33 -05:00
yuhan6665
bc4de6a026
Fix VLESS client doesn't handle traffic if not send data first
...
Certain ssh, mySQL and reverse proxy need server data first in a connection
2022-12-11 09:44:40 -05:00
yuhan6665
2e30093ffd
Enforce specific none flow for xtls vision
...
In the past, when user open xtls vision on the server side, plain vless+tls can connect.
Pure tls is known to have certain tls in tls characters.
Now server need to specify "xtls-rprx-vision,none" for it be able usable on the same port.
2022-12-04 23:15:36 -05:00
yuhan6665
1d7c40d728
Enable Xtls Vision (Direct not Splice) for any inbound connection
...
Before this change, Vision client need a pure inbound like socks or http.
After this change, it will support any inbound.
This is useful in traffic forwarder use case inside China.
2022-12-04 23:15:36 -05:00
yuhan6665
79eda46c62
Update v1.6.5 and denpendencies
2022-11-27 18:28:38 -05:00
yuhan6665
d87758d46f
Parse big server hello properly
2022-11-27 18:28:38 -05:00
yuhan6665
e5e9e58d66
Fix direct flow on Windows
2022-11-27 18:28:38 -05:00
yuhan6665
494a10971b
Fix xtls vision issue with big server hello
2022-11-20 18:54:07 -05:00
yuhan6665
aa846b8420
Update v1.6.4 and dependencies
2022-11-13 12:21:18 -05:00
yuhan6665
8006430c15
Add logic to filter TLS_AES_128_CCM_8_SHA256
2022-11-13 12:18:23 -05:00
yuhan6665
04278a8940
Refactor some variable names
2022-11-13 12:18:23 -05:00
yuhan6665
48f7cc2132
Reshape multi buffer to fix the padding when buffer is full
2022-11-13 12:18:23 -05:00
yuhan6665
15d66974cc
Update v1.6.3 and dependencies
2022-11-06 22:15:41 -05:00
yuhan6665
8ef609ff46
Enable UTLS fingerprint for XTLS Vision
2022-11-06 21:50:19 -05:00
yuhan6665
fffd908db2
Fix direct and splice flow
2022-11-06 21:50:19 -05:00
yuhan6665
9b293013e6
Update v1.6.2 and dependencies
2022-10-29 00:57:00 -04:00
yuhan6665 and GitHub
5e695327b1
Add XTLS RPRX's Vision ( #1235 )
...
* Add XTLS RPRX's Vision
* Add helpful warning when security is wrong
* Add XTLS padding (draft)
* Fix number of packet to filter
* Xtls padding version 1.0 and unpadding logic
2022-10-29 00:51:59 -04:00
yuhan6665
2637970976
Update version 1.6.1
...
Also update dependencies
2022-10-21 21:13:17 -04:00
yuhan6665
8117b66949
Generate all protos
2022-10-10 13:17:32 -04:00
yuhan6665
6bb735d103
Update version 1.6.0
2022-09-18 10:46:21 -04:00
yuhan6665
c21595a937
Fix an issue with ss2022 generics
2022-09-16 21:54:37 -04:00
yuhan6665
92795677f9
Update dependencies
2022-09-16 21:47:06 -04:00
yuhan6665
debd2e3ba8
Remove compatibility code
...
The minimum support go version is already 1.18
2022-09-16 20:39:07 -04:00
yuhan6665
84537e98c4
Update xtls and go to 1.19
2022-09-15 22:06:59 -04:00
yuhan6665
35d5a7fe93
Update version 1.5.10
2022-08-27 22:57:35 -04:00
yuhan6665
71a9a6dd55
Update dependencies
...
- Sync with sing upstream
2022-08-27 22:57:14 -04:00
yuhan6665
b67314796f
Add shadowsocks 2022 relay config
2022-08-09 10:37:21 -04:00
340234166b
Add TCPKeepAliveIdle in Sockopt option ( #1166 )
...
* Add TCP keep alive idle setting
* Add TCP keep alive idle setting: auto generated
* Add TCP keep alive support in Linux
* Add TCP keep alive support in MacOS, FreeBSD
* Add TCP keep alive support in Windows
* fix bug introduced in adding tcp keep alive adjustment
* embed macOS const to avoid platform inconsistency
* embed macOS const to avoid platform inconsistency(again)
* add TCP Keep Alive support in config
* use sys/unix instead of syscall
Suggestion from:
https://github.com/v2fly/v2ray-core/pull/1395#issuecomment-974761647
* use sys/unix instead of syscall
Suggestion from:
https://github.com/v2fly/v2ray-core/pull/1395#issuecomment-974761647
* Separate TcpKeepAliveIdle and TcpKeepAliveInterval check logic
* Disable tcp keepAlive when TcpKeepAliveIdle < 0 and TcpKeepAliveInterval <= 0
Co-authored-by: xqzr <34030394+xqzr@users.noreply.github.com >
Co-authored-by: ValdikSS <iam@valdikss.org.ru >
Co-authored-by: Shelikhoo <xiaokangwang@outlook.com >
Co-authored-by: xqzr <34030394+xqzr@users.noreply.github.com >
2022-07-31 09:55:40 -04:00
yuhan6665
5e323958b6
Unify dns log
2022-07-24 23:54:58 -04:00
yuhan6665
05483cc729
Update version 1.5.9
2022-07-15 22:05:40 -04:00
yuhan6665
b4e11e1856
Update other dependencies
2022-07-15 22:05:40 -04:00
yuhan6665
f956b142d8
Use protojson for marshal api output
2022-07-15 22:05:40 -04:00
00230a74d5
Fix new Quic lib: KeepAlivePeriod ( #1139 )
...
* Bump github.com/lucas-clemente/quic-go from 0.27.2 to 0.28.0
Bumps [github.com/lucas-clemente/quic-go](https://github.com/lucas-clemente/quic-go ) from 0.27.2 to 0.28.0.
- [Release notes](https://github.com/lucas-clemente/quic-go/releases )
- [Changelog](https://github.com/lucas-clemente/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/lucas-clemente/quic-go/compare/v0.27.2...v0.28.0 )
---
updated-dependencies:
- dependency-name: github.com/lucas-clemente/quic-go
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Fix new Quic lib: KeepAlivePeriod
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-10 21:38:39 -04:00
yuhan6665
9480bc0379
Fix ss2022 user stat for single user
2022-07-02 11:27:26 -04:00
yuhan6665
7d946562eb
Update version 1.5.8
2022-06-19 19:14:53 -04:00
yuhan6665
cc67e83a8f
Update version 1.5.7
2022-06-05 07:46:18 -04:00
yuhan6665
f0b58d9ee0
Update version 1.5.6
2022-05-28 12:07:11 -04:00
yuhan6665
d56f38d38e
Break shadowsocks2022 test into Tcp and Udp
...
- make test smaller
- pickPort is more reliable for only Tcp or Udp
2022-05-28 12:05:54 -04:00
yuhan6665
7b72e19e16
Update dependencies
2022-05-28 11:47:41 -04:00
3f64f3206c
Quic sniffer ( #1074 )
...
* Add quic sniffer
* Fix quic sniffer
* Add uTP sniffer
* rename buf pool membership status to unmanaged
* rename buf type adaptor into FromBytes
Co-authored-by: 世界 <i@sekai.icu >
Co-authored-by: Shelikhoo <xiaokangwang@outlook.com >
2022-05-22 23:48:10 -04:00
yuhan6665
5e18ae68b7
Update version 1.5.5
2022-04-23 19:38:50 -04:00
yuhan6665
8caf690680
Update dependencies and Go 1.18
2022-04-23 19:36:07 -04:00
b413066012
Fakedns fix xUDP destination override ( #1011 )
...
* Fix UDP destination override
* Fix code style
* Fix fakedns object init
Do type convertion at runtime in case if user don't use fakedns in config.
Since dispatcher now depend on fakedns object, move the injection order of
fakedns to top (As a temporary solution)
* Amend logic for handing fakedns client
A map is used by server side when client turn on fakedns
Client will send domain address in the buffer.UDP.Address, server record all possible target IP addrs.
When target replies, server will restore the domain and send back to client.
Co-authored-by: hmol233 <82594500+hmol233@users.noreply.github.com >
2022-04-23 19:24:46 -04:00
yuhan6665
c9df755426
Add quic qlog to debug logs
2022-04-23 19:23:15 -04:00