Commit Graph

237 Commits

Author SHA1 Message Date
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
gVisor bot
d3bfbe06dc chore: rebuild tuic client's code 2022-11-26 23:53:59 +08:00
gVisor bot
c3d449af71 chore: tuic add fast-open support 2022-11-26 21:14:56 +08:00
gVisor bot
7fde98c9df feat: support fast_open for hysteria, and unified parameter naming 2022-11-26 19:37:32 +08:00
gVisor bot
5e6b33327b chore: tuic use a udp pool too and auto close when outbound is garbage collected 2022-11-25 22:42:28 +08:00
gVisor bot
69b223041c chore: tuic use a simple client pool 2022-11-25 20:14:05 +08:00
gVisor bot
29df286610 fix: tuic better stream close 2022-11-25 19:14:09 +08:00
gVisor bot
10e194a238 fix: tuic set MaxOpenStreams 2022-11-25 18:32:30 +08:00
gVisor bot
947f029a4a chore: split tuic's tcp and udp client 2022-11-25 17:15:45 +08:00
gVisor bot
29dd58edaa fix: tuic stream close 2022-11-25 16:06:56 +08:00
gVisor bot
ac47ee6bc0 fix: tuic err handle 2022-11-25 13:03:36 +08:00
gVisor bot
71c8ef54e6 chore: tuic add max_udp_relay_packet_size 2022-11-25 12:43:23 +08:00
gVisor bot
5e23e5c490 fix: tuic panic 2022-11-25 12:10:33 +08:00
gVisor bot
25540e6c96 chore: better tuic conn close 2022-11-25 11:32:52 +08:00
gVisor bot
45cd046df8 fix: don't close tuic when read timeout 2022-11-25 11:04:28 +08:00
gVisor bot
65b60a3468 chore: tuic add cubic,new_reno,bbr congestion_controller 2022-11-25 10:33:37 +08:00
gVisor bot
0f4a0a7275 chore: add tuic outbound
close #133
2022-11-25 08:08:14 +08:00
gVisor bot
025de25fc4 chore: support old chacha20 2022-11-16 18:37:14 +08:00
gVisor bot
722e8a6c27 Merge branch 'dev' of https://github.com/Dreamacro/clash into Alpha 2022-11-12 20:43:48 +08:00
gVisor bot
97ea1e66ad Fix: handle parse socks5 udp address properly (#2220)
(cherry picked from commit bec4df7b12)
2022-10-01 23:45:06 +08:00
gVisor bot
575c25215e Fix: wechat protocol is not working if no obfs string is configured 2022-09-11 15:24:56 +08:00
gVisor bot
2022605546 feat: add ip-version param 2022-08-28 13:41:43 +08:00
gVisor bot
f7162f7f99 chore: disable tcp_test 2022-08-15 15:52:03 +08:00
gVisor bot
728dd10a89 chore: clean code 2022-08-15 15:46:07 +08:00
gVisor bot
20b9406df2 Chore: http2 should use DialTLSContext and some tls handshake should with context 2022-08-13 12:35:39 +08:00
gVisor bot
0c5be93e15 Fix: handle parse socks5 udp address properly (#2220) 2022-07-25 12:44:00 +08:00
gVisor bot
7c1630c92a feat: add fingerprint param 2022-07-11 13:42:28 +08:00
gVisor bot
27b5ecf3ab fix: skip-cert-verify not work 2022-07-11 12:37:27 +08:00
gVisor bot
91e1649822 feat: add fingerprint for tls verify 2022-07-10 20:44:24 +08:00
gVisor bot
ec5bdbc157 Fix: query string parse on ws-opts (#2213) 2022-07-10 14:56:34 +08:00
gVisor bot
71afe64a8e chore: upgrade dependencies for hysteria 2022-07-07 12:49:52 +08:00
gVisor bot
f6c60c1f7d fix: resolve ipv6 error in hysteria 2022-07-03 22:51:20 +08:00
gVisor bot
6204a65489 chore: embed hysteria, clean irrelevant codes, code from https://github.com/HyNetwork/hysteria 2022-07-03 18:26:46 +08:00
gVisor bot
9bd57b99cc Fix: missing import 2022-06-12 21:22:02 +08:00
gVisor bot
0d18fcef82 Chore: update tproxy udp packet read logic 2022-06-12 19:37:51 +08:00
gVisor bot
c19c8418b3 fix: add length check for ssr auth_aes128_sha1 (#2129) 2022-06-09 17:57:41 +08:00
gVisor bot
1db0adfadc Chore: make hadowsocks2 lib embed 2022-06-04 20:29:33 +08:00
gVisor bot
dc18026481 Chore: embed shadowsocks2 2022-06-01 21:43:20 +08:00
gVisor bot
b5e17b6cd5 Fix: add length check for ssr auth_aes128_sha1 (#2129) 2022-05-13 11:21:39 +08:00
gVisor bot
d1e6239372 chore: the uuid-map is transferred to the protocol 2022-05-06 13:28:09 +08:00
gVisor bot
319884469d feat: Expose remote destination (udp proxy maybe domain of node) 2022-05-04 16:57:08 +08:00
gVisor bot
ad67a1c34c Chore: use generics as possible 2022-04-25 13:18:30 +08:00
gVisor bot
e2dbbb7cfe Refactor: metadata use netip.Addr 2022-04-20 22:52:05 +08:00
gVisor bot
1101775bf0 fix: trojan fail may panic 2022-04-12 18:43:55 +08:00
gVisor bot
05125430dd Merge remote-tracking branch 'Pro-Plus/with-tun' into Alpha
# Conflicts:
#	README.md
#	adapter/outbound/trojan.go
#	adapter/outbound/vless.go
#	transport/trojan/trojan.go
2022-03-30 13:15:45 +08:00
gVisor bot
58e51e8f21 Feature: Trojan XTLS 2022-03-30 00:15:39 +08:00
gVisor bot
5911d62fba Chore: adjust VLESS 2022-03-29 23:50:41 +08:00
gVisor bot
eea2e3def9 [commit]
[Feat] add Pass type for support temporary skip rule set
2022-03-27 23:44:51 +08:00
gVisor bot
17da2d36a5 Chore: regenerate protoc file 2022-03-27 07:12:12 +08:00
gVisor bot
db31cfbd7f Merge remote-tracking branch 'yaling888/with-tun' into Alpha
# Conflicts:
#	.github/workflows/codeql-analysis.yml
#	.github/workflows/linter.yml
#	.github/workflows/release.yml
#	Makefile
#	README.md
#	adapter/outbound/vless.go
#	component/geodata/memconservative/cache.go
#	component/geodata/router/condition.go
#	component/geodata/router/condition_geoip.go
#	component/geodata/standard/standard.go
#	component/geodata/utils.go
#	config/config.go
#	config/initial.go
#	constant/metadata.go
#	constant/path.go
#	constant/rule.go
#	constant/rule_extra.go
#	dns/client.go
#	dns/filters.go
#	dns/resolver.go
#	go.mod
#	go.sum
#	hub/executor/executor.go
#	hub/route/configs.go
#	listener/listener.go
#	listener/tproxy/tproxy_linux_iptables.go
#	listener/tun/dev/dev.go
#	listener/tun/dev/dev_darwin.go
#	listener/tun/dev/dev_linux.go
#	listener/tun/dev/dev_windows.go
#	listener/tun/dev/wintun/config.go
#	listener/tun/dev/wintun/dll_windows.go
#	listener/tun/dev/wintun/session_windows.go
#	listener/tun/dev/wintun/wintun_windows.go
#	listener/tun/ipstack/commons/dns.go
#	listener/tun/ipstack/gvisor/tun.go
#	listener/tun/ipstack/gvisor/tundns.go
#	listener/tun/ipstack/gvisor/utils.go
#	listener/tun/ipstack/stack_adapter.go
#	listener/tun/ipstack/system/dns.go
#	listener/tun/ipstack/system/tcp.go
#	listener/tun/ipstack/system/tun.go
#	listener/tun/tun_adapter.go
#	main.go
#	rule/common/base.go
#	rule/common/domain.go
#	rule/common/domain_keyword.go
#	rule/common/domain_suffix.go
#	rule/common/final.go
#	rule/common/geoip.go
#	rule/common/geosite.go
#	rule/common/ipcidr.go
#	rule/common/port.go
#	rule/parser.go
#	rule/process.go
#	test/go.mod
#	test/go.sum
#	transport/vless/xtls.go
#	tunnel/tunnel.go
2022-03-17 17:41:02 +08:00
gVisor bot
50ab57c72e Merge remote-tracking branch 'clash/dev' into Alpha
# Conflicts:
#	.github/workflows/docker.yml
#	adapter/outboundgroup/fallback.go
#	adapter/outboundgroup/loadbalance.go
#	adapter/outboundgroup/relay.go
#	adapter/outboundgroup/selector.go
#	adapter/outboundgroup/urltest.go
#	config/config.go
#	go.mod
#	go.sum
#	main.go
#	test/go.mod
#	test/go.sum
2022-03-17 01:41:51 +08:00
gVisor bot
446fd99436 Chore: Merge branch 'ogn-dev' into with-tun 2022-03-16 20:16:30 +08:00
gVisor bot
907c68c9cb Migration: go 1.18 2022-03-16 12:10:13 +08:00
gVisor bot
7f0de1861a Merge from remote branch 2022-02-23 01:00:27 +08:00
gVisor bot
c57d92d7c1 [Feat]
support trojan xtls
change geodataloader mode as memconservative
2022-02-04 23:33:36 +08:00
gVisor bot
30008fdf9c Merge from remote branch[ssh] 2022-01-18 10:05:06 +08:00
gVisor bot
f45de76b4a Merge from remote branch 2022-01-18 09:51:20 +08:00
gVisor bot
6e33263167 Fix: tls handshake requires a timeout (#1893) 2022-01-15 19:33:21 +08:00
gVisor bot
70c8e6e1ba Feature: support snell v3 (#1884) 2022-01-10 20:24:20 +08:00
gVisor bot
04ac1e948b Merge from remote branch 2021-11-14 20:25:22 +08:00
gVisor bot
a5f270e40e Fix: revert ssr udp fix 2021-11-14 14:48:00 +08:00
gVisor bot
f7d136f56c Merge from remote branch 2021-10-28 11:36:11 +08:00
gVisor bot
0387c93c56 Style: format code 2021-10-28 00:06:55 +08:00
gVisor bot
aba096784d Merge remote branch 2021-10-21 22:37:30 +08:00
gVisor bot
3d3f1df3b9 Chore: use alpn http 1.1 only on trojan websocket by default 2021-10-19 22:34:18 +08:00
gVisor bot
1b7ad8f494 Feature: support trojan websocket 2021-10-16 20:19:59 +08:00
gVisor bot
54c22a2fce Feature: add mode script 2021-10-15 14:11:14 +08:00
gVisor bot
653f2de2c0 Style: use gofumpt for fmt 2021-10-10 23:44:09 +08:00
gVisor bot
3c61f747cf Merge from remote branch 2021-09-22 22:11:51 +08:00
gVisor bot
0be9c2ae4a Improve: use one bytes.Buffer pool 2021-09-20 21:02:18 +08:00
gVisor bot
249d830d73 Merge from remote branch 2021-09-17 15:07:27 +08:00
gVisor bot
da95b27da6 Fix: socks4 request continues after authentication failed (#1624) 2021-09-15 16:45:57 +08:00
gVisor bot
c2b6be5a41 Fix: potential overflow in ssr (#1600) 2021-09-09 22:07:27 +08:00
gVisor bot
1835aebf85 Fix: potential overflow in ssr (#1600) 2021-09-09 20:30:34 +08:00
gVisor bot
8595347485 Merge from remote branch 2021-09-01 00:38:43 +08:00
gVisor bot
bad8463bd4 Fix: ssr auth aes128 udp hmac verify 2021-08-30 00:15:57 +08:00
gVisor bot
58d66fb4e4 Chore: adjust vmess 0rtt code and split xray test 2021-08-22 16:16:45 +08:00
gVisor bot
d867bb3b50 Feature: support xray's ws-0rtt path (#1558) 2021-08-22 16:03:46 +08:00
gVisor bot
d99920a3e6 Feature: add vmess WebSocket early data (#1505)
Co-authored-by: ShinyGwyn <79344143+ShinyGwyn@users.noreply.github.com>
2021-08-22 00:25:29 +08:00
gVisor bot
cb4ddfc8ca Fix: grpc transport path should not escape 2021-08-19 22:11:56 +08:00
gVisor bot
2e762b39b7 Merge from remote branch 2021-07-28 22:13:21 +08:00
gVisor bot
dd6e71d58f Feature: SOCKS4/SOCKS4A Inbound Compatible Support (#1491) 2021-07-18 16:09:09 +08:00
gVisor bot
c17b71b12b Feature: add xtls support for VLESS 2021-07-06 23:55:34 +08:00
gVisor bot
b5939c1cc3 Merge from remote branch 2021-07-03 22:31:12 +08:00
gVisor bot
089faa30a5 Fix: remove ClientSessionCache and add NextProtos for vmess to fix #1468 2021-07-03 20:34:44 +08:00
gVisor bot
38c102a93d Code: refresh code 2021-07-01 22:49:29 +08:00
gVisor bot
aaaef92fbf Fix: vmess http should use Host header on request 2021-05-16 20:05:41 +08:00
gVisor bot
7b080217bd Chore: split component to transport 2021-05-13 22:19:34 +08:00