Commit graph

483 commits

Author SHA1 Message Date
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
MetaCubeX
5ccc047fe4 chore: adjust sniffer err info 2022-05-02 05:17:13 +08:00
MetaCubeX
6d704b9cd1 feat: sniffer support http 2022-05-02 05:10:18 +08:00
Skyxim
9dbe20f2c5 fix: npe when with resolver is nil 2022-04-29 13:03:55 +08:00
Skyxim
96a32f5038 refactor: tcp concurrent 2022-04-27 21:37:20 +08:00
Meta
5a1e1050b7 chore: adjust sniffer log 2022-04-27 18:04:02 +08:00
Meta
183973e823 chore: Adjust the tcp-concurrent and sniffer log 2022-04-27 15:22:42 +08:00
yaling888
4fd7d0f707 Chore: use generics as possible 2022-04-25 13:18:30 +08:00
Skyxim
0947cb4a5a fix: whitelist 2022-04-23 09:52:23 +08:00
Skyxim
0368bb4180 fix: sniffer port whitelist error 2022-04-23 09:36:11 +08:00
Skyxim
4aeac0e227 chore: Adjust the connection IP log 2022-04-23 08:53:51 +08:00
Skyxim
19fc70b2c4 fix: general ipv6 is false should be broke ipv6 conn 2022-04-23 00:30:25 +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
adlyq
b0dd74e74e fix: sniffer 2022-04-22 17:00:39 +08:00
adlyq
4dd9e199b7 fix: uid rule only support linux and android 2022-04-22 16:51:01 +08:00
adlyq
3d6aea4c1e feat: support uid rule
eg. UID,1000/5000-6000,Proxy
2022-04-22 16:27:51 +08:00
Skyxim
9e6ba64940 fix: add wait timeout, and log 2022-04-21 08:08:37 -07:00
Skyxim
bee1bddceb feat: add sniffer port whitelist, when empty will add all ports 2022-04-21 07:06:08 -07: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
MetaCubeX
42d853a7e6 chore: upgrade dependencies 2022-04-20 01:31:33 +08:00
Kr328
5d36d8b139 Improve: replace bootstrap dns (#2080) 2022-04-19 22:49:39 +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
Skyxim
48a01adb7a refactor: sniffer param force and reverses deprecated, will be removed when release version, replace force-domain and skip-sni,
force-domain add '+' equivalent to force is true
sniffer:
  enable: true
  force-domain:
    - "google.com"
  skip-sni:
    - www.baidu.com
  sniffing:
    - tls
2022-04-17 20:02:13 +08:00
Kr328
e010940b61
Improve: replace bootstrap dns (#2080) 2022-04-16 15:31:26 +08:00