Commit Graph

327 Commits

Author SHA1 Message Date
Skyxim
5bcea37d59 chore: better parse udp dns 2023-01-27 13:07:52 +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
Larvan2
8a7027e8d6 Fix: Remove EnableProcess from config.go and enable-process from config.yaml.
Fix: FindProcess is now enabled by default when the rule set contains process-name rules.
2023-01-20 16:29:08 +08:00
Skyxim
8a9b3b3d59 fix: config parse error 2023-01-14 22:34:54 +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
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
Skyxim
910e7fed97 fix: parse DoH url 2022-12-08 12:46:46 +08:00
wwqgtxx
e03fcd24dd fix: let any type of dns server can use remote proxy 2022-12-07 13:00:45 +08:00
wwqgtxx
cd99b2e795 fix: config code merge 2022-12-06 10:13:05 +08:00
wwqgtxx
b5b06ea49c fix: config crash 2022-12-06 09:04:30 +08:00
wwqgtxx
1c65a2c1b4 chore: cleanup rule parse code 2022-12-05 22:29:52 +08:00
wwqgtxx
fd9c4cbfa5 chore: listeners support tun 2022-12-05 17:43:50 +08:00
wwqgtxx
62226e8b3d chore: rebuild InboundListener 2022-12-04 21:53:13 +08:00
wwqgtxx
6fc62da7ae chore: change C.PacketAdapter from a struct to an interface 2022-12-04 14:37:52 +08:00
Skyxim
4f75201a98 feat: add linsters 2022-12-04 13:37:14 +08:00
Skyxim
ba884c29bd refactor: adjust config 2022-12-03 14:14:15 +08:00
Skyxim
2fe271f19f feat: add tls port for RESTful api and external controller 2022-12-03 12:25:10 +08:00
metacubex
cf5709aab1 fix: a temporary solution for error reporting when enabling tun for devices that do not have an ipv6 environment. 2022-12-03 00:10:50 +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
db81db5363 Chore: allow tunnels don't set special proxy 2022-11-28 20:31:32 +08:00
wwqgtxx
b4b9ef2362 Merge branch 'dev' of https://github.com/Dreamacro/clash into Alpha 2022-11-28 20:04:56 +08:00
wwqgtxx
551283c16e chore: add tuic-server listener 2022-11-28 17:09:25 +08:00
Dreamacro
5b07d7b776 Feature: add tunnels 2022-11-20 21:30:55 +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
3eacce9a66 chore: add vmess, shadowsocks, tcptun and udptun listener 2022-11-11 20:56:08 +08:00
wwqgtxx
64552fbd00 fix: when host's ip in fakeip's range, don't send to remote server 2022-11-10 21:08:06 +08:00
wwqgtxx
90f6cc233c fix: correct yaml config name 2022-11-04 17:38:24 +08:00
wwqgtxx
e20d01a679 chore: try to let tun's restful patch api work 2022-11-04 08:52:30 +08:00
wwqgtxx
22fb219ad8 chore: trie.DomainTrie will not depend on zero value 2022-11-02 22:28:18 +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
wwqgtxx
b9ef713dd7 chore: add sing-tun's custom route support 2022-10-13 19:26:14 +08:00
wwqgtxx
77a3c1c3ae fix: tun stack shown 2022-10-10 19:02:57 +08:00
wwqgtxx
90688b238a fix: try let fakeip mode get real destination ip 2022-10-09 10:48:26 +08:00
wwqgtxx
1f8b54a92d fix: don't set auto detect interface with tun name 2022-10-07 16:54:08 +08:00
wwqgtxx
6c82e98bbc chore: fix sing-tun's BuildAndroidRules 2022-10-06 22:18:49 +08:00
wwqgtxx
94246104b8 chore: use sing-tun to replace old tun_adapter 2022-10-06 19:23:38 +08:00
adlyq
9b89ff9f2d feat: support sub-rule, eg.
rules:
  - SUB-RULE,(AND,((NETWORK,TCP),(DOMAIN-KEYWORD,google))),TEST2
  - SUB-RULE,(GEOIP,!CN),TEST1
  - MATCH,DIRECT

sub-rules:
  TEST2:
    - MATCH,Proxy
  TEST1:
    - RULE-SET,Local,DIRECT,no-resolve
    - GEOSITE,CN,Domestic
    - GEOIP,CN,Domestic
    - MATCH,Proxy
