Skip to content

Conversation

@caiqy
Copy link
Contributor

@caiqy caiqy commented Aug 26, 2025

二次解析时,如果有新ip,则添加新增ip的路由
但是这里未考虑删除历史ip,因为担心有部分软件缓存dns,依旧使用旧的ip

@itviewer
Copy link
Contributor

这个更改要解决什么问题呢?就是某个域名的解析可能在 VPN 使用过程中变更了?
动态域名隧道本来是不想加的功能,它虽然带来了方便,但影响了效率,带来了 overhead,你的变更使得 overhead 更严重了,首先把关于 dns.Answers 的处理从大括号里移到前面,带来了不必要的 dns 处理,因为只有 Include 或 Exclude 的域名才需要处理,其它域名解析不需要关心才对,这时候就需要冗余代码来换执行效率。

	if utils.InArrayGeneric(cSess.DynamicSplitIncludeDomains, query) {
           // 应该在里面处理  dns.Answers
	} else if utils.InArrayGeneric(cSess.DynamicSplitExcludeDomains, query) {
          // 应该在里面处理  dns.Answers
	}

其次,每次都要处理 可能 的新增 IP,然而这个可能不算是经常遇到的情形,是小概率的特殊情况,为了一个特殊情况,增加了 overhead,如果新增的功能比这个 overhead 重要,那还可以接受,但这个功能感觉不是很值得

@caiqy
Copy link
Contributor Author

caiqy commented Aug 26, 2025

dns.Answers 处理的问题确实是没考虑到。
我遇到的情况是,在外办公的同事需要使用公司开通的国际专线访问国外网站,google、chatgpt这两个网站通过dns解析的ip时常会变,访问过一次,过一会儿可能就打不开了,重连一下anylink又可以了。经过排查,发现是dns变更后路由没更新的原因,改了过后测试了一下,确实解决了。
我不清楚别人用这功能是什么场景,看你觉得有没有必要提交,没必要的话我就撤掉。

@caiqy caiqy closed this Aug 30, 2025
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.

2 participants