Commit graph

252 commits

Author SHA1 Message Date
Adlyq
4cc661920e [Fix] redir-host use host not ip 2022-03-22 23:31:23 +08:00
MetaCubeX
5b7f46bc97 [skip ci][内容]
1.调整部分代码
2022-03-20 02:39:48 +08:00
MetaCubeX
435bee0ca2 update 2022-03-17 23:24:07 +08:00
MetaCubeX
30f1b29257 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
MetaCubeX
609d69191a 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
yaling888
346d817dba Chore: Merge branch 'ogn-dev' into with-tun 2022-03-16 20:16:30 +08:00
yaling888
3a9bbf6c73 Fix: should keep alive in tcp relay 2022-03-16 18:17:28 +08:00
MetaCubeX
016862f7a5 [build test]1.18 2022-03-16 17:54:44 +08:00
Dreamacro
6a661bff0c Migration: go 1.18 2022-03-16 12:10:13 +08:00
MetaCubeX
f01ac69654 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
yaling888
20b66d9550 Style: code style 2022-03-15 02:55:06 +08:00
yaling888
46b9a1092d Chore: embed the RuleExtra into Base 2022-03-13 01:22:05 +08:00
Kr328
b866f06414
Chore: move find connection process to tunnel (#2016) 2022-03-12 19:07:53 +08:00
yaling888
ba7bcce895 Chore: code style 2022-03-09 00:32:21 +08:00
yaling888
2f234cf6bc Feature: process condition for rules 2022-02-23 14:01:53 +08:00
yaling888
b192238699 Merge from remote branch 2022-02-23 01:00:27 +08:00
Skyxim
8595d6c2e9 [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
Clash-Mini
610c79570a make tun config compatible with premium 2022-01-05 11:24:00 +08:00
Clash-Mini
9475799615 make tun config compatible with premium 2022-01-05 00:33:42 +08:00
Skyxim
a78b89d16e Revert: Revert Redir-Host, please add fallback dns and append proxy adapter
DNS pass proxy use:
- protocol://ip:port#AdapterName
- protocol://ip:port/query#AdapterName

sure as:
- tls://1.1.1.1:853#DNS
2021-12-06 22:45:59 +08:00
Skyxim
c6f923041f Feature:Supported Rule-Set 2021-12-02 22:56:17 +08:00
maze.y2b@gmail.com
cb52682790 [style] 2021-12-01 16:51:31 +08:00
Mazeorz
900e852525 [test] 2021-11-17 16:03:47 +08:00
Dreamacro
bcb301b730 Chore: adjust all udp alloc size 2021-11-03 22:29:24 +08:00
yaling888
2680e8ffa3 Merge from remote branch 2021-10-28 11:36:11 +08:00
yaling888
2953772a0e Style: format code 2021-10-28 00:06:55 +08:00
Dreamacro
ebbc9604ce Chore: use uber max procs 2021-10-27 21:27:19 +08:00
Dreamacro
967932d02c Fix: set dnsmode behavior 2021-10-18 23:03:25 +08:00
Dreamacro
81d5da51a3 Fix: unexpected proxy dial behavior on mapping mode 2021-10-18 21:08:27 +08:00
Dreamacro
68753b4ae1 Chore: contexify ProxyAdapter ListenPacket 2021-10-15 21:44:53 +08:00
Dreamacro
f1cf7e9269 Style: use gofumpt for fmt 2021-10-10 23:44:09 +08:00
yaling888
4cc16e0136 Feature: add source ipcidr condition for all rules 2021-08-31 21:46:04 +08:00
yaling888
ba2fd00f01 Merge from remote branch 2021-07-28 22:13:21 +08:00
ayanamist
53e17a916b
Chore: logging remote port on request (#1494) 2021-07-19 15:31:38 +08:00
yaling888
5852245045
Merge from remote branch 2021-07-07 03:53:32 +08:00
yaling888
56dff65149 Feature: support multiport condition for rule SRC-PORT and DST-PORT 2021-07-06 15:07:05 +08:00
Dreamacro
d755383e39 Chore: move provider interface to constant 2021-07-06 00:31:13 +08:00
yaling888
d7732f6ebc Code: refresh code 2021-07-01 22:49:29 +08:00
Kr328
b6ff08074c
Refactor: plain http proxy (#1443) 2021-06-15 17:13:40 +08:00
Dreamacro
6091fcdfec Style: code style 2021-06-13 17:23:10 +08:00
Dreamacro
045edc188c Style: code style 2021-06-10 14:05:56 +08:00
Dreamacro
824f5bd731 Fix: reuse http connection broken on previous commit 2021-05-07 11:08:46 +08:00
Dreamacro
3f3db8476e Fix: HTTP inbound leak 2021-05-06 22:34:37 +08:00
Dreamacro
3aefa1d924 Chore: some chores 2021-04-05 13:31:10 +08:00
Dreamacro
7ee49f5171 Fix: HTTP server should close when Connection is close 2021-03-30 16:33:49 +08:00
wwqgtxx
5da1b2a8aa
Fix: set metadata.AddrType if host is ip string after remove host (#1291) 2021-03-12 17:41:37 +08:00
Dreamacro
f7f97ef625 Fix: some HTTP proxy request broken 2021-03-10 16:23:55 +08:00
Dreamacro
5acdd72a1d Fix: remove host if host is ip string 2021-03-10 12:49:30 +08:00
Jason Lyu
f53686103d
Chore: reset udp timeout after sending each packet (#1260) 2021-02-26 10:40:55 +08:00
Kr328
cd48f69b1f
Fix: wrap net.Conn to avoid using *net.TCPConn.(ReadFrom) (#1209) 2021-02-01 20:06:45 +08:00
Dreamacro
f4de055aa1 Refactor: make inbound request contextual 2021-01-23 14:58:09 +08:00
Keyi Xie
02d029dd2d
Fix: close http Response body on provider (#1154) 2020-12-29 11:28:22 +08:00
Dreamacro
994cbff215 Fix: should not log rule when rule = nil 2020-11-22 23:38:12 +08:00
Dreamacro
bea2ee8bf2 Chore: log rule msg on dial error 2020-11-22 19:12:36 +08:00
Dreamacro
34febc4579 Chore: more detailed error when dial failed 2020-11-20 00:27:37 +08:00
Jason Lyu
87e4d94290
Fix: tunnel manager & tracker race condition (#1048) 2020-10-29 17:51:14 +08:00
Dreamacro
b98e9ea202 Improve: #1038 and #1041 2020-10-29 00:32:31 +08:00
Jason Lyu
2cd1b890ce
Fix: tunnel UDP race condition (#1043) 2020-10-28 21:26:50 +08:00
Dreamacro
2321e9139d Chore: deprecated eapache/channels 2020-10-20 17:44:39 +08:00
Dreamacro
d3bb4c65a8 Fix: missing fake-ip record should return error 2020-10-17 12:52:43 +08:00
Dreamacro
8766287e72 Chore: sync necessary changes from premium 2020-09-21 22:22:07 +08:00
Kr328
558ac6b965
Chore: split enhanced mode instance (#936)
Co-authored-by: Dreamacro <305009791@qq.com>
2020-09-17 10:48:42 +08:00
Kr328
13275b1aa6
Chore: use only one goroutine to handle statistic (#940) 2020-09-03 10:30:18 +08:00
Kr328
7631bcc99e
Improve: use atomic for connection statistic (#938) 2020-09-02 16:34:12 +08:00
Dreamacro
5805334ccd Chore: pass staticcheck 2020-08-25 22:19:59 +08:00
Kr328
6532947e71
Fix: invert should resolve ip (#836) 2020-07-27 13:47:00 +08:00
Dreamacro
78c3034158 Chore: rename NoResolveIP to ShouldResolveIP 2020-07-27 11:57:55 +08:00
Dreamacro
3a3e2c05af Chore: add rule payload in log 2020-07-18 19:22:09 +08:00
Dreamacro
2781090405 Chore: move experimental features to stable 2020-06-27 14:19:31 +08:00
Dreamacro
59bda1d547 Change: local resolve DNS in UDP request due to TURN failed 2020-06-12 23:39:03 +08:00
Dreamacro
48cff50a4c Feature: connections add rule payload 2020-06-07 17:28:56 +08:00
Dreamacro
46244a6496 Chore: mode use lower case (backward compatible) 2020-06-01 00:32:37 +08:00
comwrg
51b6b8521b
Fix: typo (#657) 2020-04-27 22:20:35 +08:00
Dreamacro
e5379558f6 Fix: redir-host should lookup hosts 2020-04-27 21:28:24 +08:00
Dreamacro
0e56c195bb Improve: pool buffer alloc 2020-04-25 00:30:40 +08:00
Dreamacro
1825535abd Improve: recycle buffer after packet used 2020-04-16 18:19:36 +08:00
Kr328
206767247e
Fix: udp traffic track (#608) 2020-03-28 20:05:38 +08:00
Kaming Chan
082847b403
Chore: support MarshalYAML to some config filed (#581) 2020-03-15 19:40:39 +08:00
duama
b263095533
Fix: TPROXY fakeip (#572) 2020-03-10 20:36:24 +08:00
Dreamacro
7b48138ad0 Fix: vmess udp crash 2020-02-17 17:34:19 +08:00
Dreamacro
d75cb069d9 Feature: add default-nameserver and outbound interface 2020-02-15 21:42:46 +08:00
Dreamacro
dcf97ff5b4 Fix: should prehandle metadata before resolve 2020-02-07 20:53:43 +08:00
Dreamacro
72c0af9739 Chore: udp resolve ip on local 2020-01-31 19:26:33 +08:00
Dreamacro
19bb0b655c Fix: match log display 2020-01-31 14:58:54 +08:00
Dreamacro
26ce3e8814 Improve: udp NAT type 2020-01-31 14:43:54 +08:00
Kr328
6b7144acce Chore: export reset manager statistic api (#476) 2020-01-11 00:20:10 +08:00
Dreamacro
50704eaeeb Fix: udp crash 2019-12-31 14:47:00 +08:00
Comzyh
93ea037230 Improve: UDP relay refactor (#441)
Co-authored-by: Dreamacro <Dreamacro@vip.qq.com>
2019-12-28 18:44:01 +08:00
Siji
ecb9e4f57d Chore: distinguish udp request in log (#449) 2019-12-27 20:11:51 +08:00
Dreamacro
c427bc89ef Feature: add experimental provider 2019-12-08 12:17:24 +08:00
Dreamacro
4d7096f451 Fix: HTTP inbound proxy can't close correctly 2019-12-07 23:37:42 +08:00
Dreamacro
6d375ac37e Fix: new tracker crash when rule is nil 2019-10-28 12:58:39 +08:00
Fndroid
82a8c03953 Feature: add no-resolve for ip rules (#375) 2019-10-28 00:02:23 +08:00
Dreamacro
207371aeae Feature: add experimental connections API 2019-10-27 21:44:07 +08:00
Dreamacro
52cfa94652 Fix: HTTP proxy should copy body 2019-10-26 22:13:15 +08:00
Jason Lyu
4cd8b6f24f Fix: some UDP issues (#265) 2019-10-11 20:11:18 +08:00
Dreamacro
96a4abf46c Feature: move hosts to the top 2019-09-14 20:01:08 +08:00
Soar Qin
112b3e5a6c Fix: don't close connection on status 100 Continue and header Proxy-Connection: Keep-Alive (#294) 2019-09-12 10:22:08 +08:00
Soar Qin
9815010131 Fix: HTTP status code 100 Continue support" (#288)
* Fix: HTTP Status Code `100 Continue` support

* Style: code style adjustment
2019-09-08 12:21:28 +09:00
X. Jason Lyu
0f7f0a9b1a Optimization: socks UDP & fix typo (#261) 2019-08-12 14:01:32 +08:00
Dreamacro
b137a50d85 Fix: crash in handleConn 2019-08-10 20:14:24 +08:00
Yunhao Zhang
b926f4cf09 Feature: trace adapters when dialing (#170) 2019-08-09 01:28:37 +08:00
comwrg
b75da2c6d8 Fix: typo (#246) 2019-07-29 10:12:10 +08:00
X. Jason Lyu
1fd8f690fe Fix(socks5): fully udp associate support (#233) 2019-07-25 17:47:39 +08:00
Dreamacro
57fdd223f1 Feature: custom dns ipv4/ipv6 dual stack 2019-06-29 00:58:59 +08:00
Dreamacro
e837470a6a Fix: udp crash in tunnel 2019-05-16 18:40:20 +08:00
Dreamacro
225c530d13 Feature: add DST-PORT and SRC-PORT 2019-05-09 21:00:29 +08:00
Dreamacro
f352f4479e Feature: support fakeip 2019-05-03 00:05:14 +08:00
Dreamacro
cec2206774 Feature: add experimental config for resolving ip fail behavior 2019-04-24 12:02:52 +08:00
Dreamacro
90e3dccacd Fix: add missing error check 2019-04-24 10:29:29 +08:00
Dreamacro
c92cda6980 Feature: socks5 udp associate 2019-04-23 23:30:13 +08:00
Dreamacro
7683271fe6 Style: rename Generator with Dial 2019-03-03 11:59:07 +08:00
Dreamacro
23bb01a4df Fix: http request keepAlive with right http header 2019-03-03 11:51:15 +08:00
Dreamacro
5c8bb24121 Fix: crash when directly request proxy server 2019-02-18 20:14:18 +08:00
Dreamacro
26a87f9d34 Fix: redir-host mode crash 2019-02-11 17:20:42 +08:00
Dreamacro
1339487ce4 Fix: tun2socks not lookup IP 2019-02-11 15:44:42 +08:00
宋辰文
42d33fe629 Feature: SOURCE-IP-CIDR rule type (#96) 2019-02-02 21:03:13 +08:00
Dreamacro
bfe51e46b0 Improve: lazy resolve ip 2019-02-02 20:47:38 +08:00
beyondkmp
5581698908 Chore: improve programming style (#109) 2019-01-29 23:46:18 +08:00
Dreamacro
cb118d4371 Chore: improve outbound architecture 2018-12-22 23:56:42 +08:00
beyondkmp
34c8655974 Fix: don't keepalive when connection is close (#65)
fixed #60
2018-12-10 11:48:57 +08:00
Dreamacro
fa9077969c Fix: dns crash & remove unused debug log 2018-12-10 11:00:52 +08:00
Dreamacro
03c249ecb1
Feature: add custom DNS support (#56) 2018-12-05 21:13:29 +08:00
Dreamacro
a64cea5011 Fix: patch config API 2018-11-28 10:38:30 +08:00
Dreamacro
05bf4d44ab Change: replace FINAL with MATCH in a progressive way 2018-11-21 18:21:24 +08:00
Dreamacro
01a477bd3d Chore: improve code architecture 2018-11-21 13:47:46 +08:00
Dreamacro
4895bcefca Optimization: reduce the memory of each TCP relay 2018-10-21 20:28:40 +08:00
Dreamacro
2fd59cb31c Chore: make the code more semantic 2018-09-30 12:25:52 +08:00
Dreamacro
eb778ad6e2 Improve: cleanup code 2018-09-21 11:33:29 +08:00
Dreamacro
0caa8e05a3 Improve: better relay copies 2018-09-17 00:15:58 +08:00
Dreamacro
f2dbabeaa0 Fix: close connection when response closed 2018-08-31 21:24:10 +08:00
Dreamacro
8ec025b56a Improve: HTTP proxy server handler 2018-08-27 00:06:40 +08:00
Dreamacro
ebe1cee6dc Improve: clean code 2018-08-12 16:18:58 +08:00
Dreamacro
2b87b907ae New: custom socks5 proxy support 2018-08-12 13:50:54 +08:00
Dreamacro
410b272b50 Fix: issue #3 2018-08-11 22:51:30 +08:00
Dreamacro
63c967b2b3 Fixed: global mode and update log level 2018-08-04 23:04:16 +08:00
Dreamacro
8389150318 Improve: config convergent and add log-level 2018-07-26 00:04:59 +08:00
Dreamacro
d540a0d29f Fix: typo 2018-07-18 21:50:16 +08:00
Dreamacro
3cacfb8a7f Update: add config route 2018-07-15 22:23:20 +08:00
Dreamacro
0eef9bbf5d Add: selector and proxys & rules router 2018-07-12 23:28:38 +08:00
Dreamacro
018a6ba041 Improve: add log level 2018-06-22 13:15:20 +08:00
Dreamacro
05ab653103 Add: config hub route 2018-06-20 22:41:02 +08:00
Dreamacro
c2c8f82f96 Fixed: the configuration can now be updated correctly 2018-06-19 20:31:36 +08:00
Dreamacro
79e5338113 Add: external controller 2018-06-18 11:31:49 +08:00
Dreamacro
bc4ca2818b Add: Record network traffic 2018-06-17 22:41:32 +08:00
Dreamacro
6ffbb7c89e Add: url-test proxy group support 2018-06-16 21:34:13 +08:00
Dreamacro
961250f998 Fixed: throw error when shadowsocks cipher type wrong 2018-06-16 15:41:26 +08:00
Dreamacro
a74856dbf3 Fixed: race condition in update config 2018-06-15 00:49:52 +08:00
Dreamacro
47e038cf18 Improve: using native http request 2018-06-14 01:00:58 +08:00
Dreamacro
6e2b9edb45 Fixed: remove proxys and rules then update config 2018-06-13 13:38:46 +08:00