wwqgtxx
efd63d8746
chore: extract bitmap handling from QUIC crypto reassembly
2026-07-28 18:26:08 +08:00
wwqgtxx
4fcf9aedea
fix: track QUIC crypto stream coverage without repeated range sorting
2026-07-28 17:24:59 +08:00
wwqgtxx
c807c9a040
chore: let the HTTP/2 sniffer assemble header blocks across continuation frames
2026-07-28 17:24:52 +08:00
wwqgtxx
4859d14254
chore: let quic sniffer handle coalesced packets and larger client hello
2026-07-28 16:40:58 +08:00
wwqgtxx
c235dc18cd
chore: let the sniffer assemble client hello across TLS records
2026-07-28 16:00:56 +08:00
wwqgtxx
2bade2940a
chore: allow the sniffer to read more data if possible
2026-07-28 15:10:05 +08:00
wwqgtxx
cb8e9900f6
chore: let sniffer support multi-round reading
2026-07-28 10:32:18 +08:00
Kosta
e889b68955
feat: support H2C and QUICv2 sniffing ( #3036 )
2026-07-28 08:44:16 +08:00
TWO666
fb002210ff
fix: tun dns hijack sending zero-filled or stale packets when PackBuffer reallocates ( #3037 )
...
D.Msg.PackBuffer sizes its scratch space by the uncompressed message length
and silently allocates a new slice when that exceeds the given buffer, even
though the compressed result would fit. The udp hijack path in
listener/sing_tun/dns.go always sends the original buffer, producing a
correct-length datagram full of zeros or stale bytes whenever a reply's
uncompressed size exceeds SafeDnsPacketSize (e.g. 100+ A records for one
name). Copy the packed result back into the caller's buffer when it fits.
The tcp path in RelayDnsConn already guards against this; the udp path did
not.
2026-07-27 13:03:03 +08:00
wwqgtxx
6bb8b98314
chore: strictly verify the syntax for Clash-style domain wildcards
2026-07-26 13:13:59 +08:00
wwqgtxx
5677fd3808
feat: add name-cert-verify to support separate certificate verification name
2026-07-12 18:12:59 +08:00
kasumikira
26edbaae0b
fix: dualStackDialContext not close the fallback connection when the preferred IP family won
2026-06-30 18:56:53 +08:00
wwqgtxx
1095055136
chore: upgrade bbolt to 1.5.0
2026-06-28 22:46:16 +08:00
wwqgtxx
da28fe33c8
chore: more code sharing
2026-06-12 15:43:17 +08:00
wwqgtxx
d67572bbae
feat: support routing-mark for listeners except tun/redir/tproxy and top-level external-controller-routing-mark
2026-06-12 10:05:53 +08:00
Guanni Qu
11848509fb
fix: quic sniffer out-of-bounds read causes process crash via single UDP packet
2026-06-06 01:03:54 +08:00
wwqgtxx
e928ef59c1
feat: add path-in-bundle to rule-providers to support extract from BundleMRS.7z when the local file does not exist
2026-06-05 12:13:12 +08:00
wwqgtxx
f99d4e1be6
chore: adjust internal age component api
2026-06-04 09:30:58 +08:00
wwqgtxx
b60e687eb7
chore: support convert age-secret-key to age-public-key for build-in age tool
2026-06-03 16:15:02 +08:00
wwqgtxx
316f5df1f1
chore: add WithDialer option to component/http for api user
2026-06-03 12:25:51 +08:00
wwqgtxx
d7ac7b5239
chore: support std input/output for age encrypt/decrypt tool
2026-06-03 12:25:37 +08:00
wwqgtxx
358fa5eb24
feat: add age-secret-key for proxy-provider and -age-secret-key for cmdline to support age armor format config decryption
2026-06-03 11:53:58 +08:00
wwqgtxx
bd72c65b5e
feat: remove global-client-fingerprint, please set client-fingerprint directly on the proxy instead
2026-06-02 10:40:38 +08:00
wwqgtxx
72f133f4bd
chore: more logging for tailscale debug
2026-05-21 09:54:07 +08:00
wwqgtxx
a2aca027e4
fix: pinger in tailscale not under our control
2026-05-20 09:33:22 +08:00
wwqgtxx
a05c94b4ad
chore: make the proxydialer module no longer directly depend on the tunnel module
2026-05-17 21:55:16 +08:00
wwqgtxx
802b0b2449
fix: netlink permission denied on android for tailscale
2026-05-15 14:46:03 +08:00
xream
8a28dce512
fix: validate Linux process netlink matches
2026-05-15 08:41:02 +08:00
wwqgtxx
e933ca82d9
fix: netlink permission denied on android for tailscale
2026-05-14 22:22:14 +08:00
wwqgtxx
faa58f27fc
chore: add some comments for using the new net/http API
2026-05-12 09:57:25 +08:00
wwqgtxx
95946a5fb2
fix: net/http.Transport's UnencryptedHTTP2 does not work TLS without ALPN
2026-05-09 11:50:15 +08:00
wwqgtxx
028b480ae6
chore: remove unused http server code
2026-05-08 15:47:39 +08:00
wwqgtxx
a1c68a4346
chore: using new net/http api in reality client fallback
2026-05-07 18:47:54 +08:00
wwqgtxx
2f51cb0330
fix: conn maybe not closed in error handling
2026-05-07 09:54:00 +08:00
Zephyruso
8a029da50b
feat: add /storage endpoint with Get, Put, and Delete methods for restful api
2026-04-19 20:45:12 +08:00
wwqgtxx
1b2ea14596
feat: support ipv6 dual stack fallback for masque/trusttunnel/xhttp h3 mode
2026-04-11 12:01:07 +08:00
wwqgtxx
7b73775591
chore: add short circuit logic for dual stack dial to decrease unnecessary goroutine
2026-04-11 11:56:35 +08:00
wwqgtxx
3db64d039f
chore: add get tls connection state function in component/tls
2026-04-04 09:39:59 +08:00
Alexandr Andreev
9664ca2df8
chore: add procfs fallback for android findProcess ( #2639 )
2026-03-26 18:00:26 +08:00
wwqgtxx
a48da7ded7
chore: simplify reality verifier code
2026-03-06 00:41:09 +08:00
wwqgtxx
0045935736
chore: add some UTLS fingerprint names that explicitly do not contain X25519MLKEM768
2026-03-06 00:41:09 +08:00
wwqgtxx
002e457dd8
chore: rollback to the generic method for handling UTLS fingerprints
2026-03-06 00:41:09 +08:00
wwqgtxx
43509da1a9
chore: simplify gun code
2026-02-23 21:03:22 +08:00
wwqgtxx
30391b40c4
chore: unified UA settings method
2026-02-13 18:11:46 +08:00
Panda
05fbf552ec
fix: make User-Agent check case-insensitive ( #2566 )
2026-02-13 17:34:06 +08:00
wwqgtxx
8b0bcb6740
chore: better generator
2026-02-08 00:09:46 +08:00
wwqgtxx
022f677385
chore: cleanup hostValue code
2026-02-07 12:07:01 +08:00
wwqgtxx
f2222b5e02
chore: code cleanup
2026-02-05 16:47:24 +08:00
Chenx Dust
3ac62152cb
fix: race condition of tcpConcurrent in dialer ( #2556 )
2026-02-05 15:57:01 +08:00
wwqgtxx
3bca69c745
chore: add some comments for the fingerprint verifier
2026-02-05 10:34:36 +08:00