From 9e2ff690257e106eabfc57588a320fd6d0595ff7 Mon Sep 17 00:00:00 2001 From: Kobe Arthur Scofield Date: Thu, 16 Jun 2022 18:50:03 +0800 Subject: [PATCH 1/3] Update VMess MD5 header deprecation --- docs/config/inbounds/vmess.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/config/inbounds/vmess.md b/docs/config/inbounds/vmess.md index 0b51142..60b760c 100644 --- a/docs/config/inbounds/vmess.md +++ b/docs/config/inbounds/vmess.md @@ -148,3 +148,17 @@ level 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值。 ::: tip 拥有服务器 UUID 以及其他连接数据的恶意程序可能根据此机制对服务器发起拒绝服务攻击,受到此类攻击的服务可以通过修改 `proxy/vmess/validator.go` 文件中 `func (v \*TimedUserValidator) BurnTaintFuse(userHash []byte) error` 函数的 `atomic.CompareAndSwapUint32(pair.taintedFuse, 0, 1)` 语句为 `atomic.CompareAndSwapUint32(pair.taintedFuse, 0, 0)` 来解除服务器对此类攻击的安全保护机制。使用 VMessAEAD 认证机制的客户端不受到 VMess MD5 认证信息 玷污机制 的影响。 ::: + +## VMess MD5 认证信息 淘汰机制 + +VMess MD5 认证信息 的淘汰机制已经启动。 + +自 2022 年 1 月 1 日起,服务器端默认禁用对于 MD5 认证信息 的兼容。任何使用 MD5 认证信息的客户端将无法连接到禁用 VMess MD5 认证信息的服务器端。 + +::: tip +在服务器端可以通过设置环境变量 xray.vmess.aead.forced=true 以关闭对于 MD5 认证信息的兼容,或者 xray.vmess.aead.forced=false 以强制开启对于 MD5 认证信息 认证机制的兼容(不受到 2022 年自动禁用机制的影响)。 +::: + +::: tip +如无兼容旧客户端必要,应在服务端配置移除 `"alterID"` 参数。 +::: From 1cc7c80c975fd9da10a9a738929cc250300725e3 Mon Sep 17 00:00:00 2001 From: Kobe Arthur Scofield Date: Thu, 16 Jun 2022 17:51:00 +0800 Subject: [PATCH 2/3] Update routing.md --- docs/config/routing.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/config/routing.md b/docs/config/routing.md index a1c103d..d62dc25 100644 --- a/docs/config/routing.md +++ b/docs/config/routing.md @@ -12,6 +12,7 @@ { "routing": { "domainStrategy": "AsIs", + "domainMatcher": "hybrid", "rules": [], "balancers": [] } @@ -28,6 +29,13 @@ - 解析后的 IP 仅在路由选择时起作用,转发的数据包中依然使用原始域名; - `"IPOnDemand"`:当匹配时碰到任何基于 IP 的规则,将域名立即解析为 IP 进行匹配; +> `domainMatcher`: "hybrid" | "linear" + +域名匹配算法,根据不同的设置使用不同的算法。此处选项会影响所有未单独指定匹配算法的 `RuleObject`。 + +- `"hybrid"`:使用新的域名匹配算法,速度更快且占用更少。默认值。 +- `"linear"`:使用原来的域名匹配算法。 + > `rules`: \[[RuleObject](#ruleobject)\] 对应一个数组,数组中每一项是一个规则。 @@ -48,6 +56,7 @@ ```json { + "domainMatcher": "hybrid", "type": "field", "domain": ["baidu.com", "qq.com", "geosite:cn"], "ip": ["0.0.0.0/8", "10.0.0.0/8", "fc00::/7", "fe80::/10", "geoip:cn"], @@ -68,6 +77,13 @@ 当多个属性同时指定时,这些属性需要**同时**满足,才可以使当前规则生效。 ::: +> `domainMatcher`: "hybrid" | "linear" + +域名匹配算法,根据不同的设置使用不同的算法。此处选项优先级高于 `RoutingObject` 中配置的 `domainMatcher`。 + +- `"hybrid"`:使用新的域名匹配算法,速度更快且占用更少。默认值。 +- `"linear"`:使用原来的域名匹配算法。 + > `type`: "field" 目前只支持`"field"`这一个选项。 From 0ceeaa91c5c0ea8acebb25d25425a3f6cf5945b4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Jun 2022 07:12:15 +0000 Subject: [PATCH 3/3] Upgrade: Bump @types/node from 17.0.31 to 18.0.0 Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 17.0.31 to 18.0.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 26eca4a..2f763e7 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "@types/bootstrap": "^5.1.11", "@types/jquery": "^3.5.14", "@types/mermaid": "^8.2.9", - "@types/node": "^17.0.31", + "@types/node": "^18.0.0", "@vuepress/bundler-vite": "^2.0.0-beta.25", "@vuepress/plugin-back-to-top": "^2.0.0-beta.25", "@vuepress/plugin-debug": "^2.0.0-beta.25", diff --git a/yarn.lock b/yarn.lock index d22e473..404810a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -232,10 +232,10 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node@*", "@types/node@^17.0.31": - version "17.0.31" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.31.tgz#a5bb84ecfa27eec5e1c802c6bbf8139bdb163a5d" - integrity sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q== +"@types/node@*", "@types/node@^18.0.0": + version "18.0.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" + integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== "@types/parse-json@^4.0.0": version "4.0.0"