Commit graph

456 commits

Author SHA1 Message Date
Skyxim
9d9bd245f3 fix: Adjust the timing of subscription information acquisition 2023-03-15 09:05:16 +08:00
Skyxim
88116d9032 fix: optimize health check 2023-03-14 20:10:52 +08:00
wwqgtxx
6ba82c6d85 chore: cleanup code 2023-03-14 17:45:37 +08:00
wwqgtxx
5816dc2955 chore: better restls 2023-03-14 16:50:27 +08:00
3andne
2fef00d2a8
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
H1JK
ae4d114802 chore: Cleanup REALITY code 2023-03-11 12:23:27 +08:00
wwqgtxx
2ccef31f75 fix: ensure wireguard inner use dialer with DefaultResolver 2023-03-10 17:00:39 +08:00
wwqgtxx
e7f9072911 fix: add xtls-rprx-vision server version warning to user 2023-03-10 12:54:43 +08:00
wwqgtxx
fe298bd53f fix: strategyRoundRobin not begin with zero 2023-03-10 12:47:01 +08:00
H1JK
dca98b7aa1 fix: REALITY with gRPC transport 2023-03-10 10:01:05 +08:00
wwqgtxx
c0fc5d142f fix: unmap 4in6 address in dialer and wireguard 2023-03-10 00:25:22 +08:00
wwqgtxx
a454a7f736 fix: load-balance's touch not effected 2023-03-09 11:09:36 +08:00
H1JK
921b2c3aa4 feat: REALITY use proxy servername 2023-03-08 20:28:12 +08:00
H1JK
76a8fe3839 feat: Support REALITY protocol 2023-03-08 17:18:46 +08:00
wwqgtxx
9cc7fdaca9 chore: wireguard using internal dialer 2023-03-07 09:30:51 +08:00
H1JK
ae966833a4 chore: Generate UUID from fastrand 2023-03-05 11:00:14 +08:00
H1JK
bccc6aa8d1 chore: Better REJECT conn 2023-03-04 18:33:05 +08:00
wwqgtxx
e7613e4f8b fix: loadbalance panic 2023-03-01 14:04:42 +08:00
wwqgtxx
c1199f1a8a chore: add early conn interface to decrease unneeded write 2023-02-27 00:26:49 +08:00
wwqgtxx
efbde4a179 fix: reject's dial warning 2023-02-26 11:11:54 +08:00
Hellojack
81722610d5 feat: Support VLESS XTLS Vision (#406) 2023-02-25 14:01:59 +08:00
wwqgtxx
8f0c61ed14 fix: tuic missing routing mark 2023-02-24 14:02:20 +08:00
wwqgtxx
7d524668e0 chore: support TFO for outbounds 2023-02-24 13:53:44 +08:00
wwqgtxx
75680c5866 chore: use early conn to support real ws 0-rtt 2023-02-24 09:54:54 +08:00
Skyxim
d5d62a4ffd chore: change internal tcp traffic type 2023-02-23 20:26:25 +08:00
wwqgtxx
21848d6bf1 chore: code cleanup 2023-02-22 19:43:32 +08:00
wwqgtxx
baaf509637 chore: using sing-shadowtls to support shadowtls v1/2/3 2023-02-21 21:58:37 +08:00
Skyxim
db3e1b9ed5 feat: add sni field for tuic 2023-02-19 16:20:30 +08:00
Ovear
b2d1cea759
fix: RoundRobin strategy of load balance when called multiple times (#390) 2023-02-17 16:31:00 +08:00
wwqgtxx
24419551a9 chore: update tfo-go for golang1.20 2023-02-08 13:10:44 +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
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
Larvan2
61b3b4f775 fix: Handle error earlier in DialContextWithDialer.
chore: Fix typo.
2023-01-31 18:05:46 +08:00
qiaoweijie
f1ef6c2096 fix: get tlsconfig err not handle, return nil pointer 2023-01-31 15:26:18 +08:00
H1JK
a06b387acc adjust: VLESS enable XUDP by default 2023-01-28 14:58:52 +08:00
metacubex
2b2644a76f chore: restful api display xudp for VLESS and VMess 2023-01-28 00:07:20 +08:00
Larvan2
f7538568c0 Chore: Change default latency test url to HTTPS. 2023-01-27 13:41:23 +08:00
Larvan2
16c4b55e31 Chore: Decrease the default MaxUdpRelayPacketSize to 1252 to avoid the relay UDP exceeding the size of the QUIC's datagram.
ClientMaxOpenStreams now follows the config.yaml option.
2023-01-24 21:48:31 +08:00
ag2s20150909
023a96a6d3
make ConvertsV2Ray more robust (#349)
* make ConvertsV2Ray more  robust
* add log
* fix
2023-01-24 16:34:52 +08:00
wwqgtxx
ba6163574e chore: better parseAddr 2023-01-17 15:41:51 +08:00
wwqgtxx
4e4d741075 chore: code cleanup 2023-01-16 12:11:34 +08:00
wwqgtxx
50832aab47 chore: decrease direct depend on the sing package 2023-01-16 10:50:31 +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
metacubex
606e8948c0 Fix: TLS defaults to true for h2/grpc networks 2023-01-14 16:20:58 +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
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
metacubex
337be9124f chore: clean code 2023-01-11 00:01:28 +08:00
wwqgtxx
261b8a1d06 fix: vmess udp 2023-01-10 13:21:32 +08:00
metacubex
01d8b224db fix: vless RoutingMark bind 2023-01-09 23:15:17 +08:00
H1JK
fd48c6df8a chore: Fix fmt in #321
Replace all double spaces to tabs due to Go fmt proposal.
2023-01-07 12:24:28 +08:00
ag2s20150909
29b72df14c proxy-groups support exclude node by node type 2023-01-03 21:47:57 +08:00
ag2s20150909
f100a33d98 proxy-provider support exclude node by node type 2023-01-03 21:27:07 +08:00
wwqgtxx
a03af85a6b fix: trying to let hysteria's port hopping work 2022-12-23 11:00:55 +08:00
wwqgtxx
daf0b23805 fix: some safeConnClose forget using original 2022-12-22 12:31:45 +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
7496d9c114 chore: rebuild relay 2022-12-19 21:34:07 +08:00
wwqgtxx
c63dd62ed2 chore: support relay native udp when using ss and ssr protocol 2022-12-19 17:02:04 +08:00
wwqgtxx
57592ee840 chore: better safeConnClose 2022-12-16 22:16:02 +08:00
wwqgtxx
afb2364ca2 chore: wireguard's reserved support base64 input 2022-12-13 20:40:07 +08:00
wwqgtxx
9711390c18 fix: check conn is nil in safeConnClose 2022-12-13 18:09:19 +08:00
wwqgtxx
bffb0573a6 fix: safeConnClose not working 2022-12-13 13:20:40 +08:00
wwqgtxx
88acf8e098 fix: fix bindIfaceToListenConfig() in windows force bind to an ipv4 address 2022-12-13 11:18:32 +08:00
wwqgtxx
f87144f84b chore: add persistent-keepalive for wireguard 2022-12-13 08:35:01 +08:00
wwqgtxx
1333f1fd47 fix: fix wireguard outbound not work with ipv6 server 2022-12-13 08:23:17 +08:00
wwqgtxx
8fa6bd1743 fix: fix wireguard outbound not work with the sniffer 2022-12-11 23:53:53 +08:00
wwqgtxx
f657ac97f6 fix: add an unmap before is6 2022-12-11 15:48:37 +08:00
wwqgtxx
57dfaf135d fix: hysteria ipv6 outbound 2022-12-11 13:41:44 +08:00
wwqgtxx
9df42d7b98 fix: issue #292 2022-12-11 09:25:46 +08:00
wwqgtxx
a6f7e1472b fix: let doh/dot server follow hosts and can remotely resolve itself ip 2022-12-07 20:01:44 +08:00
wwqgtxx
46d23d9b86 chore: all listeners support specialProxy 2022-12-05 17:53:54 +08:00
wwqgtxx
a0a2eb2106 chore: update dependencies 2022-12-05 11:03:28 +08:00
wwqgtxx
b7d976796a chore: listeners support shadowsocks/vmess 2022-12-05 10:12:53 +08:00
wwqgtxx
2e22c712af chore: rebuild add adapter/inbound.Addition to simply Listener.New apis 2022-12-05 00:20:50 +08:00
wwqgtxx
62474e0ed6 fix: correct C.Metadata 2022-12-04 22:08:20 +08:00
wwqgtxx
62226e8b3d chore: rebuild InboundListener 2022-12-04 21:53:13 +08:00
wwqgtxx
6fc62da7ae chore: change C.PacketAdapter from a struct to an interface 2022-12-04 14:37:52 +08:00
Skyxim
4f75201a98 feat: add linsters 2022-12-04 13:37:14 +08:00
wwqgtxx
0aefa3be85 fix: remove cyclic dependent to make tuic's Finalizer work 2022-12-02 16:56:17 +08:00
metacubex
8c0fbb3665 chore: restful api display fast-open for tuic and hysteria 2022-11-29 00:56:27 +08:00
wwqgtxx
b4b9ef2362 Merge branch 'dev' of https://github.com/Dreamacro/clash into Alpha 2022-11-28 20:04:56 +08:00
wwqgtxx
dd6f7e3701 fix: structure decode first do strict match 2022-11-28 19:11:55 +08:00
wwqgtxx
551283c16e chore: add tuic-server listener 2022-11-28 17:09:25 +08:00
wwqgtxx
a58234f0cd chore: support KeyReplacer in Structure Decoder 2022-11-27 13:44:38 +08:00
wwqgtxx
c8d7243b5b fix: hop-interval of tysteria is optional too 2022-11-27 13:07:27 +08:00
Skyxim
6b1ca7b07c fix: ports of hysteria is optional 2022-11-27 12:52:14 +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
495fd191f2 chore: clear config field name (be compatible with old field name) 2022-11-26 21:35:47 +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
Sizhe Sun
90b40a8e5a
Fix: drop UDP packet which mismatched destination for VMess (#2410)
Co-authored-by: SUN Sizhe <sunsizhe@cmi.chinamobile.com>
2022-11-26 11:27:24 +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
Skyxim
6c204d2b77 chroe: wrong variable 2022-11-25 20:53:08 +08:00
wwqgtxx
7b44cde4bd chore: tuic use a simple client pool 2022-11-25 20:14:05 +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
f542351404 chore: tuic add max_udp_relay_packet_size 2022-11-25 12:43:23 +08:00
wwqgtxx
d47ce79a24 chore: better tuic conn close 2022-11-25 11:32:52 +08:00
Skyxim
cce42b4b83 fix: prefer ipv6 not working 2022-11-25 11:12:22 +08:00
wwqgtxx
30ca59dab7 fix: tuic typo 2022-11-25 10:45:06 +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
16f8f77f5d fix: better wireguard error handle 2022-11-18 19:40:39 +08:00
wwqgtxx
dfc0ec995c fix: wireguard handle conn is nil 2022-11-18 19:32:12 +08:00
wwqgtxx
1880a485f8 chore: better tfo inbound code 2022-11-16 10:43:16 +08:00
wwqgtxx
dc3e144b6a Merge branch 'dev' of https://github.com/Dreamacro/clash into Alpha 2022-11-12 20:43:48 +08:00
wwqgtxx
901a47318d chore: always pass context when resolve dns 2022-11-12 13:18:36 +08:00
wwqgtxx
b2d7149a95 chore: support IN-PORT rule 2022-11-11 23:36:06 +08:00
wwqgtxx
6dadc2357a chore: remove AddrType on Metadata 2022-11-11 09:19:50 +08:00
wwqgtxx
4b4c3dc41e fix: small-case import name 2022-11-09 19:42:56 +08:00
wwqgtxx
b699fb046b fix: wireguard's dns resolve 2022-11-09 19:35:03 +08:00
wwqgtxx
ae08d13de4 chore: support wireguard outbound 2022-11-09 18:44:06 +08:00
wwqgtxx
1d784231b0 fix: exclude-filter not work when filter is empty 2022-11-09 08:41:30 +08:00
wwqgtxx
5fd79890e7 chore: add exclude-filter to ProxyGroup 2022-11-09 08:06:37 +08:00
metacubex
53b2a480ef fix: subscriptionInfo api 2022-11-08 22:30:50 +08:00
adlyq
409cd4f6a1 fix: subscriptionInfo api
fix: subscriptionInfo api

fix: subscriptionInfo api
2022-11-08 07:59:08 +08:00
wwqgtxx
4673d2093a fix: context import 2022-11-06 08:43:39 +08:00
adlyq
dcd2417fce feat: subscriptionInfo 2022-11-05 19:39:17 +08:00
wwqgtxx
19b7c7f52a
Fix: a shared fastSingle.Do() may cause providers untouched (#2378) 2022-11-04 13:11:01 +08:00
wwqgtxx
5dab89c9ec fix: group filter add not matched proxies at the end 2022-10-31 21:50:30 +08:00
wwqgtxx
2a24effac0 chore: better UrlTest's torch 2022-10-31 16:58:29 +08:00
wwqgtxx
972d3f1d39 fix: UrlTest's torch not work
close #232
2022-10-31 16:45:14 +08:00
wwqgtxx
a7aa5fd523 adjust: add some log for healthcheck debug 2022-10-31 16:04:50 +08:00
wwqgtxx
b9d8b69889 fix: lazy check 2022-10-30 23:08:18 +08:00
wwqgtxx
dedb9122df chore: support multi filter in GroupBase too 2022-10-30 22:30:54 +08:00
wwqgtxx
0e5bf0c27e chore: support multi filter like subconverter in ProxyProvider and add exclude-filter to ProxyProvider 2022-10-30 21:04:33 +08:00
Skyxim
0fb0e490f8 fix: when connection refused active health test 2022-10-16 13:12:49 +08:00
wwqgtxx
94246104b8 chore: use sing-tun to replace old tun_adapter 2022-10-06 19:23:38 +08:00
H1JK
59edcf33bd feat: Add VMess global padding support 2022-10-02 22:42:33 +08:00
H1JK
35506e179a chore: Unify config field name style 2022-10-02 21:46:01 +08:00
Stash Networks
88e4a9a755
Chore: compatible with Stash hysteria config 2022-09-21 23:42:33 +08:00
wwqgtxx
82c9a1a2bb chore: add xudp support for vmess 2022-09-19 18:26:43 +08:00
wwqgtxx
e1ec4a2502 fix: wrong host shown when using uot 2022-09-19 17:37:16 +08:00
Skyxim
d69e0bce4a fix: resolve ip of udp proxy error 2022-08-29 13:04:48 +08:00
Skyxim
7f197ede51 fix: hysteria udp crash 2022-08-29 12:10:46 +08:00
Skyxim
db94dc76b4
fix: udp default resolve ip 2022-08-28 15:57:10 +08:00
Skyxim
99effb051b feat: add ip-version param 2022-08-28 13:41:43 +08:00
Skyxim
482062376e fix: Temporarily delete marking node alive as false when error occurs 2022-08-13 18:25:28 +08:00
Dreamacro
5940f62794 Chore: http2 should use DialTLSContext and some tls handshake should with context 2022-08-13 12:35:39 +08:00
metacubex
637707e58f Chore: Migration 1.19 2022-08-12 00:07:13 +08:00
Dreamacro
d71a2ce61e Fix: fakeip udp should not replace with another ip 2022-07-24 00:02:45 +08:00
Dreamacro
133bb2319f Chore: load balance hash need to have fallback strategy 2022-07-23 23:59:13 +08:00
Dreamacro
7d84a47683 Chore: load balance hash need to have fallback strategy 2022-07-23 23:51:42 +08:00
Skyxim
6a4063af0d refactor: optimize nodes caching 2022-07-20 08:53:54 +08:00