Commit Graph

270 Commits

Author SHA1 Message Date
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
gVisor bot
e69c54cfcd [test] 2021-11-17 16:03:47 +08:00
gVisor bot
1e98d26dbb Merge from remote branch 2021-11-09 21:11:38 +08:00
gVisor bot
5c51a83fa5 Feature: resolve ip with proxy adapter 2021-11-09 19:44:16 +08:00
gVisor bot
af069e3340 Fix: codeql alerts 2021-11-08 00:32:21 +08:00
gVisor bot
2762c33ad3 Feature: dial different NIC for all proxies (#1714) 2021-11-07 16:48:51 +08:00
gVisor bot
f7d136f56c Merge from remote branch 2021-10-28 11:36:11 +08:00
gVisor bot
0387c93c56 Style: format code 2021-10-28 00:06:55 +08:00
gVisor bot
258f837da3 Chore: script built 2021-10-27 23:10:11 +08:00
gVisor bot
aba096784d Merge remote branch 2021-10-21 22:37:30 +08:00
gVisor bot
a40706ba21 Fix: unexpected proxy dial behavior on mapping mode 2021-10-18 21:08:27 +08:00
gVisor bot
50a2222cd2 Chore: contexify ProxyAdapter ListenPacket 2021-10-15 21:44:53 +08:00
gVisor bot
54c22a2fce Feature: add mode script 2021-10-15 14:11:14 +08:00
gVisor bot
cbaebd45db Change: use bbolt as cache db 2021-10-04 19:20:11 +08:00
gVisor bot
66d9aab6cc Feature: add source ipcidr condition for all rules 2021-08-31 21:46:04 +08:00
gVisor bot
92396fc893 Merge from remote branch 2021-08-05 00:49:17 +08:00
gVisor bot
3317beb191 Fix: listener patch diff 2021-08-01 00:35:37 +08:00
gVisor bot
2e762b39b7 Merge from remote branch 2021-07-28 22:13:21 +08:00
gVisor bot
6ba3a17d7b Chore: split SOCKS version inbound metadata type (#1513) 2021-07-27 13:58:29 +08:00
gVisor bot
7246f25c07 Chore: use iife replace init in some cases 2021-07-11 19:43:25 +08:00
gVisor bot
8b2f737511 Merge from remote branch 2021-07-07 03:53:32 +08:00
gVisor bot
e259cea893 Chore: move provider interface to constant 2021-07-06 00:31:13 +08:00
gVisor bot
38c102a93d Code: refresh code 2021-07-01 22:49:29 +08:00
gVisor bot
542325aae4 Style: code style 2021-06-10 14:05:56 +08:00
gVisor bot
eca3800a05 Chore: Clarify the definition of StreamConn and DialContext 2021-03-22 23:26:20 +08:00
gVisor bot
d4fffbdbb5 Feature: support store group selected node to cache (enable by default) 2021-02-18 23:41:50 +08:00
gVisor bot
be5a2a9adf Refactor: make inbound request contextual 2021-01-23 14:58:09 +08:00
gVisor bot
ac72e27e41 Feature: add TCP TPROXY support (#1049) 2020-11-09 10:46:10 +08:00
gVisor bot
4f3d3dbe6e Chore: fix typo (#1017) 2020-10-14 19:56:02 +08:00
gVisor bot
17a0dc479a Chore: rename NoResolveIP to ShouldResolveIP 2020-07-27 11:57:55 +08:00
gVisor bot
c1be3debfd Feature: add ssr support (#805)
* Refactor ssr stream cipher to expose iv and key

References:
https://github.com/Dreamacro/go-shadowsocks2
https://github.com/sh4d0wfiend/go-shadowsocksr2

* Implement ssr obfs

Reference:
https://github.com/mzz2017/shadowsocksR

* Implement ssr protocol

References:
https://github.com/mzz2017/shadowsocksR
https://github.com/shadowsocksRb/shadowsocksr-libev
https://github.com/shadowsocksr-backup/shadowsocksr
2020-07-22 23:02:15 +08:00
gVisor bot
a1accd76db Feature: support PROCESS-NAME on macOS 2020-07-19 13:18:23 +08:00
gVisor bot
c6e82884b4 Change: local resolve DNS in UDP request due to TURN failed 2020-06-12 23:39:03 +08:00
gVisor bot
aa217977bf Chore: code adjustments 2020-06-07 16:54:41 +08:00
gVisor bot
fa72ea4b6f Feature: support proxy-group in relay (#597) 2020-05-07 21:42:52 +08:00
gVisor bot
dc9ae1edd0 Improve: recycle buffer after packet used 2020-04-16 18:19:36 +08:00
gVisor bot
e8dfbf5135 Feature: support relay (proxy chains) (#539) 2020-03-21 23:46:49 +08:00
gVisor bot
55ee8695b3 Feature: support trojan 2020-03-19 20:26:53 +08:00
gVisor bot
05d45cbedc Fix: vmess udp crash 2020-02-17 17:34:19 +08:00
gVisor bot
584305897c Fix: should prehandle metadata before resolve 2020-02-07 20:53:43 +08:00
gVisor bot
9cbe2b8ed2 Fix: match log display 2020-01-31 14:58:54 +08:00
gVisor bot
adfe73b48e Improve: udp NAT type 2020-01-31 14:43:54 +08:00
gVisor bot
60b035fa27 Chore: fix typo (#490) 2020-01-30 17:03:10 +08:00
gVisor bot
95f06ab9b9 Improve: UDP relay refactor (#441)
Co-authored-by: Dreamacro <Dreamacro@vip.qq.com>
2019-12-28 18:44:01 +08:00
gVisor bot
ecc943997d Feature: add experimental provider 2019-12-08 12:17:24 +08:00
gVisor bot
88e7005382 Feature: update config API support raw yaml payload 2019-12-01 13:22:47 +08:00
gVisor bot
f046ad73d2 Feature: add no-resolve for ip rules (#375) 2019-10-28 00:02:23 +08:00
gVisor bot
93f13c627c Feature: add experimental connections API 2019-10-27 21:44:07 +08:00
gVisor bot
69ecc51998 Feature: can set specify config file path in cli (#360) 2019-10-14 18:11:22 +08:00
gVisor bot
b587ae1b77 Fix: dial tcp with context to avoid margin of error 2019-10-12 23:55:39 +08:00
gVisor bot
2adb586a78 Fix: some UDP issues (#265) 2019-10-11 20:11:18 +08:00
gVisor bot
204ff1a356 Feature: experimental support snell 2019-10-09 18:46:23 +08:00
gVisor bot
b2c4101dae Migration: go 1.13 2019-09-04 23:26:20 +09:00
gVisor bot
ffc52e6003 Fix: typo (#281) 2019-08-26 12:26:14 +08:00
gVisor bot
69980e4ca3 Feature: trace adapters when dialing (#170) 2019-08-09 01:28:37 +08:00
gVisor bot
f027c3e540 Optimization: refactor picker 2019-07-02 19:18:03 +08:00
gVisor bot
6a3284ba68 Standardized: use recommend extension & forward compatibility before 1.0 2019-06-18 20:55:26 +08:00
gVisor bot
7062bb4bba Feature: add DST-PORT and SRC-PORT 2019-05-09 21:00:29 +08:00
gVisor bot
c02b16b446 Feature: socks5 udp associate 2019-04-23 23:30:13 +08:00
gVisor bot
944fb14cd4 Fix: reuse Current.HomeDir until go 1.13 release 2019-03-28 18:20:19 +08:00
gVisor bot
e3c78f934e Feature: add version command (#148) 2019-03-23 19:24:26 +08:00
gVisor bot
6978963270 Feature: add delay history and improve url-test behavior 2019-03-17 14:52:39 +08:00
gVisor bot
86e97cc596 Improve: Dial would reset proxy alive status 2019-03-16 00:43:16 +08:00
gVisor bot
e3614e0605 Style: rename Generator with Dial 2019-03-03 11:59:07 +08:00
gVisor bot
de6d34aa27 Migration: go 1.12 2019-02-27 01:02:43 +08:00
gVisor bot
ef2b5d306d Chore: rename final 2019-02-18 21:53:57 +08:00
gVisor bot
0d9bbcc50c Feature: add load-balance group 2019-02-15 14:25:20 +08:00
gVisor bot
09f6cd2ec4 Fix: tun2socks not lookup IP 2019-02-11 15:44:42 +08:00
gVisor bot
d292743981 Feature: SOURCE-IP-CIDR rule type (#96) 2019-02-02 21:03:13 +08:00
gVisor bot
4ae154494c Improve: lazy resolve ip 2019-02-02 20:47:38 +08:00
gVisor bot
c8366739ee Chore: improve outbound architecture 2018-12-22 23:56:42 +08:00
gVisor bot
81ade5cfca Feature: add custom DNS support (#56) 2018-12-05 21:13:29 +08:00
gVisor bot
2eadc67535 Feature: add http/https [connect] proxy (#52) 2018-12-03 23:27:00 +08:00
gVisor bot
0dd9b38514 Chore: improve code architecture 2018-11-21 13:47:46 +08:00
gVisor bot
29172c5bb3 Chore: refactoring code of config path 2018-10-14 21:22:58 +08:00