Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[提议] 引入 geolocation-cn 域名校验功能 #54

Closed
IceCodeNew opened this issue Jul 23, 2020 · 15 comments
Closed

[提议] 引入 geolocation-cn 域名校验功能 #54

IceCodeNew opened this issue Jul 23, 2020 · 15 comments
Labels
enhancement New feature or request

Comments

@IceCodeNew
Copy link
Collaborator

我昨天实现了将 geolocation-cn 完全展开,将 include 的各级子分类数据写回 geolocation-cn 文件的代码。
我想先请教大家的意见,看这样生成的域名列表是否要发布出来(考虑到其他人也许可以拿去转 PAC 或者别的什么用途),还是说仅作为定时校验时的中间文件,不发布。

然后有了共同的决定以后,还需要有人实现一下调用现有的域名备案信息 API,验证展开后的 geolocation-cn 文件中,是否包含查询不到备案信息的域名。(然后一种可能的处理方式是产生提示,让维护者审阅,决定是否删除)

PR #53 里就可以看到之前 geolocation-cn 是错误包含了不该包含的域名的,我觉得这种事不能完全依赖人工检验,自动化检验势在必行。

@IceCodeNew
Copy link
Collaborator Author

或者不查备案信息,去分析域名的 NS 服务器位置和解析到的 IP 结果也行,https://github.com/felixonmars/dnsmasq-china-list 好像就是这么做的。

@EpLiar
Copy link
Member

EpLiar commented Jul 23, 2020

有很多域名是 IP 在美国,加上 www 泛域名后地址在中国,所以直接判断域名地理位置容易给出错误结论。

@EpLiar
Copy link
Member

EpLiar commented Jul 23, 2020

也有一种情况,已经备案的网站没有一个服务器在中国,那么该不该放到 geolocation-cn 就需要讨论。

@IceCodeNew
Copy link
Collaborator Author

也有一种情况,已经备案的网站没有一个服务器在中国,那么该不该放到 geolocation-cn 就需要讨论。

我从来不奉陪备案这种玩意儿所以不是非常清楚,但就我所知一旦服务器不在国内了备案会立刻失效(这一点我是看 v2ex 站的经历知道的),所以我觉得你说的这种情况可能不存在。

@IceCodeNew
Copy link
Collaborator Author

有很多域名是 IP 在美国,加上 www 泛域名后地址在中国,所以直接判断域名地理位置容易给出错误结论。

这就是为什么我觉得查备案信息是更好的办法。首先我觉得它实现起来比判断 NS 和 geoip 更简单,而且 geolocation-cn 本意就是只包含接入中国服务器的网站,这种情况下通过域名访问的一定是要先备案的。

@EpLiar
Copy link
Member

EpLiar commented Jul 24, 2020

这就是为什么我觉得查备案信息是更好的办法。首先我觉得它实现起来比判断 NS 和 geoip 更简单,而且 geolocation-cn 本意就是只包含接入中国服务器的网站,这种情况下通过域名访问的一定是要先备案的。

查备案的网站比直连 GitHub 都慢,除非有第三方可信的查询网站。

@IceCodeNew
Copy link
Collaborator Author

这就是为什么我觉得查备案信息是更好的办法。首先我觉得它实现起来比判断 NS 和 geoip 更简单,而且 geolocation-cn 本意就是只包含接入中国服务器的网站,这种情况下通过域名访问的一定是要先备案的。

查备案的网站比直连 GitHub 都慢,除非有第三方可信的查询网站。

我看了下完全展开的域名,2k 行都不到,往一个略遥远的未来做估计——对 2400 条域名做备案信息查询,一天 24 小时,每 60 分钟里能查到 100 条域名的备案信息就行了
(更何况我们并不需要在 24 小时甚至更短的时间里查完,域名备案是个相当长时间有效的属性,合理安排好时间每天验证一部分也可以,保持在对 API 合理使用的范围内)

@EpLiar
Copy link
Member

EpLiar commented Jul 24, 2020

我看了下完全展开的域名,2k 行都不到,往一个略遥远的未来做估计——对 2400 条域名做备案信息查询,一天 24 小时,每 60 分钟里能查到 100 条域名的备案信息就行了

我个人希望这个 repo 纯粹一些,也就是单纯的收集域名,检测功能不要或只在 Action 里。而且即使是加入了检测的功能,也得等待其他成员去 review。

@IceCodeNew
Copy link
Collaborator Author

我看了下完全展开的域名,2k 行都不到,往一个略遥远的未来做估计——对 2400 条域名做备案信息查询,一天 24 小时,每 60 分钟里能查到 100 条域名的备案信息就行了

我个人希望这个 repo 纯粹一些,也就是单纯的收集域名,检测功能不要或只在 Action 里。而且即使是加入了检测的功能,也得等待其他成员去 review。

没有问题,我的打算是另起一个分支,在那个分支里自动剔除域名后,用 GitHub API 发起 PR,这样一定要经过成员 review,一个域名才会被认定失效并真正被移除。

@EpLiar
Copy link
Member

EpLiar commented Jul 24, 2020

没有问题,我的打算是另起一个分支,在那个分支里自动剔除域名后,用 GitHub API 发起 PR,这样一定要经过成员 review,一个域名才会被认定失效并真正被移除。

我不是很明白前者的自动剔除和后者的移除。另外按照现在的活跃程度,可以暂时 delay。

@IceCodeNew
Copy link
Collaborator Author

IceCodeNew commented Jul 24, 2020

没有问题,我的打算是另起一个分支,在那个分支里自动剔除域名后,用 GitHub API 发起 PR,这样一定要经过成员 review,一个域名才会被认定失效并真正被移除。

我不是很明白前者的自动剔除和后者的移除。另外按照现在的活跃程度,可以暂时 delay。

哦,自动剔除是说在新的分支里 geolocation-cn 文件是由域名校验程序自动更新的。
然后这个被修改后的 geolocation-cn 文件被拿去提了 PR,经过成员 review,合并入 master 分支以后,不就是从 master 分支真正移除这个域名了吗。

@EpLiar
Copy link
Member

EpLiar commented Jul 24, 2020

这个被修改后的 geolocation-cn 文件被拿去提了 PR,经过成员 review,合并入 master 分支以后,不就是从 master 分支真正移除这个域名了吗。

没有问题,我一开始理解成了检测贡献者的 PR。

@Robot-DaneelOlivaw
Copy link
Contributor

或者不查备案信息,去分析域名的 NS 服务器位置和解析到的 IP 结果也行,https://github.com/felixonmars/dnsmasq-china-list 好像就是这么做的。

我认为这种方法比查备案会更加精准。但都可以在分支中试试,看看哪种更优。

@EpLiar
Copy link
Member

EpLiar commented Jul 24, 2020

或者不查备案信息,去分析域名的 NS 服务器位置和解析到的 IP 结果也行,https://github.com/felixonmars/dnsmasq-china-list 好像就是这么做的。

我认为这种方法比查备案会更加精准。但都可以在分支中试试,看看哪种更优。

这就要看加入列表的标准了。在以往我加入 geo-cn 列表一定要符合两点,备案和 IP。所以不查备案通过 NS 和 IP 要看大家是否同意。

@Loyalsoldier
Copy link
Collaborator

You can check domains in cn list now: https://github.com/v2fly/domain-list-community/tree/release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants