Commit graph

378 commits

Author SHA1 Message Date
gVisor bot
7e4d679da6 refactor: clear linkname,reduce cycle dependencies,transport init geosite function 2022-06-10 13:38:19 +08:00
gVisor bot
5953a4cfb5 refactor: 抽离http请求方法 2022-06-04 19:14:39 +08:00
gVisor bot
fa6c28e4e4 chore: 更新geox时通过内存存储 2022-06-03 16:50:49 +08:00
gVisor bot
b0e723f868 refactor: 优化proxy server nameserver, 当节点专用dns全部查询失败会回落到正常逻辑 2022-06-02 20:58:25 +08:00
gVisor bot
f7009e7f0b fix: OpenClash 回环 2022-06-01 12:32:45 +08:00
gVisor bot
1cfae4aba8 refactor: 合并部分android代码入linux && ip 使用netlink配置路由 2022-05-28 21:58:29 +08:00
gVisor bot
00e33008f6 fix: 关闭并发时双栈使用错误 2022-05-27 20:43:39 +08:00
gVisor bot
322edc166f feat: RESTful API support set tcp-concurrent 2022-05-26 19:49:12 +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
2a00f57fd9 feat: 安卓恢复进程规则,可通过enable-process开关,默认true 2022-05-19 20:44:09 +08:00
gVisor bot
fb3472c53a fix: Rule-Set中不解析DNS
feat: RULE-SET支持no-resolve
2022-05-18 18:43:44 +08:00
gVisor bot
aa0753ac59 fix: geoip ReverseMatch 2022-05-16 17:06:44 +08:00
gVisor bot
02d30883b6 feat: "!"(not) support for geosite
eg. GEOSITE,!CN,Proxy & dns.fallback-filter.geosite: ['!CN']
2022-05-15 13:16:45 +08:00
gVisor bot
cd8c87aad5 chore: log show all ips when all ips shake hands failed 2022-05-13 21:43:42 +08:00
gVisor bot
7c22b555a8 chore: sniffer give the err to the caller 2022-05-08 09:09:39 +08:00
gVisor bot
83b64eb86e chore: modify sniff error log 2022-05-07 12:44:28 +08:00
gVisor bot
46bf5d2561 fix: DNS mapping error when sniffing result is ip, Discard sniffs that result in ip 2022-05-02 22:24:14 +08:00
gVisor bot
6a3e0c0225 fix: The sniffer does not clean up the original address 2022-05-02 17:09:24 +08:00
gVisor bot
6c4ddeb4ed fix: http sniffer return host that was handled correctly 2022-05-02 09:51:26 +08:00
gVisor bot
41f430e981 chore: adjust sniffer constant 2022-05-02 08:49:18 +08:00
gVisor bot
8ade548ab8 chore: adjust sniffer err info 2022-05-02 05:17:13 +08:00
gVisor bot
5041191a44 feat: sniffer support http 2022-05-02 05:10:18 +08:00
gVisor bot
40259bea76 fix: npe when with resolver is nil 2022-04-29 13:03:55 +08:00
gVisor bot
d1aa6d1431 refactor: tcp concurrent 2022-04-27 21:37:20 +08:00
gVisor bot
6e56205ba6 chore: adjust sniffer log 2022-04-27 18:04:02 +08:00
gVisor bot
746e1382b5 chore: Adjust the tcp-concurrent and sniffer log 2022-04-27 15:22:42 +08:00
gVisor bot
ad67a1c34c Chore: use generics as possible 2022-04-25 13:18:30 +08:00
gVisor bot
b5e7abfa15 fix: whitelist 2022-04-23 09:52:23 +08:00
gVisor bot
7cdbab467f fix: sniffer port whitelist error 2022-04-23 09:36:11 +08:00
gVisor bot
d946a76a0d chore: Adjust the connection IP log 2022-04-23 08:53:51 +08:00
gVisor bot
bb14ae7075 fix: general ipv6 is false should be broke ipv6 conn 2022-04-23 00:30:25 +08:00
gVisor bot
532ec82a08 feat: support tcp concurrent, Separate dialing and dns resolver ipv6
tcp-concurrent:true
2022-04-23 00:27:22 +08:00
gVisor bot
de105c08f6 fix: sniffer 2022-04-22 17:00:39 +08:00
gVisor bot
7b9a24ee08 fix: uid rule only support linux and android 2022-04-22 16:51:01 +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
8695847210 fix: add wait timeout, and log 2022-04-21 08:08:37 -07:00
gVisor bot
03a014957f feat: add sniffer port whitelist, when empty will add all ports 2022-04-21 07:06:08 -07:00
gVisor bot
e2dbbb7cfe Refactor: metadata use netip.Addr 2022-04-20 22:52:05 +08:00
gVisor bot
915f40e71b Chore: IpToAddr 2022-04-20 22:09:16 +08:00
gVisor bot
a4654d30d5 chore: upgrade dependencies 2022-04-20 01:31:33 +08:00
gVisor bot
a84d76fd04 Improve: replace bootstrap dns (#2080) 2022-04-19 22:49:39 +08:00
gVisor bot
caf271a669 Chore: fix typo 2022-04-19 22:38:20 +08:00
gVisor bot
66503d64e3 Chore: persistence fakeip pool state 2022-04-19 22:37:47 +08:00
gVisor bot
b6a134b34c refactor: sniffer param force and reverses deprecated, will be removed when release version, replace force-domain and skip-sni,
force-domain add '+' equivalent to force is true
sniffer:
  enable: true
  force-domain:
    - "google.com"
  skip-sni:
    - www.baidu.com
  sniffing:
    - tls
2022-04-17 20:02:13 +08:00
gVisor bot
6f3aafafe4 Improve: replace bootstrap dns (#2080) 2022-04-16 15:31:26 +08:00
gVisor bot
363f9ff181 fix: domain tree match failed 2022-04-16 11:55:49 +08:00
gVisor bot
566ed821fc fix: domain type fix Mapping 2022-04-16 09:51:31 +08:00
gVisor bot
181d213321 chore: log style 2022-04-16 09:04:43 +08:00
gVisor bot
baac54e8ee fix: reverse error when force is false 2022-04-16 08:53:31 +08:00
gVisor bot
6c56a3b80e feat: add domain list for sniffer, reverse force logic
when force is false, if domain in the list, will force replace
when force is true, if sniff domain in the list, will skip it
2022-04-16 08:21:31 +08:00
gVisor bot
b436af3f4a Fix: SyscallN should not use nargs 2022-04-14 23:37:19 +08:00
gVisor bot
d660df06e8 Fix: make golangci lint support multi GOOS 2022-04-13 17:51:21 +08:00
gVisor bot
d55f77798d chore:adjust sniffer debuglog info 2022-04-13 08:38:55 +08:00
gVisor bot
ebacc76433 Fix: fakeip pool cycle used 2022-04-13 02:19:42 +08:00
gVisor bot
7b22a3bd62 chore: adjust code 2022-04-12 21:39:31 +08:00
gVisor bot
bc33cd5630 Refactor: fakeip pool use netip.Prefix, supports ipv6 range 2022-04-12 20:32:08 +08:00
gVisor bot
895d93b10b chore:merge & adjust code 2022-04-12 20:20:04 +08:00
gVisor bot
89d75e59d1 Refactor: DomainTrie use generics 2022-04-12 18:45:47 +08:00
gVisor bot
b1cf4dc1a2 Refactor: lrucache use generics 2022-04-12 18:44:07 +08:00
gVisor bot
c9a9c49a16 chore: adjust code 2022-04-11 13:23:59 +08:00
gVisor bot
d7d6ed5c70 fix: code logic error 2022-04-10 20:01:35 +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
2b5e14533b chore: reduce a little memory 2022-04-09 22:24:48 +08:00
gVisor bot
0042b5de3b disable process name on android 2022-04-09 17:54:01 +08:00
gVisor bot
0d1e4405da Merge remote-tracking branch 'Plus/with-tun' into Alpha 2022-04-02 20:48:11 +08:00
gVisor bot
ee3f94425e feat: 添加tls sni 嗅探
# Conflicts:
#	tunnel/statistic/tracker.go
#	tunnel/tunnel.go
2022-03-31 21:27:25 +08:00
gVisor bot
1c4e024030 Chore: revert "Feature: add tls SNI sniffing (#68)"
This reverts commit 24ce6622a2.
2022-03-31 21:20:46 +08:00
gVisor bot
016d88e5ea Feature: add tls SNI sniffing (#68) 2022-03-31 19:34:40 +08:00
gVisor bot
05125430dd 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
gVisor bot
67d04485ca Refactor: MainResolver 2022-03-28 00:44:13 +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
17da2d36a5 Chore: regenerate protoc file 2022-03-27 07:12:12 +08:00
gVisor bot
31708f1e74 [Fixed]
弃用过期函数,修复Process Name获取问题
2022-03-26 16:17:44 +08:00
gVisor bot
00b632e032 build test 2022-03-24 23:42:49 +08:00
gVisor bot
a52743bd28 [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
gVisor bot
c38ae18a59 Feature: flush fakeip pool 2022-03-23 01:05:43 +08:00
gVisor bot
9b48fc9d8d Merge branch 'ogn-dev' into with-tun 2022-03-20 21:26:25 +08:00
gVisor bot
29b8076c75 Merge remote-tracking branch 'yaling888/with-tun' into Alpha
# Conflicts:
#	listener/tun/tun_adapter.go
2022-03-19 22:37:51 +08:00
gVisor bot
14a9087538 Merge remote-tracking branch 'clash/dev' into Alpha
# Conflicts:
#	Makefile
2022-03-19 14:53:47 +08:00
gVisor bot
90b7714f2c Chore: fix typo (#2033) 2022-03-19 13:58:51 +08:00
gVisor bot
f18800de42 [内容]
1.autoIptables 开关
2.go.mod 调整
3.processName 调整
4.makefile 调整
5.Tun模块 部分代码调整
2022-03-19 01:11:27 +08:00
gVisor bot
598ec35701 Chore: make fake ip pool start with the third ip 2022-03-18 05:17:47 +08:00
gVisor bot
2e68885dc7 Merge remote-tracking branch 'upstream/Alpha' into Alpha 2022-03-17 23:40:51 +08:00
gVisor bot
b8c9a1bf6d update 2022-03-17 23:24:07 +08:00
gVisor bot
3dc7fb7e27 [Fix] Process name display for Android 2022-03-17 20:31:16 +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
9ef90782ce Chore: use gateway address of fake ip pool as the TUN device address 2022-03-17 07:41:18 +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
446fd99436 Chore: Merge branch 'ogn-dev' into with-tun 2022-03-16 20:16:30 +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
440b54ab22 [Skip CI] 2022-03-15 22:25:33 +08:00
gVisor bot
4784d739ec Fix: test 2022-03-15 03:39:45 +08:00
gVisor bot
4893e20c0b Fix: exclude the broadcast address to fake ip pool 2022-03-15 02:43:40 +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
7a631002c6 Chore: Merge branch 'ogn-dev' into with-tun 2022-03-13 01:15:35 +08:00
gVisor bot
14b581cd8d Chore: move find connection process to tunnel (#2016) 2022-03-12 19:07:53 +08:00
gVisor bot
f99dceee26 Chore: add more details to process resolving (#2017) 2022-03-09 13:41:50 +08:00
gVisor bot
0175b103d0 Chore: refactor TUN 2022-03-09 05:08:35 +08:00
gVisor bot
df6d6496df Merge branch 'ogn-dev' into with-tun 2022-03-09 00:30:38 +08:00
gVisor bot
8ef09e3af8 Fix: should split linux process name with space (#2008) 2022-03-05 18:25:16 +08:00
gVisor bot
36c61d8074 Fix: find process name by UDP network on macOS 2022-02-23 14:04:47 +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
ef86484c70 Chore: use golangci-lint config file 2022-02-19 00:08:51 +08:00
gVisor bot
47359cc80f Fix: routing-mark should effect on root 2022-02-17 14:23:47 +08:00
gVisor bot
f5933b91f1 [build] 2022-02-06 01:59:35 +08:00
gVisor bot
e3a61dbbd3 [FEAT] Add geodata loader mode switch 2022-02-05 00:51:06 +08:00
gVisor bot
c57d92d7c1 [Feat]
support trojan xtls
change geodataloader mode as memconservative
2022-02-04 23:33:36 +08:00
gVisor bot
0aead76a23 [Feat]
update gvisor
Chore: use "-m mark --mark" instead of "-m owner --uid-owner"
2022-02-04 06:11:24 +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
aa9f8bf28e [Feat]
update gvisor
Chore: use "-m mark --mark" instead of "-m owner --uid-owner"
2022-02-04 04:47:40 +08:00
gVisor bot
c6b8705096 Merge remote-tracking branch 'clash/dev' into Feature 2022-02-04 02:38:32 +08:00
gVisor bot
fdb0a3f5a8 Chore: use "-m mark --mark" instead of "-m owner --uid-owner" 2022-02-02 21:59:44 +08:00
gVisor bot
6db466fa80 Merge from remote branch 2022-01-28 19:51:40 +08:00
gVisor bot
300b73da50 Fix: domain trie search 2022-01-26 22:28:13 +08:00
gVisor bot
09ffc53d95 [chore] Replace Country.mmdb with GeoIP.dat 2022-01-26 12:01:14 +08:00
gVisor bot
fd5852ce1c Merge from remote branch 2022-01-05 01:46:37 +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
6fa3953335 Chore: remove forward compatible code 2022-01-02 00:48:57 +08:00
gVisor bot
a7d32607ce Merge from remote branch 2021-12-09 21:38:24 +08:00
gVisor bot
590565f5c1 Feature:Supported Rule-Set 2021-12-02 22:56:17 +08:00
gVisor bot
c5257c5190 [style] 2021-12-01 16:51:31 +08:00
gVisor bot
c7aaec5c78 Revert "[test] rule providers"
This reverts commit 078389f4f6.
2021-11-26 00:57:41 +08:00
gVisor bot
e52c111ae0 [test] rule providers 2021-11-25 23:14:31 +08:00
gVisor bot
d5558aad2c Fix: fakeip pool cycle used 2021-11-23 22:01:49 +08:00
gVisor bot
c32c29b203 fix python310 2021-11-21 15:09:22 +08:00
gVisor bot
e69c54cfcd [test] 2021-11-17 16:03:47 +08:00
gVisor bot
24cadc4b3e Merge from remote branch 2021-11-11 00:54:43 +08:00
gVisor bot
d6454f36bf Fix: bind iface should throw control error 2021-11-10 22:19:11 +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
f0e12a1285 Fix: windows arm7 build 2021-11-08 21:24:39 +08:00
gVisor bot
fa244e6cfd Feature: mark on socket (#1705) 2021-11-08 16:59:48 +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
4bc9011b57 Chore: move "geodata" to package "component" 2021-11-02 18:23:01 +08:00
gVisor bot
4dcb8294ca Chore: move "geodata" to package "component" 2021-10-29 00:52:44 +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
ef87959c2f Chore: script built 2021-10-21 20:22:23 +08:00
gVisor bot
54c22a2fce Feature: add mode script 2021-10-15 14:11:14 +08:00
gVisor bot
2eaf46e6d5 Change: use interface HardwareAddr for dhcp discovery 2021-10-14 22:54:43 +08:00
gVisor bot
d7e31932c7 Feature: persistence fakeip (#1662) 2021-10-11 20:48:58 +08:00
gVisor bot
653f2de2c0 Style: use gofumpt for fmt 2021-10-10 23:44:09 +08:00