Commit graph

494 commits

Author SHA1 Message Date
gVisor bot
a5cf2ce0df chore: use fastrand to replace math/rand 2023-03-06 18:10:14 +08:00
gVisor bot
b9ee4027e5 chore: add more utls fingerprints 2023-02-28 21:17:52 +08:00
gVisor bot
aec1b116b1 fix: udp loopback show "The requested address is not valid in its context." 2023-02-28 15:53:34 +08:00
gVisor bot
e45b8dc404 chore: add early conn interface to decrease unneeded write 2023-02-27 00:26:49 +08:00
gVisor bot
17f1ef7cb0 fix: golang1.19 can't compile 2023-02-26 22:20:25 +08:00
gVisor bot
b7371738c4 fix: handle no IP address 2023-02-26 21:01:44 +08:00
gVisor bot
2e90c3a7e8 chore: format code 2023-02-26 20:38:32 +08:00
gVisor bot
e1e7f6349c fix: dual stack serial dial 2023-02-26 20:15:28 +08:00
gVisor bot
4d336e8278 fix: dns resolve in dialer 2023-02-26 13:52:10 +08:00
gVisor bot
9a55e50a14 fix: replace self define "connect timeout" to os.ErrDeadlineExceeded 2023-02-26 13:06:10 +08:00
gVisor bot
fd4898779b fix: ip version prefer not working 2023-02-26 12:39:53 +08:00
gVisor bot
bdb4aa3c1f 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
gVisor bot
1432dd4e97 chore: add custom ca trust 2023-02-25 22:01:20 +08:00
gVisor bot
af6f85c657 chore: support TFO for outbounds 2023-02-24 13:53:44 +08:00
gVisor bot
a132fe585b chore: use early conn to support real ws 0-rtt 2023-02-24 09:54:54 +08:00
gVisor bot
331744e5e3 fix: add "dns resolve failed" error in dialer 2023-02-22 19:14:11 +08:00
gVisor bot
e063925518 chore: better windows bind error handle 2023-02-22 13:41:33 +08:00
gVisor bot
a694155b20 chore: using sing-shadowtls to support shadowtls v1/2/3 2023-02-21 21:58:37 +08:00
gVisor bot
22d25db573 style: run go fmt on every .go file (#392) 2023-02-17 16:31:37 +08:00
gVisor bot
e23763c71a feat: introduce a new robust approach to handle tproxy udp. (#389) 2023-02-17 16:31:15 +08:00
gVisor bot
38fe64d6b8 chore: support golang1.20's dialer.ControlContext 2023-02-13 11:14:19 +08:00
gVisor bot
28770ca5dc chore: better bind in windows 2023-02-13 10:14:59 +08:00
gVisor bot
7021dc1878 chore: setting sniffHost value 2023-02-10 13:01:53 +08:00
gVisor bot
86fe3c1f24 chore: adjust log 2023-02-07 21:29:40 +08:00
gVisor bot
ce0f69d6ed chore: do not use extra pointer in UClient 2023-02-07 17:51:37 +08:00
gVisor bot
57279cd971 chore: move global-utls-client snippets to components\tls 2023-02-07 17:24:14 +08:00
gVisor bot
8277c1b70e fix: get tlsconfig err not handle, return nil pointer 2023-01-31 15:26:18 +08:00
gVisor bot
a4a9886077 Feature: add dns query json api 2023-01-28 00:55:24 +08:00
gVisor bot
9d9d4565e3 feat: add override-destination for sniffer 2023-01-23 14:08:11 +08:00
gVisor bot
86ad74a0ae feat: better config for sniffer 2023-01-23 13:16:25 +08:00
gVisor bot
643979800c chore: better log 2023-01-23 11:17:30 +08:00
gVisor bot
a707db90f4 chore: adjust log 2023-01-23 11:14:45 +08:00
gVisor bot
8ec6c87a2b refactor: replace experimental.fingerprints with custom-certificates and Change the fingerprint verification logic to SSL pinning 2023-01-14 21:08:06 +08:00
gVisor bot
0340ab8ffa chore: adjust the case of Program names and HttpRequest UA 2023-01-14 16:17:10 +08:00
gVisor bot
ace55047ab chore: Refine process code 2023-01-14 16:16:59 +08:00
gVisor bot
419982688f 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
gVisor bot
c8f119493e fix: geoip mmdb/geodata init 2023-01-09 21:12:13 +08:00
gVisor bot
4a0413a33d 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
gVisor bot
57cd902214 chore: cleanup code 2022-12-22 09:53:25 +08:00
gVisor bot
861357234f chore: relay support tuic 2022-12-20 00:11:02 +08:00
gVisor bot
ec0136af1b chore: rebuild relay 2022-12-19 21:34:07 +08:00
gVisor bot
52924804ef fix: fix bindIfaceToListenConfig() in windows force bind to an ipv4 address 2022-12-13 11:18:32 +08:00
gVisor bot
92446efd80 chore: Android version supports child processes following the main process rules 2022-12-11 18:24:55 +08:00
gVisor bot
a6e88229d6 fix: let doh/dot server follow hosts and can remotely resolve itself ip 2022-12-07 20:01:44 +08:00
gVisor bot
19b8af7ebc fix: use same strClone function 2022-11-30 20:38:03 +08:00
gVisor bot
b48387d9f4 chore: optimize DomainTrie for only one child 2022-11-30 19:42:05 +08:00
gVisor bot
537035ffa8 chore: decrease DomainTrie's memory use 2022-11-30 18:50:46 +08:00
gVisor bot
0f4a0a7275 chore: add tuic outbound
close #133
2022-11-25 08:08:14 +08:00
gVisor bot
a79d7c80cb chore: Adjust error of dialer 2022-11-19 10:57:33 +08:00
gVisor bot
6afa624bf3 chore: return context error 2022-11-19 10:50:13 +08:00
gVisor bot
bcef894237 chore: Adjust the return 2022-11-19 10:47:03 +08:00
gVisor bot
a82c88f5aa fix: resolver's ctx 2022-11-19 10:45:44 +08:00
gVisor bot
d955c2e016 chore: sync dns code 2022-11-12 21:31:07 +08:00
gVisor bot
eceeb5bdf1 fix: build error 2022-11-12 20:59:29 +08:00
gVisor bot
722e8a6c27 Merge branch 'dev' of https://github.com/Dreamacro/clash into Alpha 2022-11-12 20:43:48 +08:00
gVisor bot
71ab8298a2 chore: always pass context when resolve dns 2022-11-12 13:18:36 +08:00
gVisor bot
d5d5dc2303 chore: remove AddrType on Metadata 2022-11-11 09:19:50 +08:00
gVisor bot
f33ad58ff5 fix: wireguard's dns resolve 2022-11-09 19:35:03 +08:00
gVisor bot
a3d4385a90 chore: add exclude-filter to ProxyGroup 2022-11-09 08:06:37 +08:00
gVisor bot
60311dc74e feat: subscriptionInfo 2022-11-05 19:39:17 +08:00
gVisor bot
0acb232b65 fix: pool_test.go 2022-11-05 13:08:50 +08:00
gVisor bot
9f2fb858c3 chore: netlink duplicate contains 2022-11-02 23:58:51 +08:00
gVisor bot
99a1561cd4 chore: trie.DomainTrie will not depend on zero value 2022-11-02 22:28:18 +08:00
gVisor bot
9742677725 Fix: amd64 macOS Ventura process name match 2022-11-02 11:43:43 +08:00
gVisor bot
aa87a74727 Fix: macOS Ventura process name match 2022-11-02 11:38:31 +08:00
gVisor bot
2632a406e6 Fix: amd64 macOS Ventura process name match 2022-10-27 15:36:09 +08:00
gVisor bot
1bd2fabe77 Fix: macOS Ventura process name match 2022-10-27 11:25:18 +08:00
gVisor bot
3a750588b8 fix: when connection refused active health test 2022-10-16 13:12:49 +08:00
gVisor bot
560862d4e2 chore: add parse-pure-ip in sniffer 2022-10-14 08:42:28 +08:00
gVisor bot
02dd19e311 chore: add force-dns-mapping in sniffer 2022-10-14 07:46:33 +08:00
gVisor bot
aadd28d149 chore: Cache and skip multiple failed addresses 2022-10-11 21:35:26 +08:00
gVisor bot
69658f3d4b fix: fakeip pool test 2022-10-09 11:07:24 +08:00
gVisor bot
b4d4dc251d fix: try let fakeip mode get real destination ip 2022-10-09 10:48:26 +08:00
gVisor bot
afd5e48adc chore: use sing-tun to replace old tun_adapter 2022-10-06 19:23:38 +08:00
gVisor bot
d8ce08c70f fix: global fingerprints load failed 2022-10-03 22:41:24 +08:00
gVisor bot
7183865dec Merge branch 'Alpha' into dev 2022-10-02 20:02:39 +08:00
gVisor bot
3fe5dd0f31 Refactor: linux process resolving (#2305) 2022-09-18 12:53:51 +08:00
gVisor bot
15b9aac3e6 Fix: fake ip pool offset calculate (#2281) 2022-09-01 11:33:47 +08:00
gVisor bot
45aff6c969 fix: no main result conn, will fail 2022-08-28 20:26:13 +08:00
gVisor bot
2022605546 feat: add ip-version param 2022-08-28 13:41:43 +08:00
gVisor bot
5845420649 Clean: use go 1.19 Appendf 2022-08-24 20:21:06 +08:00
gVisor bot
4a3d53c7ee chore: log error 2022-08-23 20:12:28 +08:00
gVisor bot
f2d7db4a41 Merge remote-tracking branch 'origin/Alpha' into Alpha
# Conflicts:
#	component/sniffer/http_sniffer.go
2022-08-22 23:22:26 +08:00
gVisor bot
48f30b01ef fix: ebpf support 2022-08-22 23:17:41 +08:00
gVisor bot
be49fcfd12 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
gVisor bot
35eaa7eb06 fix: http sniffer skip ip 2022-08-17 12:41:36 +08:00
gVisor bot
08f414e9c7 Chore: remove old cache implementation 2022-08-17 11:43:20 +08:00
gVisor bot
6b6921f090 fix: http sniffer skip ip 2022-08-16 22:59:53 +08:00
gVisor bot
3e649ae8e8 fix: Unhandled dns resolve failure error 2022-08-13 16:47:24 +08:00
gVisor bot
730f5b2d5f Feature: sync missing resolver logic from premium, but still net.IP on opensource 2022-08-13 13:07:35 +08:00
gVisor bot
541943fd29 Fix: satisfy RFC4343 - DNS case insensitivity (#2260) 2022-08-12 13:47:51 +08:00
gVisor bot
40cab0094e Merge remote-tracking branch 'origin/Alpha' into Alpha 2022-08-12 03:36:15 +08:00
gVisor bot
2f09805ea6 Chore: clean code 2022-08-12 03:04:58 +08:00
gVisor bot
c1bd1de57e rm EBpf tun && disable android ebpf 2022-08-08 10:21:16 +08:00
gVisor bot
278a5a16a1 fix filepath undefined 2022-08-02 17:13:10 +08:00
gVisor bot
394faf0310 Merge remote-tracking branch 'origin/Alpha' into Alpha 2022-08-01 18:07:09 +08:00
gVisor bot
12a6c519a8 revert 9be70f67ca 2022-08-01 18:06:09 +08:00
gVisor bot
2c10af7b1d support ebpf 2022-07-29 09:08:35 +08:00
gVisor bot
5c3b78e2fc fix process code 2022-07-24 01:50:10 +08:00
gVisor bot
261ea66a4a fix process code 2022-07-24 01:37:01 +08:00
gVisor bot
e31d344926 fix process code 2022-07-24 01:34:22 +08:00
gVisor bot
31a8fca1f7 Fix: macOS udp find process should use unspecified fallback 2022-07-24 00:10:01 +08:00
gVisor bot
9201e7a43a fix: resolver error handling exception 2022-07-21 09:02:58 +08:00
gVisor bot
093525ec17 fix: pure ip resolve 2022-07-20 22:59:04 +08:00
gVisor bot
179989317c Fix: macOS udp find process should use unspecified fallback 2022-07-15 17:00:41 +08:00
gVisor bot
30b2c58ab5 chore: tcp conn error text 2022-07-11 22:29:35 +08:00
gVisor bot
9f48b6671c chore: remove log 2022-07-11 22:18:24 +08:00
gVisor bot
6b95daa9ee refactor: Unified provider loading resources 2022-07-11 21:30:34 +08:00
gVisor bot
fa4d027a23 chore: fingerprint style 2022-07-11 13:44:27 +08:00
gVisor bot
7c1630c92a feat: add fingerprint param 2022-07-11 13:42:28 +08:00
gVisor bot
27b5ecf3ab fix: skip-cert-verify not work 2022-07-11 12:37:27 +08:00
gVisor bot
91e1649822 feat: add fingerprint for tls verify 2022-07-10 20:44:24 +08:00
gVisor bot
57ab6ab58f Chore: cleanup bind mark code 2022-06-30 17:27:57 +08:00
gVisor bot
ae3e6524c5 fix: tcp concurrent force close when context done 2022-06-25 09:16:53 +08:00
gVisor bot
6143b134e3 fix: resolve ipv4 of 4 in 6 2022-06-17 21:44:06 +08:00
gVisor bot
17769e1a8f fix: udp listen use udp4 when general.ipv6 is false; general.ipv6 default value is true 2022-06-14 12:36:05 +08:00
gVisor bot
7e4d679da6 refactor: clear linkname,reduce cycle dependencies,transport init geosite function 2022-06-10 13:38:19 +08:00
gVisor bot
5953a4cfb5 refactor: 抽离http请求方法 2022-06-04 19:14:39 +08:00
gVisor bot
fa6c28e4e4 chore: 更新geox时通过内存存储 2022-06-03 16:50:49 +08:00
gVisor bot
b0e723f868 refactor: 优化proxy server nameserver, 当节点专用dns全部查询失败会回落到正常逻辑 2022-06-02 20:58:25 +08:00
gVisor bot
f7009e7f0b fix: OpenClash 回环 2022-06-01 12:32:45 +08:00
gVisor bot
1cfae4aba8 refactor: 合并部分android代码入linux && ip 使用netlink配置路由 2022-05-28 21:58:29 +08:00
gVisor bot
00e33008f6 fix: 关闭并发时双栈使用错误 2022-05-27 20:43:39 +08:00
gVisor bot
322edc166f feat: RESTful API support set tcp-concurrent 2022-05-26 19:49:12 +08:00
gVisor bot
6f2dc0336f 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
gVisor bot
2a00f57fd9 feat: 安卓恢复进程规则,可通过enable-process开关,默认true 2022-05-19 20:44:09 +08:00
gVisor bot
fb3472c53a fix: Rule-Set中不解析DNS
feat: RULE-SET支持no-resolve
2022-05-18 18:43:44 +08:00
gVisor bot
aa0753ac59 fix: geoip ReverseMatch 2022-05-16 17:06:44 +08:00
gVisor bot
02d30883b6 feat: "!"(not) support for geosite
eg. GEOSITE,!CN,Proxy & dns.fallback-filter.geosite: ['!CN']
2022-05-15 13:16:45 +08:00
gVisor bot
cd8c87aad5 chore: log show all ips when all ips shake hands failed 2022-05-13 21:43:42 +08:00
gVisor bot
7c22b555a8 chore: sniffer give the err to the caller 2022-05-08 09:09:39 +08:00
gVisor bot
83b64eb86e chore: modify sniff error log 2022-05-07 12:44:28 +08:00
gVisor bot
46bf5d2561 fix: DNS mapping error when sniffing result is ip, Discard sniffs that result in ip 2022-05-02 22:24:14 +08:00
gVisor bot
6a3e0c0225 fix: The sniffer does not clean up the original address 2022-05-02 17:09:24 +08:00
gVisor bot
6c4ddeb4ed fix: http sniffer return host that was handled correctly 2022-05-02 09:51:26 +08:00
gVisor bot
41f430e981 chore: adjust sniffer constant 2022-05-02 08:49:18 +08:00
gVisor bot
8ade548ab8 chore: adjust sniffer err info 2022-05-02 05:17:13 +08:00
gVisor bot
5041191a44 feat: sniffer support http 2022-05-02 05:10:18 +08:00
gVisor bot
40259bea76 fix: npe when with resolver is nil 2022-04-29 13:03:55 +08:00
gVisor bot
d1aa6d1431 refactor: tcp concurrent 2022-04-27 21:37:20 +08:00
gVisor bot
6e56205ba6 chore: adjust sniffer log 2022-04-27 18:04:02 +08:00
gVisor bot
746e1382b5 chore: Adjust the tcp-concurrent and sniffer log 2022-04-27 15:22:42 +08:00
gVisor bot
ad67a1c34c Chore: use generics as possible 2022-04-25 13:18:30 +08:00
gVisor bot
b5e7abfa15 fix: whitelist 2022-04-23 09:52:23 +08:00
gVisor bot
7cdbab467f fix: sniffer port whitelist error 2022-04-23 09:36:11 +08:00
gVisor bot
d946a76a0d chore: Adjust the connection IP log 2022-04-23 08:53:51 +08:00
gVisor bot
bb14ae7075 fix: general ipv6 is false should be broke ipv6 conn 2022-04-23 00:30:25 +08:00
gVisor bot
532ec82a08 feat: support tcp concurrent, Separate dialing and dns resolver ipv6
tcp-concurrent:true
2022-04-23 00:27:22 +08:00
gVisor bot
de105c08f6 fix: sniffer 2022-04-22 17:00:39 +08:00
gVisor bot
7b9a24ee08 fix: uid rule only support linux and android 2022-04-22 16:51:01 +08:00