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"` 参数。 +::: 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"`这一个选项。 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"