Commit graph

237 commits

Author SHA1 Message Date
gVisor bot
66ca57a787 chore: slightly improve quic-bbr performance 2023-05-28 20:15:11 +08:00
gVisor bot
14c1918e6c chore: add WaitReadFrom support in quicStreamPacketConn 2023-05-28 15:22:08 +08:00
gVisor bot
344533fd11 chore: Add vision splice support 2023-05-27 11:26:13 +08:00
gVisor bot
7d83127347 refactor: Move vision implementation to a new package 2023-05-26 20:11:06 +08:00
gVisor bot
57883b4927 chore: using internal socks5.ReadAddr0 in trojan 2023-05-20 18:35:04 +08:00
gVisor bot
b59df5ac42 chore: Decrease UoT read memory 2023-05-20 17:01:52 +08:00
gVisor bot
c71a4619b8 chore: more context passing in outbounds 2023-05-18 13:15:08 +08:00
gVisor bot
90bf28cb89 feat: Support insecure gRPC 2023-05-13 09:38:14 +08:00
gVisor bot
5070a21626 fix: tuic server return error udp address 2023-05-11 22:45:27 +08:00
gVisor bot
ec4508255d chore: better tuic earlyConn impl 2023-05-10 09:36:06 +08:00
gVisor bot
72e42957bf fix: Update unsafe pointer add usage 2023-05-06 15:49:10 +08:00
gVisor bot
bc15a8d757 fix: tuic connection error using fast_open 2023-04-29 15:44:07 +00:00
gVisor bot
190014aa1d chore: using sync/atomic replace uber/atomic 2023-04-22 15:37:57 +08:00
gVisor bot
422fccc100 fix: h2 close panic 2023-04-17 23:42:15 +08:00
gVisor bot
0e2f5e4436 fix: ensure StreamWebsocketConn call N.NewDeadlineConn 2023-04-17 00:23:12 +08:00
gVisor bot
d4b6acb212 fix: proxyDialer panic when domain name was not resolved 2023-04-12 12:49:53 +08:00
gVisor bot
c28e495f44 fix: tuic pool client should only cache the system's UDPConn 2023-04-10 12:22:12 +08:00
gVisor bot
c4580858fb chore: Update dependencies 2023-04-09 15:40:17 +08:00
gVisor bot
d20ac0dc8a Fix: return pooled buffer when simple-obfs tls read error (#2643) 2023-04-06 09:32:27 +08:00
gVisor bot
8358114e31 chore: Add early bounds checks 2023-04-05 13:51:50 +08:00
gVisor bot
c0bcf77bf7 fix: tuic fast-open not work 2023-04-03 21:08:12 +08:00
gVisor bot
ae5fafa885 chore: make all net.Conn wrapper can pass through N.ExtendedConn 2023-04-02 22:24:46 +08:00
gVisor bot
46a76f38f2 fix: Vision slice out of bounds error 2023-04-01 20:08:49 +08:00
gVisor bot
96461ab557 feat: nameserver-policy support use rule-providers and reduce domain-set memory 2023-04-01 11:53:39 +08:00
gVisor bot
2be8768bc7 fix: tuic udp native mode can't relay packetSize>1200 2023-03-16 21:09:44 +08:00
gVisor bot
3001df622f chore: better uuid using 2023-03-15 10:10:03 +08:00
gVisor bot
dea929bdae fix: let quic-go works on outbound's packetConn 2023-03-15 09:56:00 +08:00
gVisor bot
f8c1d4d4c7 chore: better restls 2023-03-14 16:50:27 +08:00
gVisor bot
492a334eed Support Restls-V1 in Clash.Meta (#441)
* feat: impl restls

* fix: don't break shadowtls' working

* chores: correct restls-client-go version

* feat: bump restls-client-go version

* fix: consistent naming `client-fingerprint`

* docs: update example config

* chore: adjust client-fingerprint's snippet

---------

Co-authored-by: wwqgtxx <wwqgtxx@gmail.com>
Co-authored-by: Larvan2 <78135608+Larvan2@users.noreply.github.com>
2023-03-14 13:33:24 +08:00
gVisor bot
dcccdaddaf fix: tuic relay tuic 2023-03-12 19:03:18 +08:00
gVisor bot
cb6f0675f6 chore: Remove useless mutex in Vision 2023-03-12 10:13:23 +08:00
gVisor bot
adce5f1be9 fix: ALPN not applied in uTLS/REALITY 2023-03-10 20:53:39 +08:00
gVisor bot
8521485872 fix: tuic server set authentication timeout after quic handshake complete 2023-03-10 12:26:17 +08:00
gVisor bot
89ab6271d8 fix: REALITY with gRPC transport 2023-03-10 10:01:05 +08:00
gVisor bot
89a070ea42 fix: tuic server close with error message 2023-03-09 10:41:24 +08:00
gVisor bot
68a2b8a9d2 feat: Support REALITY protocol 2023-03-08 17:18:46 +08:00
gVisor bot
e7a8b23efa chore: do not apply padding for nonTLS packet with contentLen over 900 2023-03-07 16:35:19 +08:00
gVisor bot
a0760ece28 chore: try to fix slice out of bound. 2023-03-07 15:52:50 +08:00
gVisor bot
a5cf2ce0df chore: use fastrand to replace math/rand 2023-03-06 18:10:14 +08:00
gVisor bot
c6ec5c683b chore: Generate UUID from fastrand 2023-03-05 11:00:14 +08:00
gVisor bot
30213afed5 chore: Vision padding upgrade 2023-03-04 21:47:42 +08:00
gVisor bot
e0b3b4515e adjust: Simplify VLESS handshake lock 2023-02-27 12:02:44 +08:00
gVisor bot
e60ce44e7f fix: vless NeedHandshake mistake 2023-02-27 09:46:00 +08:00
gVisor bot
6b4e46af72 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
gVisor bot
e45b8dc404 chore: add early conn interface to decrease unneeded write 2023-02-27 00:26:49 +08:00
gVisor bot
dfb1454119 fix: Filter slice index out of bounds 2023-02-26 13:04:12 +08:00
gVisor bot
c1d7d4be13 fix: Vision filter TLS 1.2 2023-02-26 11:13:47 +08:00
gVisor bot
95196c9c21 fix: Vision filter Client Hello 2023-02-25 19:11:23 +08:00
gVisor bot
0bdd896c45 fix: Vision disable filter for non-TLS connections 2023-02-25 15:00:21 +08:00
gVisor bot
aaf1ce67d1 feat: Support VLESS XTLS Vision (#406) 2023-02-25 14:01:59 +08:00
gVisor bot
a132fe585b chore: use early conn to support real ws 0-rtt 2023-02-24 09:54:54 +08:00
gVisor bot
a694155b20 chore: using sing-shadowtls to support shadowtls v1/2/3 2023-02-21 21:58:37 +08:00
gVisor bot
70538347b8 fix: ensure return a nil interface not an interface with nil value 2023-02-18 14:16:03 +08:00
gVisor bot
63510ea0cf fix: websocket headroom 2023-02-18 13:58:08 +08:00
gVisor bot
aa9da5dcb0 chore: cleanup natTable's api 2023-02-18 13:16:07 +08:00
gVisor bot
e23763c71a feat: introduce a new robust approach to handle tproxy udp. (#389) 2023-02-17 16:31:15 +08:00
gVisor bot
4a5857ab94 fix issue #357.
Copy from upstream.
2023-02-16 21:14:27 +08:00
gVisor bot
2e183fb53f fix: VLESS handshake write 2023-02-11 15:13:17 +08:00
gVisor bot
a3688b1a08 feat: Attempts to send request with first payload on VLESS 2023-02-10 10:03:37 +08:00
gVisor bot
ce0f69d6ed chore: do not use extra pointer in UClient 2023-02-07 17:51:37 +08:00
gVisor bot
57279cd971 chore: move global-utls-client snippets to components\tls 2023-02-07 17:24:14 +08:00
gVisor bot
5cab8afec7 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
gVisor bot
4d33fb9848 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
gVisor bot
5169fe33bf 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
gVisor bot
e555fd65ec fix: ShadowTLS header use array instead 2023-01-20 17:35:49 +08:00
gVisor bot
48eaa4dc5c chore: update quic-go 2023-01-17 22:06:21 +08:00
gVisor bot
fa54a8206a chore: better parseAddr 2023-01-17 15:41:51 +08:00
gVisor bot
325e44dee7 chore: Update const type 2023-01-17 12:33:15 +08:00
gVisor bot
becafd8bec fix: tuic server's SetCongestionController 2023-01-17 10:41:51 +08:00
gVisor bot
82ab43c7ba fix: Add CC for TUIC server 2023-01-17 01:08:30 +08:00
gVisor bot
58b8cc56b5 chore: Update BBR config
chore: Adjust workflow
2023-01-16 21:50:02 +08:00
gVisor bot
6d90cf2162 feat: gRPC gun implement extended writer 2023-01-16 15:54:20 +08:00
gVisor bot
d926d6106f chore: code cleanup 2023-01-16 12:11:34 +08:00
gVisor bot
73f1fcb324 adjust: Improve WebSocket mask 2023-01-16 11:42:10 +08:00
gVisor bot
58ee2ae7f5 chore: decrease direct depend on the sing package 2023-01-16 10:50:31 +08:00
gVisor bot
483b1a83f8 chore: tuic decrease unneeded copy 2023-01-16 09:55:06 +08:00
gVisor bot
7df6e79cf0 refactor: Implement extended IO 2023-01-16 09:42:03 +08:00
gVisor bot
8ec6c87a2b refactor: replace experimental.fingerprints with custom-certificates and Change the fingerprint verification logic to SSL pinning 2023-01-14 21:08:06 +08:00
gVisor bot
419982688f 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
gVisor bot
cd38fc63b3 Fix: Deprecate TCPMSS (#336)
* 修改 DefaultTCPMSS 为 MaxDatagramSize
修改 MaxDatagramSize 的值提高 TUIC 的上传速度
2023-01-12 00:53:42 +08:00
gVisor bot
0467b2a68d 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
gVisor bot
bbe0932e19 chore: shadowtls don't depend on trojan's code 2023-01-11 10:19:30 +08:00
gVisor bot
bb84e427a0 feat: Support ShadowTLS v2 as Shadowsocks plugin (#330) 2023-01-11 00:13:48 +08:00
gVisor bot
50f6045a36 fix: only wrap with SyscallConn() when currentConn implements syscall.Conn 2022-12-25 13:29:25 +08:00
gVisor bot
a0d15df880 fix: trying to let hysteria's port hopping work 2022-12-23 11:00:55 +08:00
gVisor bot
57cd902214 chore: cleanup code 2022-12-22 09:53:25 +08:00
gVisor bot
861357234f chore: relay support tuic 2022-12-20 00:11:02 +08:00
gVisor bot
3d79bf1072 fix: hysteria ipv6 outbound 2022-12-11 13:41:44 +08:00
gVisor bot
3ed496ac65 fix: remove cyclic dependent to make tuic's Finalizer work 2022-12-02 16:56:17 +08:00
gVisor bot
6c4a6872e7 fix: ensure pool's dial pass to client 2022-11-29 09:23:28 +08:00
gVisor bot
5c8ffc98c9 fix: tuic protocol error 2022-11-29 00:42:26 +08:00
gVisor bot
b646df14c2 fix: structure decode first do strict match 2022-11-28 19:11:55 +08:00
gVisor bot
df306be1ec chore: tuic-server support heartbeat command 2022-11-28 18:28:22 +08:00
gVisor bot
81e03ec904 chore: tuic-server support disassociate command 2022-11-28 18:18:51 +08:00
gVisor bot
dbe9c4ba47 chore: add tuic-server listener 2022-11-28 17:09:25 +08:00
gVisor bot
797e54c92f fix: set RequestTimeout in earlyConn 2022-11-27 16:38:41 +08:00
gVisor bot
9c1bdc686c fix: tuic client use pool-based bytes.Buffer 2022-11-27 12:06:04 +08:00
gVisor bot
7f46bd7552 fix: quicStreamPacketConn's close 2022-11-27 11:42:43 +08:00
gVisor bot
295cc3af92 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
gVisor bot
81f5305705 chore: allow to set max-open-streams for tuic 2022-11-27 09:38:20 +08:00