Commit graph

280 commits

Author SHA1 Message Date
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
a0a2eb2106 chore: update dependencies 2022-12-05 11:03:28 +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
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
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
b9d8b69889 fix: lazy check 2022-10-30 23:08:18 +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
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
Skyxim
fbabcfce94 fix: CA params convert to fingerprint 2022-07-12 14:32:34 +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
Skyxim
60e1947ed2 chore: upgrade dependencies for hysteria 2022-07-07 12:49:52 +08:00
Dreamacro
aaf08dadff
Change: remove AddrType on Metadata (#2199) 2022-07-05 20:26:43 +08:00
Skyxim
3cc1870aee chore: embed hysteria, clean irrelevant codes, code from https://github.com/HyNetwork/hysteria 2022-07-03 18:26:46 +08:00
世界
6b44178108
Fix concurrency vmess udp write 2022-06-28 08:12:56 +08:00
Skyxim
10383e2701 Merge branch 'dev' into Alpha 2022-06-26 21:53:03 +08:00
Skyxim
f4b9f2965f fix: hysteria dial use external context 2022-06-26 21:52:22 +08:00
Skyxim
2ba933d16a chore: hysteria params verify 2022-06-25 12:43:47 +08:00
MetaCubeX
b658bb415b chore: remove unused 2022-06-20 22:25:59 +08:00
MetaCubeX
85405a54c7 Merge remote-tracking branch 'Meta/Alpha' into Alpha
# Conflicts:
#	go.mod
#	go.sum
2022-06-19 22:30:02 +08:00
wwqgtxx
8da67ba61c Add shadowsocks uot in relay 2022-06-18 16:38:44 +08:00
世界
a562b249a2
Add shadowsocks uot and test 2022-06-18 10:50:33 +08:00
MetaCubeX
aaf700f0b5 chore: Allow VLESS protocol TLS to be FALSE 2022-06-16 01:20:33 +08:00
Skyxim
f7c903a586 Merge branch 'dev' into Alpha 2022-06-14 20:23:51 +08:00
Skyxim
ff4a5bef9b fix: up/down of hysteria must be a valid value 2022-06-14 20:23:36 +08:00
世界
d8dc44e786
Refactor: vmess
Add support for vmess length masking/packetaddr/authenticated length

Add support for zero/aes-128-cfb protcol
2022-06-14 13:21:22 +08:00
Skyxim
2146b605f7 refactor: deprecated params(up_mbps,down_mpbs,auth) in hysteria; up/down no use append unit equivalent up_mbps/down_mbps, default unit is Mbps; up/down become a required option. 2022-06-12 11:52:15 +08:00
Skyxim
8853e97b40 fix: sni invalid on hysteria 2022-06-12 00:00:42 +08:00
MetaCubeX
94368f43eb fix: Vmess URI Scheme 解析问题 2022-06-10 03:15:30 +08:00
世界
695fb64fa8
fix: vmess ws 2022-06-09 16:23:15 +08:00
MetaCubeX
9511ccfe47 chore: refine code 2022-06-08 01:47:50 +08:00
adlyq
ed17a1bf23 fix: group filter touch provider 2022-06-07 17:19:25 +08:00
世界
2a4f2f3942
fix: hysteria dialer 2022-06-07 15:49:10 +08:00
世界
3254eaf51c
fix: hysteria parse auth 2022-06-07 15:24:46 +08:00
adlyq
7941bae141 fix: hysteria parse 2022-06-07 14:53:00 +08:00
世界
35a6666a84
feat: add hysteria 2022-06-07 13:46:54 +08:00
世界
1acc6759e9
feat: add support for shadowsocks 2022 ciphers 2022-06-06 19:56:36 +08:00
MetaCubeX
c045a4f2a7 Chore: make hadowsocks2 lib embed 2022-06-04 20:29:33 +08:00
Dreamacro
09d49bac95 Chore: embed shadowsocks2 2022-06-01 21:43:20 +08:00
adlyq
4092a7c84b feat: proxies group URLTest api 2022-05-30 22:07:09 +08:00
Skyxim
067c02aba1 fix: 调整获取远程目的的位置 2022-05-28 20:01:27 +08:00
Skyxim
2044458df9 fix: npe 2022-05-27 20:33:27 +08:00
Skyxim
ac36473d13 refactor: 获取远程目的从tunnel中剔除,移至tracker 2022-05-27 09:00:48 +08:00
Skyxim
72fb153fe0 refactor: 优化UDP远程目标获取 2022-05-26 23:41:09 +08:00
adlyq
c4408612b3 chore: 暴露数据给前端 2022-05-17 16:47:21 +08:00
Skyxim
a95d439852 chore: the uuid-map is transferred to the protocol 2022-05-06 13:28:09 +08:00
wwqgtxx
a08e39faec fix uuid match 2022-05-06 13:08:27 +08:00
Skyxim
fb58595d44 feat: Expose remote destination (udp proxy maybe domain of node) 2022-05-04 16:57:08 +08:00
MetaCubeX
5fee0b5bf1 chore: adjust pass to reject.go 2022-05-02 09:16:47 +08:00
wwqgtxx
fe2bc903b8 fix trojan and snell's normal udp 2022-05-02 06:28:27 +08:00
wwqgtxx
2aad9818e8 fix trojan and snell's udp over tcp 2022-04-30 22:26:38 +08:00
wwqgtxx
861205dbbe support udp in relay if last proxy could udp-over-tcp 2022-04-30 11:36:42 +08:00
Meta
73aa8c7be7 feat: support uuid with custom string 2022-04-27 18:02:29 +08:00
adlyq
de4341c8cd Revert: "fix: proxy-groups filter logic"
This reverts commit 8a85c63b08.
2022-04-22 18:56:35 +08:00
adlyq
8a85c63b08 fix: proxy-groups filter logic 2022-04-22 17:27:55 +08:00
adlyq
e98dcc4267 [fix] logic 2022-04-21 18:56:33 +08:00
yaling888
7ca1a03d73 Refactor: metadata use netip.Addr 2022-04-20 22:52:05 +08:00
Anankke
5a4441c47f Chore: add none alias to dummy on ShadowsocksR (#2056) 2022-04-19 22:49:22 +08:00
Skyxim
f8d7f29856 fix: PASS policy inconsistent names 2022-04-17 14:11:58 +08:00
Meta Gowork
36a719e2f8 feat: support http headers 2022-04-14 13:07:39 +08:00
Anankke
b3d7594813
Chore: add none alias to dummy on ShadowsocksR (#2056) 2022-04-13 10:06:06 +08:00
Meta Gowork
559b3ff9f3 [Fix] VLESS http conn with tls false
[Chore] Upgrade Dependencies
2022-03-31 00:08:43 +08:00
MetaCubeX
127634028d Merge remote-tracking branch 'Meta/Alpha' into Alpha 2022-03-30 13:19:05 +08:00
MetaCubeX
81c5a65f23 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
yaling888
9ff1f5530e Feature: Trojan XTLS 2022-03-30 00:15:39 +08:00
yaling888
b3ea2ff8b6 Chore: adjust VLESS 2022-03-29 23:50:41 +08:00
yaling888
131e9d38b6 Fix: Vless UDP 2022-03-29 07:24:11 +08:00
Meta
ffff1418f2 [Fixed]尝试修复PASS空指针问题
[Chore]调整workflows测试
2022-03-28 16:36:34 +08:00
Meta
64a5fd02da Merge remote-tracking branch 'tun/with-tun' into Alpha 2022-03-28 10:51:59 +08:00
yaling888
4502776513 Refactor: MainResolver 2022-03-28 00:44:13 +08:00
MetaCubeX
611ce5f5f1 [commit]
[Feat] add Pass type for support temporary skip rule set
2022-03-27 23:44:51 +08:00
yaling888
bac04ab54b Merge branch 'ogn-dev' into with-tun 2022-03-20 21:26:25 +08:00
MetaCubeX
2df890c4ee Merge remote-tracking branch 'clash/dev' into Alpha
# Conflicts:
#	Makefile
2022-03-19 14:53:47 +08:00
risetechlab
f9cc1cc363
Fix: routing-mark option doesn't work on proxies (#2028) 2022-03-19 13:29:30 +08:00
MetaCubeX
30f1b29257 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
MetaCubeX
609d69191a 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
yaling888
346d817dba Chore: Merge branch 'ogn-dev' into with-tun 2022-03-16 20:16:30 +08:00
Dreamacro
6a661bff0c Migration: go 1.18 2022-03-16 12:10:13 +08:00
yaling888
ac5c57ecef Chore: compatible with VMESS WS older version configurations 2022-02-23 14:21:53 +08:00
yaling888
b192238699 Merge from remote branch 2022-02-23 01:00:27 +08:00
Clash-Mini
2bf34c766e [Feat]
support trojan xtls
change geodataloader mode as memconservative
2022-02-04 23:33:36 +08:00
Clash-Mini
be0fadc09e [Feat]
1.Add DNS over QUIC support
2.Replace Country.mmdb with GeoIP.dat
3.build with Alpha tag
2022-01-27 12:25:53 +08:00
Clash-Mini
a5ce62db33 Merge branch 'clash-dev' into Dev 2022-01-25 15:05:24 +08:00
Skyxim
b15344ec78 [Refactor]
1.allow maybe empty group
2.use COMPATIBLE(DIRECT alias) when proxy group is empty
3.http provider pass through tunnel
2022-01-18 21:09:36 +08:00
Digital Pencil
8f3385bbb6
Feature: support snell v3 (#1884) 2022-01-10 20:24:20 +08:00
Maze.tsz
3bb32d12e0 Merge remote-tracking branch 'clash/dev' into Meta
# Conflicts:
#	.github/workflows/docker.yml
#	dns/server.go
#	go.mod
#	go.sum
#	hub/executor/executor.go
#	test/go.mod
#	test/go.sum
2022-01-04 17:31:07 +08:00
HamsterReserved
8679968ab0
Fix: multiple port string parsing overflow (#1868)
Ports in TCP and UDP should be parsed as an unsigned integer,
otherwise ports > 32767 get truncated to 32767. As this is
the case with Metadata.UDPAddr(), this fundamentally breaks
UDP connections where demand for high port numbers is high.

This commit fixes all known cases where ParseInt is used for ports,
and has been verified to fix Discord voice connections on port
50001~50004.

Fixes: d40e5e4fe6

Co-authored-by: Hamster Tian <haotia@gmail.com>
2022-01-02 01:09:29 +08:00
Dreamacro
204a72bbd3 Chore: remove forward compatible code 2022-01-02 00:48:57 +08:00
xsxun
8955107d6b
Update vless.go 2021-12-20 12:59:06 +08:00
Maze.tsz
8df3efe932 [Fix] 修正因xray服务端alpn参数为http/1.1而导致无法连接的问题 2021-12-06 00:19:03 +08:00
Maze.tsz
645c3154d6 [Fix] 修正因xray服务端alpn参数为http/1.1而导致无法连接的问题 2021-12-05 03:51:26 +08:00
Maze.tsz
a847d7b58d [Fix] 修正因xray服务端alpn参数为http/1.1而导致无法连接的问题 2021-12-05 02:18:58 +08:00
Dreamacro
4524cf4418 Fix: should return io.EOF immediately 2021-11-20 12:44:31 +08:00