Commit graph

482 commits

Author SHA1 Message Date
yaling888
46b9a1092d Chore: embed the RuleExtra into Base 2022-03-13 01:22:05 +08:00
yaling888
8fbf93ccc8 Chore: Merge branch 'ogn-dev' into with-tun 2022-03-13 01:15:35 +08:00
Kr328
b866f06414
Chore: move find connection process to tunnel (#2016) 2022-03-12 19:07:53 +08:00
Kr328
9683c297a7
Chore: add more details to process resolving (#2017) 2022-03-09 13:41:50 +08:00
yaling888
8333815e95 Chore: refactor TUN 2022-03-09 05:08:35 +08:00
yaling888
71e002c2ef Merge branch 'ogn-dev' into with-tun 2022-03-09 00:30:38 +08:00
Kr328
83bfe521b1
Fix: should split linux process name with space (#2008) 2022-03-05 18:25:16 +08:00
yaling888
592b6a785e Fix: find process name by UDP network on macOS 2022-02-23 14:04:47 +08:00
yaling888
d876d6e74c Feature: resolve ip with a proxy adapter 2022-02-23 02:38:50 +08:00
yaling888
b192238699 Merge from remote branch 2022-02-23 01:00:27 +08:00
Dreamacro
03e4b5d525 Chore: use golangci-lint config file 2022-02-19 00:08:51 +08:00
Dreamacro
a0221bf897 Fix: routing-mark should effect on root 2022-02-17 14:23:47 +08:00
Clash-Mini
4a446c4e31 [build] 2022-02-06 01:59:35 +08:00
Clash-Mini
c28f42d823 [FEAT] Add geodata loader mode switch 2022-02-05 00:51:06 +08:00
Clash-Mini
2bf34c766e [Feat]
support trojan xtls
change geodataloader mode as memconservative
2022-02-04 23:33:36 +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
Clash-Mini
1cdaf782ba Merge remote-tracking branch 'clash/dev' into Feature 2022-02-04 02:38:32 +08:00
yaling888
f1157d0a09 Chore: use "-m mark --mark" instead of "-m owner --uid-owner" 2022-02-02 21:59:44 +08:00
yaling888
6e9d837a7d Merge from remote branch 2022-01-28 19:51:40 +08:00
Dreamacro
b1a639feae Fix: domain trie search 2022-01-26 22:28:13 +08:00
Clash-Mini
9e4e1482d9 [chore] Replace Country.mmdb with GeoIP.dat 2022-01-26 12:01:14 +08:00
yaling888
c14dd79e69 Merge from remote branch 2022-01-05 01:46:37 +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
HamsterReserved
8679968ab0
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
Dreamacro
204a72bbd3 Chore: remove forward compatible code 2022-01-02 00:48:57 +08:00
yaling888
5657aa50cf Merge from remote branch 2021-12-09 21:38:24 +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
Maze.tsz
35cf39e415 Revert "[test] rule providers"
This reverts commit 078389f4f6.
2021-11-26 00:57:41 +08:00
maze.y2b@gmail.com
078389f4f6 [test] rule providers 2021-11-25 23:14:31 +08:00
Dreamacro
075d8ed094 Fix: fakeip pool cycle used 2021-11-23 22:01:49 +08:00
maze.y2b@gmail.com
f7393509a3 fix python310 2021-11-21 15:09:22 +08:00
Mazeorz
900e852525 [test] 2021-11-17 16:03:47 +08:00
yaling888
a412745314 Merge from remote branch 2021-11-11 00:54:43 +08:00
Dreamacro
499beb7344 Fix: bind iface should throw control error 2021-11-10 22:19:11 +08:00
yaling888
6bd186d3c0 Merge from remote branch 2021-11-09 21:11:38 +08:00
yaling888
4c6bb7178b Feature: resolve ip with proxy adapter 2021-11-09 19:44:16 +08:00
Dreamacro
c9be614821 Fix: windows arm7 build 2021-11-08 21:24:39 +08:00
bobo liu
bd2ea2b917
Feature: mark on socket (#1705) 2021-11-08 16:59:48 +08:00
Dreamacro
d40e5e4fe6 Fix: codeql alerts 2021-11-08 00:32:21 +08:00
Dreamacro
1a7830f18e
Feature: dial different NIC for all proxies (#1714) 2021-11-07 16:48:51 +08:00
yaling888
b515a4e270 Chore: move "geodata" to package "component" 2021-11-02 18:23:01 +08:00
yaling888
78cef7df59 Chore: move "geodata" to package "component" 2021-10-29 00:52:44 +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
yaling888
63d07db4bf Chore: script built 2021-10-21 20:22:23 +08:00
yaling888
c0e9d69163 Feature: add mode script 2021-10-15 14:11:14 +08:00
Dreamacro
583b2a5ace Change: use interface HardwareAddr for dhcp discovery 2021-10-14 22:54:43 +08:00
Dreamacro
3d5681cffd
Feature: persistence fakeip (#1662) 2021-10-11 20:48:58 +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
Dreamacro
66cb0b1218 Fix: cache kv db should not block on init 2021-10-05 22:47:26 +08:00
Dreamacro
4f1fac02ab Chore: add remove TODO 2021-10-05 12:42:21 +08:00
Dreamacro
537b672fcf Change: use bbolt as cache db 2021-10-04 19:20:11 +08:00
yaling888
6ddd9e6fb8 Merge from remote branch 2021-09-08 04:42:56 +08:00
Kr328
a5b950a779
Feature: add dhcp type dns client (#1509) 2021-09-06 23:07:34 +08:00
yaling888
48aef1829f Merge from remote branch 2021-09-01 00:38:43 +08:00
Dreamacro
571d2a0075 Migration: go 1.17 2021-08-18 13:26:23 +08:00
yaling888
ba2fd00f01 Merge from remote branch 2021-07-28 22:13:21 +08:00
Dreamacro
46f4f84442 Chore: use iife replace init in some cases 2021-07-11 19:43:25 +08:00
yaling888
d7732f6ebc Code: refresh code 2021-07-01 22:49:29 +08:00
Dreamacro
c35cb24bda Chore: use unix.ByteSliceToString transform cstring 2021-06-15 21:03:47 +08:00
Rusty Pen
0778591524
Feature: dns resolve domain through nameserver-policy (#1406) 2021-05-19 11:17:35 +08:00
Dreamacro
f96ebab99f Chore: split component to transport 2021-05-13 22:19:34 +08:00
Kaming Chan
df5112175f
Fix: io timeout when snell v2 reuse connection (#1362) 2021-04-19 14:36:06 +08:00
Dreamacro
4e9e4b6cde Fix: grpc transport concurrent write 2021-04-14 21:46:05 +08:00
Rusty Pen
936b7012ba
Feature: PROCESS-NAME support freebsd 13, fix panic on unsupported platforms (#1351) 2021-04-14 17:57:17 +08:00
Dreamacro
a9cbd9ec98 Fix: use bufio.Reader on grpc to avoid panic 2021-04-14 00:16:59 +08:00
Dreamacro
c9943fb857 Fix: grpc implementation SetDeadline for udp issue 2021-04-13 23:34:33 +08:00
sprov
a40274e2a2
Fix: vmess aead writer concurrent write (#1350) 2021-04-13 23:32:53 +08:00
Dreamacro
586bb91c0c Fix: grpc transport panic 2021-04-09 18:11:07 +08:00
Dreamacro
baf03b81e3 Fix: remove unused function 2021-04-08 22:27:41 +08:00
Dreamacro
3d5a0d9f73 Fix: trojan/vmess grpc broken 2021-04-07 22:57:46 +08:00
Dreamacro
3aefa1d924 Chore: some chores 2021-04-05 13:31:10 +08:00
Dreamacro
42e21b3733 Chore: refine go import 2021-04-05 13:00:49 +08:00
Dreamacro
d0c829c578 Fix: domain dns should follow hosts config, close #1318 2021-04-01 21:20:44 +08:00
Dreamacro
4ad9761b32 Fix: don't resolve AAAA record when ipv6 is false and use go dns resolver 2021-04-01 18:03:30 +08:00
Dreamacro
109bfcb0f9 Feature: add vmess aead header support 2021-03-30 17:34:16 +08:00
Dreamacro
d759d16944 Style: cleanup code 2021-03-24 01:00:21 +08:00
Dreamacro
1355196b7c Fix: grpc connection panic 2021-03-18 23:19:00 +08:00
ShinyGwyn
573316bcde
Feature: add gRPC Transport for vmess/trojan (#1287)
Co-authored-by: eMeab <32988354+eMeab@users.noreply.github.com>
Co-authored-by: Dreamacro <8615343+Dreamacro@users.noreply.github.com>
2021-03-18 19:40:34 +08:00
Dreamacro
784c28266c Fix: vmess http broken 2021-03-18 17:11:10 +08:00
Dreamacro
a37243cf30 Fix: store cache correctly 2021-02-21 01:07:22 +08:00
Dreamacro
14bbf6eedc Feature: support store group selected node to cache (enable by default) 2021-02-18 23:41:50 +08:00
goomadao
9eb98e399d
Improve: refactor ssr and fix #995 (#1189)
Co-authored-by: goomada <madao@DESKTOP-IOEBS0C.localdomain>
2021-02-15 14:32:03 +08:00
goomadao
ff430df845
Fix: connectivity of ssr auth_chain_(ab) protocol (#1180) 2021-01-13 23:35:41 +08:00
Dreamacro
e4cdea2111 chore: use singleDo to get interface info 2021-01-13 17:30:54 +08:00
Keyi Xie
02d029dd2d
Fix: close http Response body on provider (#1154) 2020-12-29 11:28:22 +08:00
Dreamacro
09c28e0355 Fix: fallback bind fn should not bind global unicast 2020-12-28 22:24:58 +08:00
icpz
532396d25c
Fix: PROCESS-NAME rule for UDP sessions on Windows (#1140) 2020-12-22 15:13:44 +08:00
Dreamacro
4b1b494164 Chore: move find process name to a single part 2020-12-17 22:17:27 +08:00
Jason Lyu
2cd1b890ce
Fix: tunnel UDP race condition (#1043) 2020-10-28 21:26:50 +08:00
Dreamacro
ba060bd0ee Fix: should not bind interface on local address 2020-10-25 20:31:01 +08:00
Dreamacro
76c9820065 Fix: undefined variable 2020-10-23 17:49:34 +08:00
Dreamacro
50b3d497f6 Feature: use native syscall to bind interface on Linux and macOS 2020-10-22 22:32:03 +08:00
Dreamacro
d3bb4c65a8 Fix: missing fake-ip record should return error 2020-10-17 12:52:43 +08:00
Dreamacro
e09931dcf7 Chore: remove broken test temporarily 2020-09-26 20:36:52 +08:00
小傅Fox
5bd189f2d0
Feature: support VMess HTTP/2 transport (#903) 2020-09-26 20:33:57 +08:00
Dreamacro
8766287e72 Chore: sync necessary changes from premium 2020-09-21 22:22:07 +08:00
Dreamacro
10f9571c9e Fix: pool gc test 2020-09-21 00:44:47 +08:00
Kaming Chan
96a8259c42
Feature: support snell v2 (#952)
Co-authored-by: Dreamacro <8615343+Dreamacro@users.noreply.github.com>
2020-09-21 00:33:13 +08:00
Dreamacro
68dd0622b8 Chore: code style 2020-09-20 15:53:27 +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
Dreamacro
5805334ccd Chore: pass staticcheck 2020-08-25 22:19:59 +08:00
goomadao
8b7c731fd6
Fix: ssr broken (#895) 2020-08-12 20:50:56 +08:00
maddie
4f61c04519
Fix: ssr typo (#887) 2020-08-11 10:35:30 +08:00
goomadao
4ba6f248bc
Fix: ssr bounds out of range panic (#882) 2020-08-11 10:17:40 +08:00
icpz
77d6f9ae6f
Fix: handle snell server reported error message properly (#848) 2020-07-30 15:54:26 +08:00
goomadao
33a6579a3a
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
Dreamacro
ee72865f48 Fix: recycle buf on http obfs 2020-07-22 20:29:39 +08:00
Dreamacro
acd51bbc90 Fix: obfs host should not have 80 port 2020-07-01 00:01:36 +08:00
Birkhoff Lee
93c987a6cb
Fix: typo in dialer.go (#767) 2020-06-28 10:59:04 +08:00
Kr328
14c9cf1b97
Fix: domain trie crash if not match in #758 (#762) 2020-06-24 19:46:37 +08:00
Kr328
3dfff84cc3
Fix: domain trie should backtrack to parent if match fail (#758) 2020-06-24 18:41:23 +08:00
Dreamacro
60bad66bc3 Change: ipv6 logic 2020-06-18 18:11:02 +08:00
Dreamacro
fb628e9c62 Feature: add default hosts localhost 2020-06-07 17:25:51 +08:00
Dreamacro
2dece02df6 Chore: code adjustments 2020-06-07 16:54:41 +08:00
Dreamacro
147a7ce779 Fix: panic of socks5 client missing authentication 2020-06-03 18:49:57 +08:00
Dreamacro
71d30e6654 Feature: support vmess tls custom servername 2020-06-01 00:27:04 +08:00
Dreamacro
8d0c6c6e66 Feature: domain trie support wildcard alias 2020-05-28 12:13:05 +08:00
bytew021
3a27cfc4a1
Feature: add Mixed(http+socks5) proxy listening (#685) 2020-05-12 11:29:53 +08:00
Dreamacro
0e56c195bb Improve: pool buffer alloc 2020-04-25 00:30:40 +08:00
Dreamacro
3fc6d55003 Fix: domain wildcard behavior 2020-04-24 23:49:19 +08:00
Dreamacro
8eddcd77bf Chore: dialer hook should return a error 2020-04-24 23:48:55 +08:00
Dreamacro
84f627f302 Feature: verify mmdb on initial 2020-04-16 19:12:25 +08:00
Dreamacro
65dab4e34f Feature: domain trie support dot dot wildcard 2020-04-08 15:45:59 +08:00
Dreamacro
5591e15452 Fix: vmess pure TLS mode 2020-04-03 16:04:24 +08:00
Dreamacro
19f809b1c8 Feature: refactor vmess & add http network 2020-03-31 16:07:21 +08:00
Dreamacro
e54f51af81 Fix: trojan split udp packet 2020-03-20 00:02:05 +08:00
Dreamacro
b068466108 Improve: add session cache for trojan 2020-03-19 22:39:09 +08:00
Dreamacro
b562f28c1b Feature: support trojan 2020-03-19 20:26:53 +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
afc9f3f59a Chore: use custom dialer 2020-02-09 17:02:48 +08:00
Dreamacro
26ce3e8814 Improve: udp NAT type 2020-01-31 14:43:54 +08:00
Kr328
9071351022 Chore: aggregate mmdb (#474) 2020-01-11 21:07:01 +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
Dreamacro
3f592988a9 Fix: fake pool test 2019-12-28 00:19:40 +08:00
Dreamacro
96f490f84a Feature: add fake-ip-filter 2019-12-28 00:10:06 +08:00
Dreamacro
ad53b42a68 Fix: vmess websocket udp crash 2019-12-05 14:12:29 +08:00
Dreamacro
207371aeae Feature: add experimental connections API 2019-10-27 21:44:07 +08:00
Kirill Motkov
f4326daaa4 Chore: code style improvements (#361) 2019-10-14 17:13:23 +08:00
Jason Lyu
4cd8b6f24f Fix: some UDP issues (#265) 2019-10-11 20:11:18 +08:00
Dreamacro
52125a3992 Fix: fakeip missing host 2019-10-11 14:01:16 +08:00
Dreamacro
06c9dfdb80 Feature: experimental support snell 2019-10-09 18:46:23 +08:00
Dreamacro
1a8a6d0b5d Feature: v2ray-plugin support disable mux 2019-09-21 23:49:00 +08:00
Dreamacro
3dd9ea52d8 Fix(domain-trie): crash when insert 2019-09-14 21:42:40 +08:00
Dreamacro
48a2013d9c Fix: socks address stringify buffer overflow 2019-08-16 21:38:27 +08:00
Dreamacro
85128a634d Fix(vmess): set current server name in tls 2019-07-31 11:13:49 +08:00
X. Jason Lyu
f6acbaac7b Fix(vmess): typo (#248) 2019-07-29 12:25:29 +08:00
Dreamacro
271ed2b9c1 Improve(fakeip): use lru cache to avoid outdate 2019-07-26 19:09:13 +08:00
X. Jason Lyu
1fd8f690fe Fix(socks5): fully udp associate support (#233) 2019-07-25 17:47:39 +08:00
Dreamacro
9e77c650d9 Fix(domain-trie): domain could without dot 2019-07-16 00:57:08 +08:00
Dreamacro
3497fdaf45 Fix(domain-trie): Incorrect result 2019-07-15 18:00:51 +08:00
Dreamacro
1a21c8ebfd Feature(dns): support custom hosts 2019-07-14 19:29:58 +08:00
bobo liu
1c792b46c9 Feature: local socks5/http(s) auth (#216) 2019-06-27 17:04:25 +08:00
Dreamacro
ad13ad8dba Fix: add mutex for fake ip pool 2019-05-23 23:27:29 +08:00
Dreamacro
cff4841f3e Chore: fix socks reader overflow & update dependencies 2019-05-06 21:00:29 +08:00
Dreamacro
f352f4479e Feature: support fakeip 2019-05-03 00:05:14 +08:00
Dreamacro
762f227512 Feature: support vmess udp 2019-04-25 16:32:15 +08:00
Dreamacro
936ea3aa55 Feature: support outbound socks5 udp 2019-04-25 13:48:47 +08:00
Dreamacro
c92cda6980 Feature: socks5 udp associate 2019-04-23 23:30:13 +08:00
Rico
8c608f5d7a Feature: add custom headers support in v2ray-plugin (#137) 2019-03-15 09:43:46 +08:00
beyondkmp
287ad5bc53 Fix: vmess handshake block (#117) 2019-02-15 21:55:15 +08:00
Dreamacro
2383cca2ce Feature: add v2ray-plugin 2019-02-11 15:25:39 +08:00
Dreamacro
532ec88964 Chore: make a consistent code style 2018-12-23 00:42:08 +08:00
Dreamacro
1607d3253f Feature: add websocket headers support in vmess 2018-12-11 00:25:05 +08:00
beyondkmp
f5715c4f42 Fix: chunk size limit in tls obfs (#54)
* Fix: add chunkSize limit in TLSObfs

* Chore: add length var for len(b)
2018-12-01 09:32:02 +08:00
Dreamacro
dc24dd4d89 Fix: tls server name missing in vmess 2018-11-28 23:24:57 +08:00
Dreamacro
da391356dd Fix: simple-obfs tls 2018-11-07 16:57:21 +08:00
Dreamacro
502aa61c0e Fix: vmess small probability invalid auth 2018-11-06 17:34:19 +08:00
beyondkmp
cc6d496143 Chore: optimize code structure in vmess websocket (#28)
* Chore: move conn process of ws to websocket.go

* Chore: some routine adjustment
2018-11-04 21:36:20 +08:00
changx
fd63707399 Optimization: use client session cache for TLS connection (#26) 2018-11-01 11:54:45 +08:00
beyondkmp
c5757a9b11 Chore: delete redundant print 2018-10-30 10:50:57 +08:00
Dreamacro
ce7cb138d4 Chore: unified naming "skip-cert-verify" 2018-10-29 20:16:43 +08:00
Dreamacro
d2174149c1 Feature: vmess add websocket support 2018-10-28 23:46:32 +08:00
Dreamacro
1f556d4ae5 Fix: vmess alterId can be 0 2018-10-23 11:28:41 +08:00
Dreamacro
2fd59cb31c Chore: make the code more semantic 2018-09-30 12:25:52 +08:00