Commit graph

353 commits

Author SHA1 Message Date
yaling888
16a35527b7 Chore: increase nattable capacity 2022-04-25 13:18:41 +08:00
yaling888
4fd7d0f707 Chore: use generics as possible 2022-04-25 13:18:30 +08:00
adlyq
dee1aeb6c3 fix: logic of auto-detect-interface 2022-04-23 23:42:42 +08:00
adlyq
c77993eed3 refactor: tidy auto-route code 2022-04-23 17:31:16 +08:00
adlyq
2e1d9a4f2e fix: hotspot for android 2022-04-22 22:25:45 +08:00
yaling888
3b16fcef92 Chore: wait for system stack to close 2022-04-22 12:44:51 +08:00
yaling888
f91d106cdf Chore: fix typos 2022-04-22 12:42:20 +08: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
yaling888
6c4791480e Chore: IpToAddr 2022-04-20 22:09:16 +08:00
MetaCubeX
42d853a7e6 chore: upgrade dependencies 2022-04-20 01:31:33 +08:00
yaling888
b179d09efb Chore: adjust ipstack 2022-04-13 02:20:53 +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
yaling888
baa9e02af6 Refactor: cache use generics 2022-04-12 18:44:10 +08:00
Skyxim
4b9edc3b66
revert:the name of tun device on mac 2022-04-05 23:04:59 +08:00
Skyxim
b553dd749b refactor: Some adjustments 2022-04-03 19:15:16 +08:00
MetaCubeX
127634028d Merge remote-tracking branch 'Meta/Alpha' into Alpha 2022-03-30 13:19:05 +08:00
MetaCubeX
81c5a65f23 Merge remote-tracking branch 'Pro-Plus/with-tun' into Alpha
# Conflicts:
#	README.md
#	adapter/outbound/trojan.go
#	adapter/outbound/vless.go
#	transport/trojan/trojan.go
2022-03-30 13:15:45 +08:00
MetaCubeX
5b03cc56e7 Merge remote-tracking branch 'Clash-dev/dev' into Alpha 2022-03-30 12:41:16 +08:00
yaling888
b3ea2ff8b6 Chore: adjust VLESS 2022-03-29 23:50:41 +08:00
yaling888
56e2c172e1 Chore: adjust tun_wireguard cache buffer 2022-03-29 07:24:11 +08:00
yaling888
b3b7a393f8 Chore: merge branch 'ogn-dev' into with-tun 2022-03-29 07:22:52 +08:00
Meta
07fda93111 [Chore]升级项目依赖
[Chore]隐藏TUN模式在system堆栈启动时弹窗
2022-03-28 19:48:32 +08:00
Guowei Zhao
dd9bdf4e2f
Fix: convert size to unit32 in getoridst to solve some mips64 devices cannot get redirect origin dst (#2041)
Change-Id: I40aa73dcea692132e38db980320a8a07ed427fe6

Co-authored-by: Zhao Guowei <zhaoguowei@bytedance.com>
2022-03-28 14:48:51 +08:00
Meta
64a5fd02da Merge remote-tracking branch 'tun/with-tun' into Alpha 2022-03-28 10:51:59 +08:00
yaling888
8df8f8cb08 Chore: adjust gVisor stack 2022-03-28 03:25:55 +08:00
Meta
24583009c4 Merge remote-tracking branch 'tun/with-tun' into Alpha 2022-03-25 14:20:05 +08:00
yaling888
4a4b1bdb83 Chore: adjust tun RelayDnsPacket 2022-03-25 04:09:11 +08:00
yaling888
c6efa74a6b Fix: udp 4In6 of tun system stack 2022-03-25 03:42:46 +08:00
MetaCubeX
7a54d616c4 [SKIP CI]
Merge remote-tracking branch 'Pro-Plus/with-tun' into Alpha

# Conflicts:
#	README.md
#	hub/route/server.go
2022-03-23 13:23:34 +08:00
Adlyq
f19b67fe9d bypass support for auto-iptables 2022-03-23 11:36:13 +08:00
MetaCubeX
a375b85fa0 [skip ci]
# Conflicts:
#	.github/workflows/linter.yml
#	.github/workflows/release.yml
#	config/config.go
#	go.mod
#	go.sum
#	hub/executor/executor.go
2022-03-23 01:41:42 +08:00
yaling888
f4312cfa5a Chore: adjust the signal 2022-03-22 18:40:33 +08:00
yaling888
ac4cde1411 Refactor: iptables auto config, disabled by default 2022-03-22 05:38:42 +08:00
admin
3beb71b6e1 auto change interface for tproxy 2022-03-21 19:51:27 +08:00
yaling888
2c0890854e Fix: retry create TUN on Windows 2022-03-20 21:27:33 +08:00
yaling888
fc8092f7cc Fix: wintun dns address 2022-03-20 04:19:48 +08:00
MetaCubeX
d1838f663e Merge remote-tracking branch 'yaling888/with-tun' into Alpha
# Conflicts:
#	listener/tun/tun_adapter.go
2022-03-19 22:37:51 +08:00
MetaCubeX
520256365e [内容]
1.wintun.dll 0.14.1
2022-03-19 01:54:21 +08:00
MetaCubeX
9270d3c475 [内容]
1.autoIptables 开关
2.go.mod 调整
3.processName 调整
4.makefile 调整
5.Tun模块 部分代码调整
2022-03-19 01:11:27 +08:00
yaling888
7b7abf6973 Feature: auto detect interface if switch network 2022-03-18 17:03:50 +08:00
yaling888
8e5f01597e Fix: build 2022-03-18 05:21:28 +08:00
yaling888
546f2fa739 Chore: make fake ip pool start with the third ip 2022-03-18 05:17:47 +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
yaling888
8d0ae4284d Chore: use gateway address of fake ip pool as the TUN device address 2022-03-17 07:41:18 +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
MetaCubeX
dc2abe6eeb [Build test] 1.18
[Updata] wintun.dll
2022-03-17 00:12:11 +08:00
yaling888
b8d635a4b3 Migration: go 1.18 2022-03-16 22:00:20 +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
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
MetaCubeX
3e89bee524 [Skip CI] 2022-03-15 11:47:42 +08:00
yaling888
9ff32d9e29 Chore: use slice instead of map for system stack udp receiver queue 2022-03-15 05:19:29 +08:00
yaling888
20b66d9550 Style: code style 2022-03-15 02:55:06 +08:00
MetaCubeX
68fccfacc0 [Skip CI] 2022-03-15 02:20:19 +08:00
Skyxim
002163f07b [Fixed] memory leak 2022-03-13 18:35:55 +08:00
Skyxim
9c5b184db6 [Fixed] handle network protocol[0] panic (not pretty) 2022-03-13 18:34:49 +08:00
yaling888
359f8ffca3 Fix: should use the correct gateway for TUN system stack 2022-03-13 17:48:43 +08:00
yaling888
46b9a1092d Chore: embed the RuleExtra into Base 2022-03-13 01:22:05 +08:00
yaling888
8b4f9a35f6 Chore: bump to go1.18rc1, use netip.Addr to replace net.IP with system TUN stack 2022-03-12 02:16:13 +08:00
yaling888
8333815e95 Chore: refactor TUN 2022-03-09 05:08:35 +08:00
yaling888
ba7bcce895 Chore: code style 2022-03-09 00:32:21 +08:00
Skyxim
7550067fde [Fixed] skip maybe invaild ip data packet 2022-03-04 22:32:33 +08:00
yaling888
5e0d4930cb Merge branch 'ogn-dev' into with-tun 2022-03-03 04:17:00 +08:00
yaling888
705e5098ab Chore: use SIMD for AMD64 and ARM64 system stack checksum 2022-02-23 14:51:04 +08:00
yaling888
cd3b139c3f Chore: use "-m mark --mark" instead of "-m owner --uid-owner" 2022-02-23 14:19:59 +08:00
Kaming Chan
132a6a6a2f
Fix: listener tcp keepalive & reuse net.BufferedConn (#1987) 2022-02-23 11:22:46 +08:00
yaling888
b192238699 Merge from remote branch 2022-02-23 01:00:27 +08:00
yaling888
3b2ec3d880 Chore: upgrade gvisor 2022-02-22 22:30:41 +08:00
Clash-Mini
a0e44f4041 [FEAT]
1.Add geodata loader mode switch
yaml   geodata-loader: memconservative / standard
2.Add AutoIptables mode switch
yaml   auto-iptables: true
3.support trojan xtls
4.update gvisor
5.Fix process
6.Fix darwin autoRoute
2022-02-05 21:33:49 +08:00
Clash-Mini
3b277aa8ec [Feat]
update gvisor
Chore: use "-m mark --mark" instead of "-m owner --uid-owner"
2022-02-04 06:11:24 +08:00
Clash-Mini
176eb3926b 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
Clash-Mini
776728fb30 [Feat]
update gvisor
Chore: use "-m mark --mark" instead of "-m owner --uid-owner"
2022-02-04 04:47:40 +08:00
yaling888
f1157d0a09 Chore: use "-m mark --mark" instead of "-m owner --uid-owner" 2022-02-02 21:59:44 +08:00
yaling888
f376409041 Chore: upgrade gvisor 2022-02-01 02:00:10 +08:00
yaling888
875fdb3a5b Revert "Chore: upgrade gvisor version"
This reverts commit d633e3d96e.
2022-01-30 00:45:02 +08:00
yaling888
d633e3d96e Chore: upgrade gvisor version 2022-01-28 22:42:58 +08:00
Skyxim
03b956b7a3 [Fixed] auto-route support use ip route 2022-01-22 13:24:31 +08:00
Skyxim
b15344ec78 [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
Skyxim
4ab986cccb [Refactor] gvisor support hijack dns list
dns-hijack:
 - 1.1.1.1
 - 8.8.8.8:53
 - tcp://1.1.1.1:53
 - udp://223.5.5.5
 - 10.0.0.1:5353
2022-01-09 00:35:45 +08:00
Skyxim
64869d0f17 [Fixed] Remove the Linux automatic routing configuration Change the name of the Linux network card to utun 2022-01-08 16:57:59 +08:00
Skyxim
7f0368da66 [Style] Adjust delete routes on macos 2022-01-08 16:55:02 +08:00
Skyxim
16abba385a [Style] Adjust the routing table of tun on mac 2022-01-07 22:40:05 +08:00
Clash-Mini
89609cc4a2 [update]readme 2022-01-05 17:04:56 +08:00
Clash-Mini
0209efd423 Revert "make tun config compatible with premium"
This reverts commit ba6fdd2962.
2022-01-05 01:56:05 +08:00
Clash-Mini
ba6fdd2962 make tun config compatible with premium 2022-01-05 01:50:43 +08:00
yaling888
c14dd79e69 Merge from remote branch 2022-01-05 01:46:37 +08:00
Clash-Mini
9475799615 make tun config compatible with premium 2022-01-05 00:33:42 +08:00
Maze.tsz
14917c8af1 merge clash 1.9.0 2022-01-04 17:58:50 +08:00
Maze.tsz
3bb32d12e0 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
Maze.tsz
013b839678 [Fix] Linux Tun 2021-12-27 07:09:45 +08:00
Maze.tsz
a06382cebc [test] 2021-12-27 06:44:17 +08:00
Maze.tsz
ebc3f36236 [fix]autoIptables 2021-12-27 03:29:14 +08:00
Maze.tsz
e2a0437685 [fix] 2021-12-27 03:16:48 +08:00
Kr328
7267c58913
Chore: ReCreate* do side effect job (#1849) 2021-12-26 22:08:53 +08:00
Skyxim
69aef9cec0 [Fixed] Configure tun interface on linux 2021-12-11 22:34:45 +08:00
Skyxim
b0fdd8dc47 [Fixed] Add retry to open tun 2021-12-09 22:52:32 +08:00
Skyxim
e92ef587bb [Fixed] The array may be sent out of bounds 2021-12-09 22:52:32 +08:00
Maze.tsz
8580ee8898 [style] 2021-12-04 17:41:13 +08:00
Maze.tsz
58552447ef [fix]Linux TProxy 2021-12-04 14:34:01 +08:00
maze.y2b@gmail.com
885f69b81d [style] 2021-12-01 17:08:44 +08:00
maze.y2b@gmail.com
c65835d9e4 [style] embed_wintun.dll 2021-11-30 18:00:19 +08:00
maze.y2b@gmail.com
92bb026f70 [style] embed_wintun.dll 2021-11-30 17:58:21 +08:00
maze.y2b@gmail.com
c22c7efd07 [fix] embed_windows 2021-11-27 22:10:37 +08:00
maze.y2b@gmail.com
e4b30dacd4 [fix] embed_windows 2021-11-27 21:51:38 +08:00
maze.y2b@gmail.com
353ae30839 [test] embed_windows 2021-11-27 21:36:10 +08:00
maze.y2b@gmail.com
828ff82ff2 [test] embed_windows 2021-11-27 21:23:34 +08:00
Mazeorz
eb57d246cf [test]tun 2021-11-17 19:35:34 +08:00
Mazeorz
900e852525 [test] 2021-11-17 16:03:47 +08:00
yaling888
4c6bb7178b Feature: resolve ip with proxy adapter 2021-11-09 19:44:16 +08:00
yaling888
53287d597b Chore: use custom buffer pool for lwIP stack 2021-11-04 18:33:11 +08:00
yaling888
964bbe1957
Chore: adjust all udp alloc size
Chore: adjust all udp alloc size
2021-11-04 00:44:16 +08:00
Dreamacro
bcb301b730 Chore: adjust all udp alloc size 2021-11-03 22:29:24 +08:00
yaling888
c824ace2d7 Wintun: use new swdevice-based API for upcoming Wintun 0.14 2021-11-03 15:10:31 +08:00
yaling888
ac9e5c6913 Wintun: use new swdevice-based API for upcoming Wintun 0.14 2021-11-03 15:02:40 +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
yaling888
5a27df899f Chore: script built 2021-10-27 23:10:11 +08:00
yaling888
4b614090f8 Merge remote branch 2021-10-21 22:37:30 +08:00
Blaise Wang
a7aea12aa6
Fix: remove ResponseHeaderTimeout limitation (#1690) 2021-10-20 13:44:05 +08:00
yaling888
c0e9d69163 Feature: add mode script 2021-10-15 14:11:14 +08:00
Dreamacro
f1cf7e9269 Style: use gofumpt for fmt 2021-10-10 23:44:09 +08:00
Dreamacro
4ce35870fe Chore: remove deprecated ioutil 2021-10-09 20:35:06 +08:00
Kr328
ced9749104
Fix: http proxy should response correct http version (#1651) 2021-09-30 16:30:07 +08:00
yaling888
862174d21b Feature: add lwIP TCP/IP stack to tun listener 2021-09-30 04:05:52 +08:00
yaling888
433d35e866 Chore: format with go 1.17 2021-09-24 04:37:04 +08:00
yaling888
32d8f849ee Chore: update gvisor 2021-09-23 02:42:17 +08:00
yaling888
6f94d56383 Fix: gvisor ipv6 routeing in Tun 2021-09-17 16:49:53 +08:00
yaling888
fbda82218e
Merge from remote branch 2021-09-17 15:07:27 +08:00
Xuen Li
f5806d9263
Fix: http/https proxy authentication (#1613) 2021-09-14 00:08:23 +08:00
Kr328
beb88cc46f
Fix: should not trust address of http.Client (#1616) 2021-09-13 23:46:39 +08:00
yaling888
48aef1829f Merge from remote branch 2021-09-01 00:38:43 +08:00
Digital Pencil
c6d375eda2
Fix: HTTP proxy internal linkage signature (#1555) 2021-08-20 23:38:47 +08:00
Dreamacro
571d2a0075 Migration: go 1.17 2021-08-18 13:26:23 +08:00
yaling888
83c9664c17
Merge from remote branch 2021-08-05 00:49:17 +08:00
Dreamacro
588645a2c3 Fix: interface nil check panic from previous commit 2021-08-04 23:52:50 +08:00
Dreamacro
1bfebd0d03 Fix: listener patch diff 2021-08-01 00:35:37 +08:00
yaling888
ba2fd00f01 Merge from remote branch 2021-07-28 22:13:21 +08:00
xᴊᴀsᴏɴʟʏᴜ
3705996974
Chore: split SOCKS version inbound metadata type (#1513) 2021-07-27 13:58:29 +08:00
yaling888
09299e5e5a Fix: error var name 2021-07-27 02:38:41 +08:00
duama
4578b2c826
Fix: remove Content-Length from CONNECT response (#1502) 2021-07-22 18:06:03 +08:00
Dreamacro
aa9f8a39a3 Fix: socks inbound packet typo 2021-07-21 23:08:52 +08:00
ayanamist
247dd84970
Chore: logging real listen port (#1492) 2021-07-19 14:07:51 +08:00
xᴊᴀsᴏɴʟʏᴜ
a461c2306a
Feature: SOCKS4/SOCKS4A Inbound Compatible Support (#1491) 2021-07-18 16:09:09 +08:00
yaling888
96e5a52651 Style: code style 2021-07-09 02:19:43 +08:00
yaling888
56dff65149 Feature: support multiport condition for rule SRC-PORT and DST-PORT 2021-07-06 15:07:05 +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
f231a63e93 Chore: Listener should not expose original net.Listener 2021-06-13 23:05:22 +08:00
Dreamacro
6091fcdfec Style: code style 2021-06-13 17:23:10 +08:00