Commit Graph

508 Commits

Author SHA1 Message Date
Skyxim
7f588935ea
feta: add hosts support domain and mulitple ip (#439)
* feat: host support domain and multiple ips

* chore: append local address via `clash`

* chore: update hosts demo

* chore: unified parse mixed string and array

* fix: flatten cname

* chore: adjust logic

* chore: reuse code

* chore: use cname in tunnel

* chore: try use domain mapping when normal dns

* chore: format code
2023-03-12 15:00:59 +08:00
H1JK
ae4d114802 chore: Cleanup REALITY code 2023-03-11 12:23:27 +08:00
Skyxim
035d878a9f fix: dial panic 2023-03-10 22:08:01 +08:00
H1JK
913ed62095 fix: ALPN not applied in uTLS/REALITY 2023-03-10 20:53:39 +08:00
Skyxim
5bcfe1a6c6 fix: dialer dual stack panic 2023-03-10 20:16:14 +08:00
wwqgtxx
2c4783ff8b fix: SA4001 for netDialer copy 2023-03-10 16:17:54 +08:00
Skyxim
7cc1c1b561 chore: adjust error log 2023-03-10 14:12:18 +08:00
wwqgtxx
9ae0bd9c2b fix: don't return a non-nil interface containing nil pointer 2023-03-10 12:06:53 +08:00
wwqgtxx
c0fc5d142f fix: unmap 4in6 address in dialer and wireguard 2023-03-10 00:25:22 +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
wwqgtxx
545a79d406 chore: cleanup dialer's code 2023-03-06 23:23:05 +08:00
wwqgtxx
7c34964f87 fix: dns resolver 2023-03-06 19:15:12 +08:00
wwqgtxx
6a97ab9ecb chore: use fastrand to replace math/rand 2023-03-06 18:10:14 +08:00
wwqgtxx
6061f3d4fa chore: add more utls fingerprints 2023-02-28 21:17:52 +08:00
wwqgtxx
d55025ecae fix: udp loopback show "The requested address is not valid in its context." 2023-02-28 15:53:34 +08:00
wwqgtxx
c1199f1a8a chore: add early conn interface to decrease unneeded write 2023-02-27 00:26:49 +08:00
wwqgtxx
c8c078e78a fix: golang1.19 can't compile 2023-02-26 22:20:25 +08:00
Skyxim
d36f9c2ac8 fix: handle no IP address 2023-02-26 21:01:44 +08:00
Skyxim
e1dd4ac9e7 chore: format code 2023-02-26 20:38:32 +08:00
Skyxim
e6a35199e0 fix: dual stack serial dial 2023-02-26 20:15:28 +08:00
wwqgtxx
be5ce6249f fix: dns resolve in dialer 2023-02-26 13:52:10 +08:00
wwqgtxx
0321fe93cf fix: replace self define "connect timeout" to os.ErrDeadlineExceeded 2023-02-26 13:06:10 +08:00
Skyxim
0a6705f43e fix: ip version prefer not working 2023-02-26 12:39:53 +08:00
Skyxim
97e14337e3 refactor: tcp dial (#412)
Non-concurrent support to try to connect in turn

fix: serial dual stack dial
2023-02-26 12:12:25 +08:00
Skyxim
f565edd76d chore: add custom ca trust 2023-02-25 22:01: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
wwqgtxx
4a6ebff473 fix: add "dns resolve failed" error in dialer 2023-02-22 19:14:11 +08:00
wwqgtxx
5c8d955f61 chore: better windows bind error handle 2023-02-22 13:41:33 +08:00
wwqgtxx
baaf509637 chore: using sing-shadowtls to support shadowtls v1/2/3 2023-02-21 21:58:37 +08:00
kunish
d6ff5f7d96
style: run go fmt on every .go file (#392) 2023-02-17 16:31:37 +08:00
Ovear
8e4dfbd10d
feat: introduce a new robust approach to handle tproxy udp. (#389) 2023-02-17 16:31:15 +08:00
wwqgtxx
ae42d35184 chore: support golang1.20's dialer.ControlContext 2023-02-13 11:14:19 +08:00
wwqgtxx
ce8929d153 chore: better bind in windows 2023-02-13 10:14:59 +08:00
Skyxim
4643b5835e chore: setting sniffHost value 2023-02-10 13:01:53 +08:00
Skyxim
c83eb2e0c9 chore: adjust log 2023-02-07 21:29:40 +08:00
wwqgtxx
db54b438e6 chore: do not use extra pointer in UClient 2023-02-07 17:51:37 +08:00
Larvan2
967254d9ca chore: move global-utls-client snippets to components\tls 2023-02-07 17:24:14 +08:00
qiaoweijie
f1ef6c2096 fix: get tlsconfig err not handle, return nil pointer 2023-01-31 15:26:18 +08:00
Dreamacro
a6a72a5b54 Feature: add dns query json api 2023-01-28 00:55:24 +08:00
Skyxim
096bb8d439 feat: add override-destination for sniffer 2023-01-23 14:08:11 +08:00
Skyxim
df1f6e2b99 feat: better config for sniffer 2023-01-23 13:16:25 +08:00
Skyxim
d1f5bef25d chore: better log 2023-01-23 11:17:30 +08:00
Skyxim
d426db43ec chore: adjust log 2023-01-23 11:14:45 +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
3b6fc1c496 chore: adjust the case of Program names and HttpRequest UA 2023-01-14 16:17:10 +08:00
metacubex
f96bf65557 chore: Refine process code 2023-01-14 16:16:59 +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
metacubex
e9a7e104c0 fix: geoip mmdb/geodata init 2023-01-09 21:12:13 +08:00
chain710
b4503908df fix #322: add option general.find-process-mode, user can turn off findProcess feature in router
findProcess slow down connection due to repeat call to FindProcessName in router environment
this option has 3 values: always, strict, off
- always, equal to enable-process: true. Just try to merge all process related option into one
- strict, as default value, behavior remains unchanged
- off, turn off findProcess, useful in router environment
2023-01-09 19:48:39 +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
88acf8e098 fix: fix bindIfaceToListenConfig() in windows force bind to an ipv4 address 2022-12-13 11:18:32 +08:00
metacubex
02d3468516 chore: Android version supports child processes following the main process rules 2022-12-11 18:24:55 +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
bc5ab3120f fix: use same strClone function 2022-11-30 20:38:03 +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
59bd11a3a7 chore: add tuic outbound
close #133
2022-11-25 08:08:14 +08:00
Skyxim
d5973cf8a6 chore: Adjust error of dialer 2022-11-19 10:57:33 +08:00
Skyxim
1d3cc36eef chore: return context error 2022-11-19 10:50:13 +08:00
Skyxim
8fcfecbed1 chore: Adjust the return 2022-11-19 10:47:03 +08:00
wwqgtxx
7c1b878c3f fix: resolver's ctx 2022-11-19 10:45:44 +08:00
wwqgtxx
a3425c0e78 chore: sync dns code 2022-11-12 21:31:07 +08:00
wwqgtxx
7300c917dc fix: build error 2022-11-12 20:59:29 +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
b699fb046b fix: wireguard's dns resolve 2022-11-09 19:35:03 +08:00
wwqgtxx
5fd79890e7 chore: add exclude-filter to ProxyGroup 2022-11-09 08:06:37 +08:00
adlyq
dcd2417fce feat: subscriptionInfo 2022-11-05 19:39:17 +08:00
wwqgtxx
52f4cb599a fix: pool_test.go 2022-11-05 13:08:50 +08:00
adlyq
7b0cd14b00 chore: netlink duplicate contains 2022-11-02 23:58:51 +08:00
wwqgtxx
22fb219ad8 chore: trie.DomainTrie will not depend on zero value 2022-11-02 22:28:18 +08:00
Dreamacro
4e5bdec13a Fix: amd64 macOS Ventura process name match 2022-11-02 11:43:43 +08:00
Dreamacro
fbd43d9947 Fix: macOS Ventura process name match 2022-11-02 11:38:31 +08:00
Dreamacro
c8bc11d61d Fix: amd64 macOS Ventura process name match 2022-10-27 15:36:09 +08:00
Dreamacro
f29b54898f Fix: macOS Ventura process name match 2022-10-27 11:25:18 +08:00
Skyxim
0fb0e490f8 fix: when connection refused active health test 2022-10-16 13:12:49 +08:00
wwqgtxx
023e3d0c41 chore: add parse-pure-ip in sniffer 2022-10-14 08:42:28 +08:00
wwqgtxx
0da49bd92b chore: add force-dns-mapping in sniffer 2022-10-14 07:46:33 +08:00
Skyxim
4948f3f213 chore: Cache and skip multiple failed addresses 2022-10-11 21:35:26 +08:00
wwqgtxx
f748e3632d fix: fakeip pool test 2022-10-09 11:07:24 +08:00
wwqgtxx
90688b238a fix: try let fakeip mode get real destination ip 2022-10-09 10:48:26 +08:00
wwqgtxx
94246104b8 chore: use sing-tun to replace old tun_adapter 2022-10-06 19:23:38 +08:00
Skyxim
0a89107b8b fix: global fingerprints load failed 2022-10-03 22:41:24 +08:00
Skyxim
abbbcb02c0 Merge branch 'Alpha' into dev 2022-10-02 20:02:39 +08:00
Kr328
6995e98181
Refactor: linux process resolving (#2305) 2022-09-18 12:53:51 +08:00
Kr328
22b9befbda
Fix: fake ip pool offset calculate (#2281) 2022-09-01 11:33:47 +08:00
Skyxim
af97922e94 fix: no main result conn, will fail 2022-08-28 20:26:13 +08:00
Skyxim
99effb051b feat: add ip-version param 2022-08-28 13:41:43 +08:00
Dreamacro
bf079742cb Clean: use go 1.19 Appendf 2022-08-24 20:21:06 +08:00
Skyxim
98f4f4d6c4 chore: log error 2022-08-23 20:12:28 +08:00
metacubex
42e489e199 Merge remote-tracking branch 'origin/Alpha' into Alpha
# Conflicts:
#	component/sniffer/http_sniffer.go
2022-08-22 23:22:26 +08:00
metacubex
d3b88d1b4f fix: ebpf support 2022-08-22 23:17:41 +08:00
Skyxim
ec318f1cc5 Chore: the default sniffing is changed to a standard port, and the sniffing result is only used for this connection. 2022-08-21 08:43:57 +08:00
Skyxim
835cab58cf fix: http sniffer skip ip 2022-08-17 12:41:36 +08:00
Dreamacro
6e058f8581 Chore: remove old cache implementation 2022-08-17 11:43:20 +08:00
Skyxim
8dc56b56ad fix: http sniffer skip ip 2022-08-16 22:59:53 +08:00
Skyxim
32fc990c68 fix: Unhandled dns resolve failure error 2022-08-13 16:47:24 +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
bobo liu
71cad51e8f
Fix: satisfy RFC4343 - DNS case insensitivity (#2260) 2022-08-12 13:47:51 +08:00
metacubex
4ca2d4146b Merge remote-tracking branch 'origin/Alpha' into Alpha 2022-08-12 03:36:15 +08:00
metacubex
65a289e16f Chore: clean code 2022-08-12 03:04:58 +08:00
zhudan
97270dcbe0 rm EBpf tun && disable android ebpf 2022-08-08 10:21:16 +08:00
zhudan
2899a126fc fix filepath undefined 2022-08-02 17:13:10 +08:00
zhudan
dd67a8c8ba Merge remote-tracking branch 'origin/Alpha' into Alpha 2022-08-01 18:07:09 +08:00
zhudan
28ba9c5efa revert 9be70f67ca 2022-08-01 18:06:09 +08:00
zhudan
31f4d20477 support ebpf 2022-07-29 09:08:35 +08:00
MetaCubeX
09419d88af fix process code 2022-07-24 01:50:10 +08:00
MetaCubeX
35b87e79a7 fix process code 2022-07-24 01:37:01 +08:00
MetaCubeX
9be70f67ca fix process code 2022-07-24 01:34:22 +08:00
Dreamacro
a33e511c12 Fix: macOS udp find process should use unspecified fallback 2022-07-24 00:10:01 +08:00
Skyxim
fe3ad3724c fix: resolver error handling exception 2022-07-21 09:02:58 +08:00
Skyxim
e1c6142851 fix: pure ip resolve 2022-07-20 22:59:04 +08:00
Dreamacro
be8d63ba8f Fix: macOS udp find process should use unspecified fallback 2022-07-15 17:00:41 +08:00
Skyxim
92a20a5362 chore: tcp conn error text 2022-07-11 22:29:35 +08:00
Skyxim
9565b5194c chore: remove log 2022-07-11 22:18:24 +08:00
Skyxim
80df572b18 refactor: Unified provider loading resources 2022-07-11 21:30:34 +08:00
Skyxim
0c64d7e56a chore: fingerprint style 2022-07-11 13:44:27 +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
Dreamacro
77a1e3a653 Chore: cleanup bind mark code 2022-06-30 17:27:57 +08:00
Skyxim
f979491013 fix: tcp concurrent force close when context done 2022-06-25 09:16:53 +08:00
Skyxim
bbac54433e fix: resolve ipv4 of 4 in 6 2022-06-17 21:44:06 +08:00
Skyxim
c968104a19 fix: udp listen use udp4 when general.ipv6 is false; general.ipv6 default value is true 2022-06-14 12:36:05 +08:00
Skyxim
130a3a261d refactor: clear linkname,reduce cycle dependencies,transport init geosite function 2022-06-10 13:38:19 +08:00
Skyxim
3827e00b54 refactor: 抽离http请求方法 2022-06-04 19:14:39 +08:00
adlyq
6e84f685ce chore: 更新geox时通过内存存储 2022-06-03 16:50:49 +08:00
Skyxim
9e9f459c0e refactor: 优化proxy server nameserver, 当节点专用dns全部查询失败会回落到正常逻辑 2022-06-02 20:58:25 +08:00
adlyq
1af39cb228 fix: OpenClash 回环 2022-06-01 12:32:45 +08:00
adlyq
9272d02149 refactor: 合并部分android代码入linux && ip 使用netlink配置路由 2022-05-28 21:58:29 +08:00
Skyxim
fb4872ff7f fix: 关闭并发时双栈使用错误 2022-05-27 20:43:39 +08:00
adlyq
2ebc0383b5 feat: RESTful API support set tcp-concurrent 2022-05-26 19:49:12 +08:00
adlyq
7431001ed6 feat: RESTful API support update Geo file
and can set update url by user, eg.
geox-url:
  geoip: "http://xxxx/gepip.dat"
  mmdb: "http://xxxx/country.mmdb"
  geosite: "http://xxxx/geosite.dat"
2022-05-24 15:04:13 +08:00
adlyq
cc1c1340a3 feat: 安卓恢复进程规则,可通过enable-process开关,默认true 2022-05-19 20:44:09 +08:00
adlyq
8b09db5f7f fix: Rule-Set中不解析DNS
feat: RULE-SET支持no-resolve
2022-05-18 18:43:44 +08:00
adlyq
b8e9c3d55a fix: geoip ReverseMatch 2022-05-16 17:06:44 +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
d4dcbce9cb chore: log show all ips when all ips shake hands failed 2022-05-13 21:43:42 +08:00
Skyxim
aded1b78b5 chore: sniffer give the err to the caller 2022-05-08 09:09:39 +08:00
Skyxim
f0a22a4a4c chore: modify sniff error log 2022-05-07 12:44:28 +08:00
adlyq
7db07630a7 fix: DNS mapping error when sniffing result is ip, Discard sniffs that result in ip 2022-05-02 22:24:14 +08:00
Skyxim
80ff5917f7 fix: The sniffer does not clean up the original address 2022-05-02 17:09:24 +08:00
MetaCubeX
4b04faa88b fix: http sniffer return host that was handled correctly 2022-05-02 09:51:26 +08:00
MetaCubeX
0cf539fb82 chore: adjust sniffer constant 2022-05-02 08:49:18 +08:00