Commit graph

244 commits

Author SHA1 Message Date
gVisor bot
350fe79865 Fix: a shared fastSingle.Do() may cause providers untouched (#2378) 2022-11-04 13:11:01 +08:00
gVisor bot
a07205739f fix: UrlTest's torch not work
close #232
2022-10-31 16:45:14 +08:00
gVisor bot
744c058932 fix: lazy check 2022-10-30 23:08:18 +08:00
gVisor bot
cac6e6cc7e chore: parse user's hosts before remoteDial 2022-10-29 09:03:00 +08:00
gVisor bot
5574d8e688 fix: tun stack shown 2022-10-10 19:02:57 +08:00
gVisor bot
d6dc5ba19c 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
gVisor bot
2022605546 feat: add ip-version param 2022-08-28 13:41:43 +08:00
gVisor bot
65d543329e Fix: nil pointer 2022-08-12 12:49:35 +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
0b00214ace Chore: Migration 1.19 2022-08-12 00:07:13 +08:00
gVisor bot
04910ba4a0 fix: remove extra and the actual original IDNA domain name is no longer stored, for reduce memory 2022-08-11 21:50:16 +08:00
gVisor bot
e96e586a37 Migration: go1.19 2022-08-07 21:45:50 +08:00
gVisor bot
2c10af7b1d support ebpf 2022-07-29 09:08:35 +08:00
gVisor bot
054641f8c1 refactor: optimize nodes caching 2022-07-20 08:53:54 +08:00
gVisor bot
5b51b8f727 Change: remove AddrType on Metadata (#2199) 2022-07-05 20:26:43 +08:00
gVisor bot
41d0aac5ec fix: group filter touch provider 2022-06-07 17:19:25 +08:00
gVisor bot
3c5b69b884 feat: add hysteria 2022-06-07 13:46:54 +08:00
gVisor bot
5cefface6b chore: 启动参数v,查看版本同时打印使用的tags 2022-06-03 20:23:53 +08:00
gVisor bot
2ef1163f3d feat: IP-SUFFIX
eg. IP-SUFFIX,0.0.0.124/6,匹配ip二进制后四位(IP-CIDR的倒序),支持ipv6
2022-06-02 12:53:19 +08:00
gVisor bot
b0f7b9e4e0 feat: proxies group URLTest api 2022-05-30 22:07:09 +08:00
gVisor bot
f30721e3bf refactor: 优化UDP远程目标获取 2022-05-26 23:41:09 +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
ba7e0887bd feat: IN-TYPE rule support
eg. IN-TYPE,SOCKS/REDIR/INNER,Proxy
support list: HTTP HTTPS SOCKS SOCKS4 SOCKS5 REDIR TPROXY TUN INNER
2022-05-20 23:17:16 +08:00
gVisor bot
cae1e23735 chore: 暴露数据给前端 2022-05-17 16:47:21 +08:00
gVisor bot
c260affd46 refactor: 重构StickySessions 2022-05-17 13:28:54 +08:00
gVisor bot
c3e7173187 chore: remove Script mode residual code. 2022-05-14 13:00:33 +08:00
gVisor bot
319884469d feat: Expose remote destination (udp proxy maybe domain of node) 2022-05-04 16:57:08 +08:00
gVisor bot
4eeb935da7 style: uid log tidy 2022-05-02 19:52:34 +08:00
gVisor bot
41f430e981 chore: adjust sniffer constant 2022-05-02 08:49:18 +08:00
gVisor bot
5ddc0165f1 fix code mistake 2022-05-02 05:34:20 +08:00
gVisor bot
5041191a44 feat: sniffer support http 2022-05-02 05:10:18 +08:00
gVisor bot
e2c75161b1 support udp in relay if last proxy could udp-over-tcp 2022-04-30 11:36:42 +08:00
gVisor bot
265fb0dabd refactor: field name 2022-04-28 23:10:08 +08:00
gVisor bot
e86ab75bb0 refactor: optimize the performance of filter in proxy-group 2022-04-28 19:01:13 +08:00
gVisor bot
f8c4b53620 fix: problems caused when uid is 0 2022-04-28 11:51:40 +08:00
gVisor bot
62dcfed9c2 pref: uid style in log 2022-04-23 17:37:50 +08:00
gVisor bot
162dcd56e6 feat: cache uid 2022-04-23 12:11:26 +08:00
gVisor bot
a317531428 Revert: "fix: proxy-groups filter logic"
This reverts commit 8a85c63b08.
2022-04-22 18:56:35 +08:00
gVisor bot
5386a5f00e fix: proxy-groups filter logic 2022-04-22 17:27:55 +08:00
gVisor bot
8054749b40 feat: support uid rule
eg. UID,1000/5000-6000,Proxy
2022-04-22 16:27:51 +08:00
gVisor bot
c450c09e92 Merge remote-tracking branch 'origin/Alpha' into Alpha 2022-04-22 15:58:57 +08:00
gVisor bot
751f3e8abd Chore: fix typos 2022-04-22 12:42:20 +08:00
gVisor bot
4ea3422e5f [fix] logic 2022-04-21 18:56:33 +08:00
gVisor bot
e2dbbb7cfe Refactor: metadata use netip.Addr 2022-04-20 22:52:05 +08:00
gVisor bot
b6ea3eac16 Update metadata.go
revet commit 13012a9
2022-04-10 00:47:22 +08:00
gVisor bot
b2becaffe3 feat: sniffer support
sniffer:
  enable: true
  force: false # Overwrite domain
  sniffing:
    - tls
2022-04-09 22:30:36 +08:00
gVisor bot
e9a5be05a4 Merge remote-tracking branch 'yaling888/with-tun' into Alpha 2022-04-05 14:44:40 +08:00
gVisor bot
3a6569aca2 fix: when ssh connect to a ip, if this ip map to a domain in clash, change ip to host may redirect to a diffrent ip 2022-04-05 03:26:23 +08:00
gVisor bot
eea2e3def9 [commit]
[Feat] add Pass type for support temporary skip rule set
2022-03-27 23:44:51 +08:00
gVisor bot
d9a308072a Update version.go
[BUILD TEST]
2022-03-22 01:39:00 +08:00
gVisor bot
db31cfbd7f 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
gVisor bot
50ab57c72e 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
gVisor bot
aead96abb3 [Build test] 1.18 2022-03-16 23:30:29 +08:00
gVisor bot
6a735b10d7 Migration: go 1.18 2022-03-16 22:00:20 +08:00
gVisor bot
446fd99436 Chore: Merge branch 'ogn-dev' into with-tun 2022-03-16 20:16:30 +08:00
gVisor bot
7a3a4413c9 [build test] 2022-03-16 17:29:09 +08:00
gVisor bot
907c68c9cb Migration: go 1.18 2022-03-16 12:10:13 +08:00
gVisor bot
f7759c1468 Merge remote-tracking branch 'clash/dev' into Alpha
# Conflicts:
#	.github/workflows/codeql-analysis.yml
#	.github/workflows/docker.yml
#	.github/workflows/linter.yml
#	.github/workflows/stale.yml
#	Makefile
#	component/dialer/dialer.go
#	config/config.go
#	constant/metadata.go
#	constant/rule.go
#	rule/common/domain.go
#	rule/common/domain_keyword.go
#	rule/common/domain_suffix.go
#	rule/common/final.go
#	rule/common/ipcidr.go
#	rule/geoip.go
#	rule/parser.go
#	rule/port.go
#	rule/process.go
2022-03-15 23:13:41 +08:00
gVisor bot
fb7ba942c7 Style: code style 2022-03-15 02:55:06 +08:00
gVisor bot
e855cefc13 [Skip CI] 2022-03-15 02:20:19 +08:00
gVisor bot
64bf2454b6 [Skip CI] 2022-03-15 02:06:57 +08:00
gVisor bot
dc0339e399 Chore: embed the RuleExtra into Base 2022-03-13 01:22:05 +08:00
gVisor bot
14b581cd8d Chore: move find connection process to tunnel (#2016) 2022-03-12 19:07:53 +08:00
gVisor bot
0175b103d0 Chore: refactor TUN 2022-03-09 05:08:35 +08:00
gVisor bot
187c3607af Fix the filter under proxy-group to filter other groups 2022-02-23 16:17:29 +08:00
gVisor bot
13db80b23a Feature: process condition for rules 2022-02-23 14:01:53 +08:00
gVisor bot
e5358cd03a Feature: resolve ip with a proxy adapter 2022-02-23 02:38:50 +08:00
gVisor bot
7f0de1861a Merge from remote branch 2022-02-23 01:00:27 +08:00
gVisor bot
f5933b91f1 [build] 2022-02-06 01:59:35 +08:00
gVisor bot
cdc8baf44e Merge branch 'Dev' into Feature
# Conflicts:
#	Makefile
2022-02-04 18:44:35 +08:00
gVisor bot
a8dafd434e [Fixed] Fixed clash process name is Clash.Meta 2022-02-04 17:38:06 +08:00
gVisor bot
15ed2ca588 Merge remote-tracking branch 'pro-plus/plus-pro' into Feature
# Conflicts:
#	.github/workflows/Alpha.yml
#	.github/workflows/codeql-analysis.yml
#	.github/workflows/docker.yml
#	.github/workflows/linter.yml
#	.github/workflows/stale.yml
#	Makefile
#	README.md
#	adapter/outbound/vless.go
#	component/dialer/dialer.go
#	component/geodata/geodata.go
#	component/geodata/router/condition.go
#	config/config.go
#	config/initial.go
#	constant/metadata.go
#	constant/path.go
#	constant/rule.go
#	constant/rule_extra.go
#	dns/filters.go
#	go.mod
#	go.sum
#	hub/executor/executor.go
#	hub/route/configs.go
#	listener/listener.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/dev_windows_extra.go
#	listener/tun/dev/wintun/dll_windows.go
#	listener/tun/dev/wintun/session_windows.go
#	listener/tun/ipstack/gvisor/tun.go
#	listener/tun/ipstack/gvisor/tundns.go
#	listener/tun/ipstack/stack_adapter.go
#	listener/tun/ipstack/system/tun.go
#	listener/tun/tun_adapter.go
#	main.go
#	rule/base.go
#	rule/common/process.go
#	rule/geoip.go
#	rule/parser.go
#	rule/port.go
#	test/go.mod
#	test/go.sum
#	test/vless_test.go
#	transport/vless/xtls.go
#	tunnel/tunnel.go
2022-02-04 05:30:21 +08:00
gVisor bot
b448d10ff9 Feature: process condition for rules 2022-01-28 22:52:35 +08:00
gVisor bot
09ffc53d95 [chore] Replace Country.mmdb with GeoIP.dat 2022-01-26 12:01:14 +08:00
gVisor bot
9afe58058d Merge branch 'clash-dev' into Dev 2022-01-25 15:05:24 +08:00
gVisor bot
6a78bca9fb [Feature]
1.Add Network rule, match network type(TCP/UDP)
2.Add logic rules(NOT,OR,AND)
-AND,((DOMAIN,baidu.com),(NETWORK,UDP)),REJECT

(cherry picked from commit d7092e2e37f2c48282c878edea1b2ebc2912b09a)
2022-01-22 22:37:07 +08:00
gVisor bot
3c645b4f54 [Refactor]
1.allow maybe empty group
2.use COMPATIBLE(DIRECT alias) when proxy group is empty
3.http provider pass through tunnel
2022-01-18 21:09:36 +08:00
gVisor bot
f45de76b4a Merge from remote branch 2022-01-18 09:51:20 +08:00
gVisor bot
6e33263167 Fix: tls handshake requires a timeout (#1893) 2022-01-15 19:33:21 +08:00
gVisor bot
a72b8634dd 升级版本号 2022-01-05 11:41:17 +08:00
gVisor bot
fd5852ce1c Merge from remote branch 2022-01-05 01:46:37 +08:00
gVisor bot
f507672d4b make tun config compatible with premium 2022-01-05 00:33:42 +08:00
gVisor bot
4208d48a9d 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
gVisor bot
85f1b22340 Fix: multiple port string parsing overflow (#1868)
Ports in TCP and UDP should be parsed as an unsigned integer,
otherwise ports > 32767 get truncated to 32767. As this is
the case with Metadata.UDPAddr(), this fundamentally breaks
UDP connections where demand for high port numbers is high.

This commit fixes all known cases where ParseInt is used for ports,
and has been verified to fix Discord voice connections on port
50001~50004.

Fixes: d40e5e4fe6

Co-authored-by: Hamster Tian <haotia@gmail.com>
2022-01-02 01:09:29 +08:00
gVisor bot
a7d32607ce Merge from remote branch 2021-12-09 21:38:24 +08:00
gVisor bot
4d8017574c Chore: builtin right mime of .js (#1808) 2021-12-08 13:38:25 +08:00
gVisor bot
2ce11362da fix AutoIptables 2021-12-04 19:59:41 +08:00
gVisor bot
165e7ccc76 [style] 2021-12-04 17:41:13 +08:00
gVisor bot
88a91ae1b8 test 2021-12-03 20:38:40 +08:00
gVisor bot
590565f5c1 Feature:Supported Rule-Set 2021-12-02 22:56:17 +08:00
gVisor bot
0b4e8e4bca [style] 2021-12-01 19:25:32 +08:00
gVisor bot
c7aaec5c78 Revert "[test] rule providers"
This reverts commit 078389f4f6.
2021-11-26 00:57:41 +08:00
gVisor bot
b1796acd83 Revert "[test] rule providers"
This reverts commit 14af94205c.
2021-11-26 00:57:36 +08:00
gVisor bot
720e425c9b Revert "[fix]code"
This reverts commit 06e9243fda.
2021-11-26 00:57:29 +08:00
gVisor bot
d4a9c6bcc3 [fix]code 2021-11-26 00:27:00 +08:00
gVisor bot
38bb5d9b95 [test] rule providers 2021-11-25 23:20:08 +08:00
gVisor bot
e52c111ae0 [test] rule providers 2021-11-25 23:14:31 +08:00
gVisor bot
ca43efdaaa Feature: add filter on proxy provider (#1511) 2021-11-20 23:38:49 +08:00
gVisor bot
d4ba0d8dea [update]version 2021-11-18 23:54:20 +08:00