2022-09-06 17:30:35 +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
zhudan
31f4d20477 support ebpf 2022-07-29 09:08:35 +08:00
Skyxim
38e6b81d07
Merge pull request #129 from zhudan/Alpha
入站增加TFO支持(默认不开启)
2022-07-22 06:32:34 -04:00
zhudan
143c5de51d inbound tfo 2022-07-22 15:16:09 +08:00
Skyxim
3e424dea7b refactor: DoH use fragment setting params 2022-07-21 21:40:28 +08:00
Skyxim
3a92ad47e7 fix: default nameserver cannot use doh of pure IP 2022-07-12 13:05:59 +08:00
Skyxim
f93dd6052e fix: default nameserver cannot use non-standard port of doh 2022-07-11 22:05:37 +08:00
Skyxim
fef9f95e65 feat: add fingerprint for tls verify 2022-07-10 20:44:24 +08:00
Skyxim
e382496e4c Merge branch 'h3' into Alpha 2022-07-06 20:54:10 +08:00
Skyxim
0c91a4e0f3 refactor: h3 for doh 2022-07-06 20:53:34 +08:00
MetaCubeX
253dc24e40 chore: clash.mini hack. 2022-07-04 18:53:24 +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
2e6bdc5636 feat: add param general.enable-process, it will always find process or uid, default value is false 2022-06-14 23:08:07 +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
23bc231df3 chore: doq default port change to 853, ALPN use doq 2022-06-12 17:53:11 +08:00
Skyxim
130a3a261d refactor: clear linkname,reduce cycle dependencies,transport init geosite function 2022-06-10 13:38:19 +08:00
Dreamacro
a7f9aa909a
fix: upgrade to yaml v3 2022-06-09 17:59:17 +08:00
MetaCubeX
cb517cb529 chore: 调整目录与包名一致 2022-06-04 03:25:33 +08:00
MetaCubeX
c745ea63b2 chore: 优化GeoSite初始化代码 2022-06-04 02:58:14 +08:00
Hongqi Yu
c1285adbf8
Feature: can set custom interface for dns nameserver (#2126) 2022-06-01 10:50:54 +08:00
adlyq
9b999e72ce fix: npe 2022-05-28 23:29:03 +08:00
Meta
d6df026550 chore: 更换GeoData下载地址
Signed-off-by: Meta <maze.y2b@gmail.com>
2022-05-27 18:32:23 +08:00
Dreamacro
9d2fc976e2 Chore: upgrade to yaml v3 2022-05-26 17:47:05 +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
149b4b5b43 feat: RESTful API support disable sniffer 2022-05-24 13:44:52 +08:00
adlyq
cc1c1340a3 feat: 安卓恢复进程规则,可通过enable-process开关,默认true 2022-05-19 20:44:09 +08:00
adlyq
c787bbe0e5 fix: 热重载Tun配置 2022-05-19 19:19:19 +08:00
adlyq
b5623602f5 chore: Android auto-detect-interface plus 2022-05-18 12:00:57 +08:00
adlyq
d52b00bd34 refactor: remove useless code 2022-05-16 17:29:08 +08:00
adlyq
0b4c498c93 refactor: new way to get interface for android 2022-05-16 17:06:44 +08:00
Skyxim
5016f529af revert: yaml v2 2022-05-14 23:36:19 +08:00
CHIZI-0618
5bd5f1bfda chore: remove Script mode residual code. 2022-05-14 13:00:33 +08:00
MetaCubeX
7136d145f8 chore: update dependencies 2022-05-08 00:47:01 +08:00
MetaCubeX
3fbb7c7a2d chore: add default router when tun enable 2022-05-03 23:58:11 +08:00
MetaCubeX
5c6f2694c7 chore: sniffer param skip-sni renamed to ship-domain, old param will be removed in the release version 2022-05-03 23:10:59 +08:00
adlyq
eca7615f08 fix: patch update support tun 2022-05-03 19:31:00 +08:00
MetaCubeX
0cf539fb82 chore: adjust sniffer constant 2022-05-02 08:49:18 +08:00
Skyxim
bbbe371ea9 fix: dns specified interface does not change 2022-04-28 22:40:06 +08:00
Skyxim
2e74986fe4 refactor: adjust provider loading order, remove meaningless pointers 2022-04-28 08:55:45 +08:00
adlyq
dee1aeb6c3 fix: logic of auto-detect-interface 2022-04-23 23:42:42 +08:00
Skyxim
0368bb4180 fix: sniffer port whitelist error 2022-04-23 09:36:11 +08:00
Skyxim
0a99fc4d74 fix: wrong parameter name 2022-04-23 00:45:43 +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
Meta Gowork
3f6d2e5f91 feat: dnsHijack support "any"
chore: adjust process debug display logic
2022-04-22 13:30:04 +08:00
Skyxim
bee1bddceb feat: add sniffer port whitelist, when empty will add all ports 2022-04-21 07:06:08 -07:00
adlyq
4b79f8de93 [fix] auto-route for android 2022-04-21 17:47:04 +08:00
yaling888
7ca1a03d73 Refactor: metadata use netip.Addr 2022-04-20 22:52:05 +08:00
Skyxim
58cd8f9ac1
fix:force-domain invalid 2022-04-17 21:17:21 +08:00
Skyxim
ea0d236259 chore: change comments 2022-04-17 20:03:53 +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
Skyxim
1cf9321aa0 fix: domain tree match failed 2022-04-16 11:55:49 +08:00
Skyxim
7c23fa2bd4 fix: sniffer npe 2022-04-16 08:45:18 +08:00
Skyxim
80764217c2 feat: add domain list for sniffer, reverse force logic
when force is false, if domain in the list, will force replace
when force is true, if sniff domain in the list, will skip it
2022-04-16 08:21:31 +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
Skyxim
544e0f137d feat: sniffer support
sniffer:
  enable: true
  force: false # Overwrite domain
  sniffing:
    - tls
2022-04-09 22:30:36 +08:00
Skyxim
9a3bc8ef9e fix: auto detect interface add param[auto-detect-interface], default is true, only use it when tun is enabled 2022-04-07 21:36:19 +08:00