Skip to content

Wireguard: domainStrategy#777

Merged
yuhan6665 merged 2 commits intomainfrom
wireguard-domainStrategy
Dec 14, 2025
Merged

Wireguard: domainStrategy#777
yuhan6665 merged 2 commits intomainfrom
wireguard-domainStrategy

Conversation

@Meo597
Copy link
Contributor

@Meo597 Meo597 commented Dec 12, 2025

No description provided.

@Meo597
Copy link
Contributor Author

Meo597 commented Dec 12, 2025

我没试过,有人提 issue
看代码猜的

@Fangliding
Copy link
Member

Fangliding commented Dec 12, 2025

代码那个hasv4 v6逻辑好像都是错的

@Fangliding Fangliding closed this Dec 12, 2025
@Meo597
Copy link
Contributor Author

Meo597 commented Dec 13, 2025

我改动的地方符合代码中体现的 has 的逻辑
至于原意想干啥,我猜可能跟 wg 特性有关,没有 v4 网关就不能路由 v4 流量,所以要 hasv4v6 检测

这个 PR 不应被关闭
至少原版莫名其妙放了一个 dns 的 json 毫无意义

另外原版没解释清 domainStrategy 还影响对端(服务器)域名的解析策略

这部分的代码是 @yuhan6665 PR 的,最好由他 review 一下

@RPRX RPRX requested a review from yuhan6665 December 13, 2025 08:34
@RPRX
Copy link
Member

RPRX commented Dec 13, 2025

那让 @yuhan6665 看一下吧

@Meo597 Meo597 reopened this Dec 13, 2025
@Fangliding
Copy link
Member

Fangliding commented Dec 13, 2025

我改动的地方符合代码中体现的 has 的逻辑 至于原意想干啥,我猜可能跟 wg 特性有关,没有 v4 网关就不能路由 v4 流量,所以要 hasv4v6 检测

这个 PR 不应被关闭 至少原版莫名其妙放了一个 dns 的 json 毫无意义

另外原版没解释清 domainStrategy 还影响对端(服务器)域名的解析策略

这部分的代码是 @yuhan6665 PR 的,最好由他 review 一下

首先的首先这里面命名就是混乱的 endpoint 指的是对等端开放的那个公网地址端口 但是代码里config的endpoint是本地用的网关IP(们) 但是在json里写的反而是正确的address 写的是个 config.Endpoint = c.Address 这个就乱了我半天

再然后 从 “endpoints” 中分析出的 hasv4 v6 被用来解析真的 peer endpoint 的地址偏好 这两个是完全八竿子打不着的 甚至还被wireguard 出站 domainstrategy 影响

这很明显就是个buggy参数 所以我不想动文档(我在最开始的回复里稍微点了一下) 如果真的为了写文档去看代码的时候看出来了 多少也先去核心把bug修了(我是放弃wg了) 但是这里甚至写出了 “当 Wireguard 服务器地址为域名、被代理流量目标地址是域名时,控制它们的域名解析策略。” (某种意义上是对的) wg内部网关只有v4 影响外面peer endpoint的解析策略 都没人觉得离谱么

@Meo597
Copy link
Contributor Author

Meo597 commented Dec 13, 2025

这块代码的确是命名有误导性
DeviceConfig.Endpoint 其实是 json 里的 address 没什么好说的,我在文档中说它影响域名解析策略是对的

再然后 从 “endpoints” 中分析出的 hasv4 v6 被用来解析真的 peer endpoint 的地址偏好 这两个是完全八竿子打不着的 甚至还被wireguard 出站 domainstrategy 影响

这个功能是 @yuhan6665 故意写的

顺着一路追过去,它的确影响了 json 里 peers.endpoint 也就是“服务器”的域名解析策略
image
image
XTLS/Xray-core@d60281d

所以我文档应该没写错

@Meo597
Copy link
Contributor Author

Meo597 commented Dec 13, 2025

wg内部网关只有v4 影响外面peer endpoint的解析策略 都没人觉得离谱么

代码的确就是这样写的,估计是不想再多搞个配置字段出来吧
反正是特意设计的,不是凑巧变成这种功能

wg 我压根用不上,review 某老哥 targetStrategy 的时候看到了,恰好又有人提 issue
顺手补个文档

真较真起来应该一个 targetStrategy 一个 domainStrategy 毕竟 wg 没有 sockopt
总之现在文档是如实描述了本就有的功能

@Meo597
Copy link
Contributor Author

Meo597 commented Dec 13, 2025

wg内部网关只有v4 影响外面peer endpoint的解析策略 都没人觉得离谱么

算了还是顺手改一下吧,本来只想补文档的

XTLS/Xray-core#5417

Clarified the constraints of the 'address' option in relation to the 'domainStrategy' for Wireguard.

XTLS/Xray-core#5417
@yuhan6665 yuhan6665 merged commit e538803 into main Dec 14, 2025
2 checks passed
@yuhan6665
Copy link
Member

Thanks for clear things out

@Meo597 Meo597 deleted the wireguard-domainStrategy branch December 14, 2025 06:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants