1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2025-12-28 21:15:46 -05:00
Commit Graph

1378 Commits

Author SHA1 Message Date
Xiaokang Wang (Shelikhoo)
b1ef737d48 Add TLSMirror looks like TLS censorship resistant transport protocol as a developer preview transport (#3437)
* Add tlsmirror server processing routine

* Add tlsmirror server processing routine: generated

* Add tlsmirror server handshake capture

* it runs version~

* add draining copy for handshake

* refactor out base tls mirror connection

* tls mirror server side base

* add random field extraction

* add tls like encryption

* add tls like encryption (generated)

* add server side implementation for tlsmirror

* apply coding style: tlsmirror

* fix typo in mirrortls mirror crypto

* add client initial implementation for tls mirror

* add traffic generator implementation for tlsmirror

* add client processing of traffic generator originated traffic

* add embedded traffic generator support to mirrortls client

* override security setting of traffic generator if appropriate

* override security setting of traffic generator if appropriate

* apply request wait time for traffic generator

* add unsafe keyword required for linkname

* fix outbound manager registration for traffic ingress at tlsmirror client

* initial works at sticking packets together

* fix traffic generator's traffic goto logic

* fix get client and server random

* fix applying primary key

* fix log error handling for handshake random retrieval

* fix nonce generation and key derivation logic

* fix: add readPipe channel to client and server connection handlers

* fix: use detached context for persistent mirror TLS dialer

* fix: ensure proper closure of connections on context cancellation

* fix: proper detection of traffic generator originated connection

wait for connection ready before sending payload

* fix coding style
2025-07-03 11:33:16 +01:00
风扇滑翔翼
1f2d76c066 QUIC sniffer: Fix potential slice panic (#3406)
* QUIC sniffer: Fix potential slice panic

* Fix type err

* Update sniff.go

* Add test and fix more

* Refine
2025-05-17 20:53:29 +01:00
Xiaokang Wang (Shelikhoo)
c8c1120747 QUIC sniffer restructure (#3360) 2025-03-23 18:16:29 +00:00
Xiaokang Wang (Shelikhoo)
561f31245d A temporary testing fix for the buffer corruption issue (#3331) 2025-02-27 14:32:04 +00:00
Vigilans
3d54bec86a Fix unreleased cache buffer in QUIC sniffing (#3320) 2025-02-20 20:57:11 +00:00
Vigilans
8ceba34970 Correctly implement QUIC sniffer when handling multiple initial packets (#3310)
* Correctly implement QUIC sniffer when handling multiple initial packets

* Only parse token for initial packet

Signed-off-by: Vigilans <vigilans@foxmail.com>

* Update test case for QUIC sniffer

* Fix testcases
* Third packet in `Handshake[2]; packet 1-3` mistakenly copied UDP header into payload, making the payload length 1278 instead of 1250

* Introduce `protocol.ErrProtoNeedMoreData` to allow sniffer to fetch more packets until complete

---------

Signed-off-by: Vigilans <vigilans@foxmail.com>
Co-authored-by: Shelikhoo <xiaokangwang@outlook.com>
Co-authored-by: dyhkwong <50692134+dyhkwong@users.noreply.github.com>
2025-02-16 14:11:27 +00:00
Xiaokang Wang (Shelikhoo)
78cd513b82 Add Persistent Storage Support to V2Ray (#3300)
* update protogen to strip unused part

* add persistent storage support

* fix coding style

* update linter setting

* update github integration
2025-02-05 20:36:40 +00:00
Shelikhoo
3ee9045697 chore: regenerate protos 2025-02-02 13:57:34 +00:00
Xiaokang Wang (Shelikhoo)
442581d897 Fixing all the lint errors (#3288)
* Fixing all the lint errors!

* update lint settings
2025-01-22 08:27:48 +00:00
Kasefuchs
6a242d1e2e feat: add jsonpb marshallers (#3165) 2024-10-12 19:26:59 +01:00
Xiaokang Wang (Shelikhoo)
229b30d877 drop unsupported domain address type in packet addr (#3186) 2024-10-12 19:25:59 +01:00
dyhkwong
5ffbc0296c Fix tls.WithDestination ignoring IP address (#3177) 2024-10-12 19:25:21 +01:00
Misaki Kasumi
90edd2e9db Feat: add special handling for /dev/fd address
to support socket activation
2024-09-05 20:55:24 +01:00
dyhkwong
1c103e6179 Fix ss2022 auth reader size overflow 2024-05-05 11:26:31 +01:00
Shelikhoo
a40f0c4d11 Add Keep-Alive to removed headers in RemoveHopByHopHeaders 2024-04-28 09:18:08 +01:00
Shelikhoo
5c19d6ebac Fix Registry name detection 2024-03-16 20:23:40 +00:00
Shelikhoo
85b04d1af9 Fix coding style lints 2024-03-15 20:19:18 +00:00
Shelikhoo
04275b6991 Fix unsafe math rand usage 2024-03-15 20:19:18 +00:00
Shelikhoo
353326b432 Allow setting permission on CopyFile helper 2024-03-15 20:18:55 +00:00
Shelikhoo
87affb11a5 Correctly propagate error in AuthenticationReader readBuffer 2024-03-04 19:13:58 +00:00
Shelikhoo
cc77e90254 Add subscription manager 2023-11-26 10:55:27 +00:00
Xiaokang Wang (Shelikhoo)
b6da3e86a5 Shadowsocks2022 Client Implementation Improvements (#2770)
* Shadowsocks2022 Client Implementation Improvements

1. Added UDP Replay Detection
2. Added UDP Processor State Cache
3. Added More Detailed Output for Time Difference Error
4. Replaced Mutex with RWMutex for reduced lock contention
5. Added per server session tracking of decryption cache and anti-replay window
6. Adjust server session track time
7. Increase per session buffer to 128
8. Fix client crash when EIH is not enabled
9. Fix client log contains non-human-friendly content
10.Remove mark and remove for trackedSessions
11. Fixed packet size uint16 overflow issue
2023-11-24 00:40:07 +00:00
Shelikhoo
e575a525bb add shadowsocks2022 tcp client support 2023-11-19 13:16:28 +00:00
Shelikhoo
cb84b28de4 Update generated protobuf files to v1.31.0 2023-10-24 19:50:30 +01:00
guangwu
39d2f293c6 chore: remove refs to deprecated io/ioutil (#2717)
Signed-off-by: guoguangwu <guoguangwu@magic-shield.com>
2023-10-16 10:23:50 +08:00
dyhkwong
8de2f27043 fix protocol matching in routing (#2540)
* remove invalid http2 sniffer

* do not set metadata protocol for http inbound

http inbound may have transport settings

* fix doh metadata protocol
2023-09-14 08:27:36 +08:00
AkinoKaede
8c5bcacb99 feat: bulit-in qtls cipher suite implementation 2023-07-17 12:38:25 +08:00
Shelikhoo
0e519b9fb3 implement system network environment 2023-05-30 00:20:34 +01:00
Shelikhoo
69ab87239a add implementation for transport environment and network env 2023-05-29 23:55:43 +01:00
dyhkwong
8433420654 make use of buf.NewWithSize() in Trojan's PacketReader and PacketWriter
also fix a domain length check bug
2023-05-24 00:18:19 +01:00
AkinoKaede
746c45036e Chore: remove Go 1.18 support 2023-04-06 20:10:14 +08:00
Vigilans
b1d38db30a Support using custom resolver when dialing domain address 2023-02-19 13:34:15 +00:00
Vigilans
44be94a0e7 Add bytespools ownership for buf.Buffer 2023-02-19 13:30:45 +00:00
Vigilans
8b3215c72a Correctly implement quic sniffer's frame parsing 2023-02-19 12:28:41 +00:00
MoetaYuko
0dcf8cad0d Compatibility change for go 1.18 2023-02-18 14:36:47 +00:00
秋のかえで
07ed4e0d29 Chore: use Go 1.20 (#2297) 2023-02-03 17:08:53 +08:00
Vigilans
f8ac919d66 [app/dns] Support per-client configuration for fakedns (#2212)
* Move `filterIP` from `hosts.go` to `dnscommon.go`

* Implement adding pools for fakedns.HolderMulti

* Implement per-client fakedns for DNS app

* Remove `dns.ClientWithIPOption` and replace with new programming model

* Implement JSON config support for new fakedns config

* Fix lint and tests

* Fix some codacy analysis
2022-12-15 10:38:28 +08:00
Vigilans
32475d9239 [app/dns] Add tests for idn support (#2213)
Co-authored-by: kallydev <kallydev@gmail.com>

Co-authored-by: kallydev <kallydev@gmail.com>
2022-12-15 10:26:53 +08:00
kvii
7c12b706c7 fix: unexpected typo (#2146) 2022-12-10 17:28:10 +08:00
Vigilans
ac0d9480bd [app/dispatcher] [proxy/dns] Support domain string validation (#2188) 2022-12-10 17:07:59 +08:00
Vigilans
291b5466de Fix: Charset of ACAutomationMatcherGroup should accept all ASCII characters (#1988) 2022-11-29 10:35:49 +08:00
NaLan ZeYu
a4a3f4deec fix: Replace "math/rand" with "crypto/rand" in padding generation(#2032) 2022-10-06 18:21:09 +08:00
Vigilans
f494df2567 feat: Implement Match and MatchAny for all MatcherGroup, IndexMatcher
[common/strmatcher] Implement Match and MatchAny for all MatcherGroup and IndexMatcher
2022-09-16 14:40:03 +08:00
秋のかえで
4bdb411747 Style: remove duplicate FetchHTTPContent function 2022-09-07 21:42:25 +08:00
Shelikhoo
137cd7093c chore: regenerate protobuf file 2022-09-06 20:36:27 +01:00
Hellojack
a8b0991b52 Feat: refine the logic of security type AUTO (#1913)
* Feat: refine the logic of security type AUTO

https://cs.opensource.google/go/go/+/master:src/crypto/tls/cipher_suites.go;drc=9e6cd3985dbcdcfe0ed2075be6dbe8c5d6de59cb;l=364

* fix fmt
2022-08-19 20:56:32 +01:00
秋のかえで
adb7871f82 Feat: refine cipher and network config (#1436) 2022-08-19 20:41:18 +08:00
秋のかえで
a788be738e Lint: add nolint flags to avoid lint 2022-08-19 20:05:50 +08:00
秋のかえで
9ae51c1f15 Chore: use Go v1.19 2022-08-19 19:37:09 +08:00
世界
fc6ae4d4e7 Fix lint 2022-06-28 21:36:12 +08:00