Commit Graph

316 Commits

Author SHA1 Message Date
wwqgtxx
7496d9c114 chore: rebuild relay 2022-12-19 21:34:07 +08:00
wwqgtxx
17cbbb5bf0 chore: split dns's dialContext and listenPacket 2022-12-13 12:38:46 +08:00
wwqgtxx
b3b5f17e03 chore: cleanup doh/doq's code 2022-12-13 11:23:34 +08:00
wwqgtxx
88acf8e098 fix: fix bindIfaceToListenConfig() in windows force bind to an ipv4 address 2022-12-13 11:18:32 +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
df8e129fc6 chore: optimize DomainTrie for only one child 2022-11-30 19:42:05 +08:00
wwqgtxx
84caee94af chore: decrease DomainTrie's memory use 2022-11-30 18:50:46 +08:00
wwqgtxx
c89b1f0e96 chore: tuic add cubic,new_reno,bbr congestion_controller 2022-11-25 10:33:37 +08:00
wwqgtxx
18d62c4a17 fix: catch context.DeadlineExceeded too 2022-11-19 23:16:20 +08:00
Skyxim
02830e0ad6 fix: adjust log 2022-11-19 23:07:49 +08:00
wwqgtxx
6d89bddf29 fix: better error return 2022-11-19 23:06:27 +08:00
wwqgtxx
dbbd499349 fix: better error check 2022-11-19 23:03:14 +08:00
Skyxim
d3562ce394 fix: DoH recreate the connection multiple times 2022-11-19 22:48:04 +08:00
wwqgtxx
4ea4221380 fix: rollback batchExchange's code 2022-11-19 10:35:45 +08:00
Skyxim
b8b3c9ef9f fix: DoH/DoQ doesn't use context 2022-11-19 10:31:50 +08:00
wwqgtxx
f00dc69bb6 fix: doh use NewRequestWithContext and batchExchange don't wait cancel finish 2022-11-19 09:43:31 +08:00
wwqgtxx
23f286f24e fix: auto retry in exchangeWithoutCache 2022-11-19 08:51:00 +08:00
wwqgtxx
8b848b62bb fix: reset timeout in exchangeWithoutCache's singleflight 2022-11-18 18:02:46 +08:00
wwqgtxx
994e85425f fix: resolver's defer 2022-11-16 17:53:52 +08:00
Skimmle
586dec5ba3 Merge commit '2a8e1778ad1d7b507e432f659407d76dffcaacb8' into Alpha 2022-11-14 20:17:52 +08:00
Skimmle
6db7c800d5 fix: DoQ and HTTP/3 over proxy 2022-11-14 20:17:12 +08:00
wwqgtxx
a3425c0e78 chore: sync dns code 2022-11-12 21:31:07 +08:00
wwqgtxx
dc3e144b6a Merge branch 'dev' of https://github.com/Dreamacro/clash into Alpha 2022-11-12 20:43:48 +08:00
wwqgtxx
75d339392b chore: better dns background fetch retrying 2022-11-12 18:29:19 +08:00
wwqgtxx
901a47318d chore: always pass context when resolve dns 2022-11-12 13:18:36 +08:00
wwqgtxx
3321ac95ca fix: cleanup import 2022-11-12 12:31:44 +08:00
cubemaze
d78b2b1cfb
Merge pull request #256 from Skimmle/Alpha
featrue: DoH and DoQ are implemented using AdGuardTeam/dnsProxy
2022-11-12 11:19:04 +08:00
Skimmle
3e20912339 featrue: DoH and DoQ are implemented using AdGuardTeam/dnsProxy, DoH support perfer and force http3 2022-11-12 11:14:51 +08:00
wwqgtxx
6dadc2357a chore: remove AddrType on Metadata 2022-11-11 09:19:50 +08:00
wwqgtxx
22fb219ad8 chore: trie.DomainTrie will not depend on zero value 2022-11-02 22:28:18 +08:00
Skyxim
99effb051b feat: add ip-version param 2022-08-28 13:41:43 +08:00
Dreamacro
a3281712e2 Chore: reduce dhcp dns client cost 2022-08-24 21:36:19 +08:00
Dreamacro
6e058f8581 Chore: remove old cache implementation 2022-08-17 11:43:20 +08:00
Dreamacro
3946d771e5 Feature: sync missing resolver logic from premium, but still net.IP on opensource 2022-08-13 13:07:35 +08:00
Skyxim
93400cf44d
Fix: ALPN should on DoH instead of DoT (#2232) 2022-07-25 12:41:22 +08:00
Skyxim
3e424dea7b refactor: DoH use fragment setting params 2022-07-21 21:40:28 +08:00
Skyxim
b0fd50453a fix: DoT-ALPN error 2022-07-21 13:57:06 +08:00
Skyxim
6e7002dbd3 chore: clean code 2022-07-20 17:15:19 +08:00
Skyxim
6b636c051a chore: Adjust the falling logic 2022-07-16 19:52:51 +08:00
Skyxim
10f8f5dd7b chore: Increase idle timeout and add keep alive period 2022-07-15 21:57:50 +08:00
Skyxim
4e272ff066 fix: DoH retry HTTP/3 2022-07-15 21:54:57 +08:00
Skyxim
a73e690172 fix: DoQ closes udp immediately. 2022-07-15 21:54:02 +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
Skyxim
0a76876764 fix: h3 of doh fall back logic 2022-07-06 21:25:25 +08:00
Skyxim
0c91a4e0f3 refactor: h3 for doh 2022-07-06 20:53:34 +08:00
Skyxim
baee951657 fix: close idle connections 2022-07-04 20:38:07 +08:00
Skyxim
503b1efd8a fix: close transport with doh of h3 2022-07-03 23:01:49 +08:00
Skyxim
59ab2083aa feat: try h3 connect DOH, failed will fall back h2; turn on with dns.prefer-h3: true 2022-07-03 21:59:47 +08:00
Skyxim
0d55b28805 chore: dns interface name 2022-06-25 09:16:51 +08:00
Skyxim
9c70e649ca fix: disable doq skip verify cert 2022-06-25 09:16:49 +08:00
Skyxim
f7481ecadf chore: delete DOQ meaningless ALPN 2022-06-12 23:17:26 +08:00
Skyxim
85c37b473a fix: DOQ blocked dns return result because DOQ goroutine leak 2022-06-12 21:41:01 +08:00
Skyxim
23bc231df3 chore: doq default port change to 853, ALPN use doq 2022-06-12 17:53:11 +08:00
Skyxim
63fdb348db fix: leak dns when domain in hosts list 2022-06-10 14:29:19 +08:00
Skyxim
8343c3597e fix: doq maybe crash when use adapter 2022-06-06 21:45:08 +08:00
MetaCubeX
ade424cbb4 chore: 调整dns interface与adapter部分 2022-06-05 13:37:00 +08:00
MetaCubeX
43d3a0c8ea chore: mix the proxy adapter and interface to dns client 2022-06-04 21:18:49 +08:00
Skyxim
ed9b9ce3c5 refactor: 添加no_gvisor 编译tag, 剔除gvisor stack支持, 方便在arm设备上debug 2022-06-03 20:07:30 +08:00
Skyxim
1298d2f8b6 chore: 添加tag no_doq 编译不含doq版本, 仅减少1.5MB(macOS-arm64) 2022-06-03 18:12:06 +08:00
Hongqi Yu
c1285adbf8
Feature: can set custom interface for dns nameserver (#2126) 2022-06-01 10:50:54 +08:00
Skyxim
d0268bb9a2 chore: 降低并发查询时IPv6等待 2022-05-28 09:58:45 +08:00
Skyxim
948700eed6 fix: 并发dns查询,由于ipv6阻塞导致某些情况下的网络不通 2022-05-21 00:34:15 +08:00
Skyxim
16b27b3a1f fix: doq过代理错误 2022-05-17 21:30:54 +08:00
adlyq
f4d9384603 chore: debug log print dns result 2022-05-17 18:21:18 +08:00
adlyq
efc7c82cac feat: "!"(not) support for geosite
eg. GEOSITE,!CN,Proxy & dns.fallback-filter.geosite: ['!CN']
2022-05-15 13:16:45 +08:00
Skyxim
b2605a9012 fix: tun dns 2022-05-02 14:21:37 +08:00
MetaCubeX
8681728b8d chore: doq parameters 2022-05-02 05:01:07 +08:00
Skyxim
9d8cd036ff refactor: remove dns and tun relationship, the enabled of dns module should be decided by user 2022-05-01 09:41:27 +08:00
adlyq
2d99f86780 fix: dhcp ifacename type 2022-04-28 23:44:37 +08:00
Skyxim
bbbe371ea9 fix: dns specified interface does not change 2022-04-28 22:40:06 +08:00
Skyxim
4f634edaa9 refactor: doq dialer 2022-04-28 22:21:48 +08:00
yaling888
4fd7d0f707 Chore: use generics as possible 2022-04-25 13:18:30 +08:00
Skyxim
81b5543b0d feat: support tcp concurrent, Separate dialing and dns resolver ipv6
tcp-concurrent:true
2022-04-23 00:27:22 +08:00
yaling888
7ca1a03d73 Refactor: metadata use netip.Addr 2022-04-20 22:52:05 +08:00
yaling888
6c4791480e Chore: IpToAddr 2022-04-20 22:09:16 +08:00
yaling888
0ca10798ea Chore: fix typo 2022-04-19 22:38:20 +08:00
yaling888
3ea3653d7a Chore: persistence fakeip pool state 2022-04-19 22:37:47 +08:00
Meta Gowork
c981ef0f28 chore: update dependencies 2022-04-13 02:32:55 +08:00
yaling888
75ce6b59bf Refactor: fakeip pool use netip.Prefix, supports ipv6 range 2022-04-12 20:32:08 +08:00
yaling888
173e10abe6 Chore: fix typos 2022-04-12 19:08:13 +08:00
yaling888
a6eb11ce18 Refactor: DomainTrie use generics 2022-04-12 18:45:47 +08:00
yaling888
673541e2a8 Refactor: lrucache use generics 2022-04-12 18:44:07 +08:00
Meta Gowork
6548dc90fa Merge remote-tracking branch 'Plus/with-tun' into Alpha 2022-04-02 20:48:11 +08:00
fishg
c495d314d4 feat: 添加tls sni 嗅探
# Conflicts:
#	tunnel/statistic/tracker.go
#	tunnel/tunnel.go
2022-03-31 21:27:25 +08:00
yaling888
e877b68179 Chore: revert "Feature: add tls SNI sniffing (#68)"
This reverts commit 24ce6622a2.
2022-03-31 21:20:46 +08:00
fishg
24ce6622a2 Feature: add tls SNI sniffing (#68) 2022-03-31 19:34:40 +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
4502776513 Refactor: MainResolver 2022-03-28 00:44:13 +08:00
MetaCubeX
7a54d616c4 [SKIP CI]
Merge remote-tracking branch 'Pro-Plus/with-tun' into Alpha

# Conflicts:
#	README.md
#	hub/route/server.go
2022-03-23 13:23:34 +08:00
yaling888
ef915c94dc Feature: flush fakeip pool 2022-03-23 01:05:43 +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
MetaCubeX
c3df768f79 [build test] 2022-03-16 17:33:08 +08:00
Dreamacro
6a661bff0c Migration: go 1.18 2022-03-16 12:10:13 +08:00
MetaCubeX
1034780e8e [build test] 2022-03-16 00:43:08 +08:00
yaling888
20b66d9550 Style: code style 2022-03-15 02:55:06 +08:00
yaling888
5abd03e241 Fix: exclude the broadcast address to fake ip pool 2022-03-15 02:43:40 +08:00
yaling888
46b9a1092d Chore: embed the RuleExtra into Base 2022-03-13 01:22:05 +08:00
yaling888
d876d6e74c Feature: resolve ip with a proxy adapter 2022-02-23 02:38:50 +08:00
yaling888
b192238699 Merge from remote branch 2022-02-23 01:00:27 +08:00
Clash-Mini
c28f42d823 [FEAT] Add geodata loader mode switch 2022-02-05 00:51:06 +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
9e4e1482d9 [chore] Replace Country.mmdb with GeoIP.dat 2022-01-26 12:01:14 +08:00
Clash-Mini
a5ce62db33 Merge branch 'clash-dev' into Dev 2022-01-25 15:05:24 +08:00
Dreamacro
d237b041b3 Fix: ignore empty dns server error 2022-01-05 11:41:31 +08:00
Maze.tsz
14917c8af1 merge clash 1.9.0 2022-01-04 17:58:50 +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
Kr328
7267c58913
Chore: ReCreate* do side effect job (#1849) 2021-12-26 22:08:53 +08:00
Mazeorz
900e852525 [test] 2021-11-17 16:03:47 +08:00
yaling888
2680e8ffa3 Merge from remote branch 2021-10-28 11:36:11 +08:00
yaling888
2953772a0e Style: format code 2021-10-28 00:06:55 +08:00
Dreamacro
81d5da51a3 Fix: unexpected proxy dial behavior on mapping mode 2021-10-18 21:08:27 +08:00
Dreamacro
13bd601cac Fix: #1660 panic 2021-10-11 21:05:38 +08:00
Dreamacro
3d5681cffd
Feature: persistence fakeip (#1662) 2021-10-11 20:48:58 +08:00
Dreamacro
f1cf7e9269 Style: use gofumpt for fmt 2021-10-10 23:44:09 +08:00
Dreamacro
4ce35870fe Chore: remove deprecated ioutil 2021-10-09 20:35:06 +08:00
beyondkmp
1996bef9e6
Chore: doh request should with id 0 (#1660) 2021-10-07 22:57:55 +08:00
Dreamacro
b9d470cf79 Fix: dhcp client should request special interface 2021-10-05 13:31:19 +08:00
yaling888
fbda82218e
Merge from remote branch 2021-09-17 15:07:27 +08:00
Dreamacro
55600c49c9 Fix: potential pitfalls 2021-09-13 23:58:48 +08:00
yaling888
6ddd9e6fb8 Merge from remote branch 2021-09-08 04:42:56 +08:00
Kr328
a5b950a779
Feature: add dhcp type dns client (#1509) 2021-09-06 23:07:34 +08:00
yaling888
b904ca0bcc Feature: add source ipcidr condition to rule final 2021-09-01 18:29:48 +08:00
yaling888
48aef1829f Merge from remote branch 2021-09-01 00:38:43 +08:00
Loyalsoldier
a20b9a3960
Chore: make geoip match case-insensitive (#1574) 2021-08-29 22:19:22 +08:00
Dreamacro
e0d3f926b7 Feature: add geoip-code option 2021-08-25 15:15:13 +08:00
Dreamacro
571d2a0075 Migration: go 1.17 2021-08-18 13:26:23 +08:00
yaling888
56dff65149 Feature: support multiport condition for rule SRC-PORT and DST-PORT 2021-07-06 15:07:05 +08:00
yaling888
3afe3810bf Merge from remote branch 2021-07-03 22:31:12 +08:00
Dreamacro
995aa7a8fc Fix: remove ClientSessionCache and add NextProtos for vmess to fix #1468 2021-07-03 20:34:44 +08:00
yaling888
d7732f6ebc Code: refresh code 2021-07-01 22:49:29 +08:00
Indust
3ca5d17c40
Fix: enable DNS server message compression (#1451) 2021-06-24 13:38:44 +08:00
Rusty Pen
0778591524
Feature: dns resolve domain through nameserver-policy (#1406) 2021-05-19 11:17:35 +08:00
Dreamacro
d0c829c578 Fix: domain dns should follow hosts config, close #1318 2021-04-01 21:20:44 +08:00
Dreamacro
4ad9761b32 Fix: don't resolve AAAA record when ipv6 is false and use go dns resolver 2021-04-01 18:03:30 +08:00
Dreamacro
f4de055aa1 Refactor: make inbound request contextual 2021-01-23 14:58:09 +08:00
Dreamacro
6fedd7ec84 Fix: dns client should not bind local address 2021-01-04 00:51:53 +08:00
Dreamacro
d3bb4c65a8 Fix: missing fake-ip record should return error 2020-10-17 12:52:43 +08:00
Dreamacro
bc52f8e4fd Chore: return empty record in SVCB/HTTPSSVC on fake-ip mode 2020-10-13 00:15:49 +08:00
Dreamacro
d3b14c325f Fix: the priority of fake-ip-filter 2020-10-09 00:04:24 +08:00
Melvin
a6444bb449
Feature: support domain in fallback filter (#964) 2020-09-28 22:17:10 +08:00
Kr328
558ac6b965
Chore: split enhanced mode instance (#936)
Co-authored-by: Dreamacro <305009791@qq.com>
2020-09-17 10:48:42 +08:00
Dreamacro
a32ee13fc9 Feature: reuse dns resolver cache when hot reload 2020-08-31 00:32:18 +08:00
Dreamacro
5805334ccd Chore: pass staticcheck 2020-08-25 22:19:59 +08:00
Kr328
89cf06036d
Feature: dns server could lookup hosts (#872) 2020-08-11 10:28:17 +08:00
Kr328
20eff200b1
Fix: dns should put msg to cache while exchangeWithoutCache (#820) 2020-07-20 21:16:36 +08:00