Commit Graph

207 Commits

Author SHA1 Message Date
H1JK
09b4a7ff15 chore: Remove useless mutex in Vision 2023-03-12 10:13:23 +08:00
H1JK
913ed62095 fix: ALPN not applied in uTLS/REALITY 2023-03-10 20:53:39 +08:00
wwqgtxx
6fe7f4641e fix: tuic server set authentication timeout after quic handshake complete 2023-03-10 12:26:17 +08:00
H1JK
dca98b7aa1 fix: REALITY with gRPC transport 2023-03-10 10:01:05 +08:00
wwqgtxx
bae61a8152 fix: tuic server close with error message 2023-03-09 10:41:24 +08:00
H1JK
76a8fe3839 feat: Support REALITY protocol 2023-03-08 17:18:46 +08:00
Larvan2
6040803b60 chore: do not apply padding for nonTLS packet with contentLen over 900 2023-03-07 16:35:19 +08:00
Larvan2
04ae812a11 chore: try to fix slice out of bound. 2023-03-07 15:52:50 +08:00
wwqgtxx
6a97ab9ecb chore: use fastrand to replace math/rand 2023-03-06 18:10:14 +08:00
H1JK
ae966833a4 chore: Generate UUID from fastrand 2023-03-05 11:00:14 +08:00
H1JK
8771fa5c17 chore: Vision padding upgrade 2023-03-04 21:47:42 +08:00
Hellojack
ecb2a5f3c6
adjust: Simplify VLESS handshake lock 2023-02-27 12:02:44 +08:00
wwqgtxx
78100aa963 fix: vless NeedHandshake mistake 2023-02-27 09:46:00 +08:00
wwqgtxx
0b56fc7598 fix: Vision filter TLS 1.2
Add magic from sing-box. 5ce3ddee9b/transport/vless/vision.go (L199)
2023-02-27 01:24:36 +08:00
wwqgtxx
c1199f1a8a chore: add early conn interface to decrease unneeded write 2023-02-27 00:26:49 +08:00
Hellojack
2cbfac2c89
fix: Filter slice index out of bounds 2023-02-26 13:04:12 +08:00
Hellojack
40ae019e1d fix: Vision filter TLS 1.2 2023-02-26 11:13:47 +08:00
Hellojack
de92bc0234
fix: Vision filter Client Hello 2023-02-25 19:11:23 +08:00
Hellojack
bce3aeb218
fix: Vision disable filter for non-TLS connections 2023-02-25 15:00:21 +08:00
Hellojack
81722610d5 feat: Support VLESS XTLS Vision (#406) 2023-02-25 14:01:59 +08:00
wwqgtxx
75680c5866 chore: use early conn to support real ws 0-rtt 2023-02-24 09:54:54 +08:00
wwqgtxx
baaf509637 chore: using sing-shadowtls to support shadowtls v1/2/3 2023-02-21 21:58:37 +08:00
wwqgtxx
b9e63d3f7d fix: ensure return a nil interface not an interface with nil value 2023-02-18 14:16:03 +08:00
wwqgtxx
cc3a9dd553 fix: websocket headroom 2023-02-18 13:58:08 +08:00
wwqgtxx
fc50392ec7 chore: cleanup natTable's api 2023-02-18 13:16:07 +08:00
Ovear
8e4dfbd10d
feat: introduce a new robust approach to handle tproxy udp. (#389) 2023-02-17 16:31:15 +08:00
Larvan2
e59c35a308 fix issue #357.
Copy from upstream.
2023-02-16 21:14:27 +08:00
H1JK
83d719cf79 fix: VLESS handshake write 2023-02-11 15:13:17 +08:00
H1JK
3fd3d83029 feat: Attempts to send request with first payload on VLESS 2023-02-10 10:03:37 +08:00
wwqgtxx
db54b438e6 chore: do not use extra pointer in UClient 2023-02-07 17:51:37 +08:00
Larvan2
967254d9ca chore: move global-utls-client snippets to components\tls 2023-02-07 17:24:14 +08:00
Larvan2
05ca819823 feat: add global-client-fingerprint.
* Available: "chrome","firefox","safari","ios","random","none".
* global-client-fingerprint will NOT overwrite the proxy's client-fingerprint setting when "client-fingerprint: none".
2023-02-07 01:26:56 +08:00
Larvan2
4c25f5e73b feat: Update utls support.
* client-fingerprint is used to apply Utls for modifying ClientHello, it accepts "chrome","firefox","safari","ios","random" options.
* Utls is currently support TLS transport in TCP/grpc/WS/HTTP for VLESS/Vmess and trojan.
2023-02-05 17:34:37 +08:00
Larvan2
2ee0f634e6 feat: Add utls for modifying client's fingerprint.
Currently only support TLS transport in TCP/GRPC/WS/HTTP for VLESS/Vmess and trojan-grpc.
2023-02-01 22:36:05 +08:00
H1JK
4f641ce12d fix: ShadowTLS header use array instead 2023-01-20 17:35:49 +08:00
wwqgtxx
106a58779d chore: update quic-go 2023-01-17 22:06:21 +08:00
wwqgtxx
ba6163574e chore: better parseAddr 2023-01-17 15:41:51 +08:00
Larvan2
c90bf1c6e2 chore: Update const type 2023-01-17 12:33:15 +08:00
wwqgtxx
f4414566d3 fix: tuic server's SetCongestionController 2023-01-17 10:41:51 +08:00
Larvan2
db4f3eda55 fix: Add CC for TUIC server 2023-01-17 01:08:30 +08:00
Larvan2
f3b76df13b chore: Update BBR config
chore: Adjust workflow
2023-01-16 21:50:02 +08:00
H1JK
926ef9e33d feat: gRPC gun implement extended writer 2023-01-16 15:54:20 +08:00
wwqgtxx
4e4d741075 chore: code cleanup 2023-01-16 12:11:34 +08:00
H1JK
bec66e9e69 adjust: Improve WebSocket mask 2023-01-16 11:42:10 +08:00
wwqgtxx
50832aab47 chore: decrease direct depend on the sing package 2023-01-16 10:50:31 +08:00
wwqgtxx
643fdd0bce chore: tuic decrease unneeded copy 2023-01-16 09:55:06 +08:00
H1JK
d1565bb46f refactor: Implement extended IO 2023-01-16 09:42:03 +08:00
Skyxim
b6b6413d04 refactor: replace experimental.fingerprints with custom-certificates and Change the fingerprint verification logic to SSL pinning 2023-01-14 21:08:06 +08:00
3andero
804cff8c55
fix: skip-cert-verify is true by default (#333)
* fix: skip-cert-verify is true by default

* fix: format

* fix: typo

Co-authored-by: 3andero <3andero@github.com>
Co-authored-by: Hellojack <106379370+H1JK@users.noreply.github.com>
2023-01-13 09:55:01 +08:00
Larvan2
95247154d6
Fix: Deprecate TCPMSS (#336)
* 修改 DefaultTCPMSS 为 MaxDatagramSize
修改 MaxDatagramSize 的值提高 TUIC 的上传速度
2023-01-12 00:53:42 +08:00
Hellojack
be6142aa43
feat: VLESS support packet encodings (#334)
* adjust: Do not use XTLS on H2 connections

* feat: VLESS support XUDP fullcone NAT

* fix: VLESS with PacketAddr does not work

* fix: VLESS XUDP crash
2023-01-11 22:01:15 +08:00
wwqgtxx
0069513780 chore: shadowtls don't depend on trojan's code 2023-01-11 10:19:30 +08:00
3andero
51f9b34a7c feat: Support ShadowTLS v2 as Shadowsocks plugin (#330) 2023-01-11 00:13:48 +08:00
wwqgtxx
89680de12b fix: only wrap with SyscallConn() when currentConn implements syscall.Conn 2022-12-25 13:29:25 +08:00
wwqgtxx
a03af85a6b fix: trying to let hysteria's port hopping work 2022-12-23 11:00:55 +08:00
wwqgtxx
980454beb2 chore: cleanup code 2022-12-22 09:53:25 +08:00
wwqgtxx
22414ce399 chore: relay support tuic 2022-12-20 00:11:02 +08:00
wwqgtxx
57dfaf135d fix: hysteria ipv6 outbound 2022-12-11 13:41:44 +08:00
wwqgtxx
0aefa3be85 fix: remove cyclic dependent to make tuic's Finalizer work 2022-12-02 16:56:17 +08:00
wwqgtxx
2a3c4c1a33 fix: ensure pool's dial pass to client 2022-11-29 09:23:28 +08:00
wwqgtxx
9ea09b2b94 fix: tuic protocol error 2022-11-29 00:42:26 +08:00
wwqgtxx
dd6f7e3701 fix: structure decode first do strict match 2022-11-28 19:11:55 +08:00
wwqgtxx
4b1d4a3e20 chore: tuic-server support heartbeat command 2022-11-28 18:28:22 +08:00
wwqgtxx
562819e3ca chore: tuic-server support disassociate command 2022-11-28 18:18:51 +08:00
wwqgtxx
551283c16e chore: add tuic-server listener 2022-11-28 17:09:25 +08:00
wwqgtxx
cd53e2d4a7 fix: set RequestTimeout in earlyConn 2022-11-27 16:38:41 +08:00
wwqgtxx
b80e7c3c92 fix: tuic client use pool-based bytes.Buffer 2022-11-27 12:06:04 +08:00
wwqgtxx
0da09c5ddd fix: quicStreamPacketConn's close 2022-11-27 11:42:43 +08:00
wwqgtxx
17c081a40c add support for hysteria udp port hopping (#269)
* add support for hysteria udp port hopping

* add ports field for hysteria

* change method for udp connection

Co-authored-by: geoleonsh <geoleonsh@live.com>
2022-11-27 11:09:56 +08:00
wwqgtxx
423850a7aa chore: allow to set max-open-streams for tuic 2022-11-27 09:38:20 +08:00
wwqgtxx
896d30b151 chore: rebuild tuic client's code 2022-11-26 23:53:59 +08:00
wwqgtxx
ae76daf393 chore: tuic add fast-open support 2022-11-26 21:14:56 +08:00
Skyxim
a5ae2e891c feat: support fast_open for hysteria, and unified parameter naming 2022-11-26 19:37:32 +08:00
wwqgtxx
7f40645934 chore: tuic use a udp pool too and auto close when outbound is garbage collected 2022-11-25 22:42:28 +08:00
wwqgtxx
7b44cde4bd chore: tuic use a simple client pool 2022-11-25 20:14:05 +08:00
wwqgtxx
c7bad89af3 fix: tuic better stream close 2022-11-25 19:14:09 +08:00
wwqgtxx
21a91e88a1 fix: tuic set MaxOpenStreams 2022-11-25 18:32:30 +08:00
wwqgtxx
76d2838721 chore: split tuic's tcp and udp client 2022-11-25 17:15:45 +08:00
wwqgtxx
9b1fe9f466 fix: tuic stream close 2022-11-25 16:06:56 +08:00
wwqgtxx
9976800a35 fix: tuic err handle 2022-11-25 13:03:36 +08:00
wwqgtxx
f542351404 chore: tuic add max_udp_relay_packet_size 2022-11-25 12:43:23 +08:00
wwqgtxx
a13dedb6e4 fix: tuic panic 2022-11-25 12:10:33 +08:00
wwqgtxx
d47ce79a24 chore: better tuic conn close 2022-11-25 11:32:52 +08:00
wwqgtxx
142d17ebad fix: don't close tuic when read timeout 2022-11-25 11:04:28 +08:00
wwqgtxx
c89b1f0e96 chore: tuic add cubic,new_reno,bbr congestion_controller 2022-11-25 10:33:37 +08:00
wwqgtxx
59bd11a3a7 chore: add tuic outbound
close #133
2022-11-25 08:08:14 +08:00
wwqgtxx
2dc62024fe chore: support old chacha20 2022-11-16 18:37:14 +08:00
wwqgtxx
dc3e144b6a Merge branch 'dev' of https://github.com/Dreamacro/clash into Alpha 2022-11-12 20:43:48 +08:00
Kaming Chan
e2d71abecd Fix: handle parse socks5 udp address properly (#2220)
(cherry picked from commit bec4df7b12)
2022-10-01 23:45:06 +08:00
metacubex
ef2f8317c7 Fix: wechat protocol is not working if no obfs string is configured 2022-09-11 15:24:56 +08:00
Skyxim
99effb051b feat: add ip-version param 2022-08-28 13:41:43 +08:00
metacubex
4611fbfe0c chore: disable tcp_test 2022-08-15 15:52:03 +08:00
metacubex
b725c91b05 chore: clean code 2022-08-15 15:46:07 +08:00
Dreamacro
5940f62794 Chore: http2 should use DialTLSContext and some tls handshake should with context 2022-08-13 12:35:39 +08:00
Kaming Chan
bec4df7b12
Fix: handle parse socks5 udp address properly (#2220) 2022-07-25 12:44:00 +08:00
Skyxim
a8ce283727 feat: add fingerprint param 2022-07-11 13:42:28 +08:00
Skyxim
ab8e9e7d7a fix: skip-cert-verify not work 2022-07-11 12:37:27 +08:00
Skyxim
fef9f95e65 feat: add fingerprint for tls verify 2022-07-10 20:44:24 +08:00
LJea
f0952b55d0
Fix: query string parse on ws-opts (#2213) 2022-07-10 14:56:34 +08:00
Skyxim
60e1947ed2 chore: upgrade dependencies for hysteria 2022-07-07 12:49:52 +08:00