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

Create lenovo #158

Closed
wants to merge 1 commit into from
Closed

Create lenovo #158

wants to merge 1 commit into from

Conversation

EpLiar
Copy link
Member

@EpLiar EpLiar commented Aug 18, 2020

先不要合并,目前还有两件事未完成,我需要大家的意见。

对于没有中国接入点但拥有 ICP 备案的中国企业 / 组织的域名,如何处理

当前六个域名中,除了 lefile.cnlenovovip.com 意外,其他的解析完全没有中国 IP,以 lenovo.com 为例:

image

甚至是 lenovo.com.cn

image

这一情况同样发生在大疆无人机

属于组织但无法访问 / 不在使用的域名,是否包含?

例如 联想.中国联想.cn 等域名的 whois 都表明它们属于 lenovo 公司,但没有迹象表明正在使用,也有可能仅仅是注册以防抢注。

因此需要大家的意见,我会在创建 PR 后更改为 draft

吐槽一波美帝良心想

@EpLiar EpLiar marked this pull request as draft August 18, 2020 00:55
@EpLiar
Copy link
Member Author

EpLiar commented Aug 18, 2020

我暂时没有加上 @cn,也没有包含到 geolocation 里,等待讨论结果后修改

@Robot-DaneelOlivaw
Copy link
Contributor

Robot-DaneelOlivaw commented Aug 18, 2020

属于中国大陆境外企业/组织但仅提供境内接入点的域名目前是加入geolocation-!cn并标记@cn,我想也可以同理将完全相反的域名添加至geolocation-cn并标记@!cn

#28 有相关讨论,但尚未达成共识。

属于组织但无法访问/不在使用的域名应该包含。包含对用户日常访问不会造成影响,但若日后这些域名投入使用,则无需再次添加。

@IceCodeNew
Copy link
Collaborator

对于没有中国接入点但拥有 ICP 备案的中国企业 / 组织的域名,如何处理

我的建议是不要包含,v2ray 用户中有一个可能流传很广泛的配置是

    "servers": [
      {
        "address": "https+local://doh.pub/dns-query",
        "domains": [
          "geosite:cn"
        ],
        "expectIPs": [
          "geoip:cn"
        ]
      },

如果真的把解析下来没有国内 IP 的域名添加到 geolocation-cn 里面,可能会造成无法访问的严重后果。
楼上有建议加 @!cn 标签,但我觉得这不是非常好的解决方案,因为只有自定义配置,确保路由配置里有一条匹配 @!cn 的路由放在 geosite:cn 上方时,如此配置才会起作用。

属于组织但无法访问 / 不在使用的域名,是否包含?

我觉得只要解析有结果,就可以包含。没有结果的,包含进去也不起作用,反而导致 v2ray 程序在使用 geosite.dat 文件时内存占用升高。

@IceCodeNew
Copy link
Collaborator

BTW 我觉得现在这样根据顶级域测试的结果做判断还不是很完善,有的站可能顶级域并没有设置 DNS 记录,或者常见的一级域名(如 www.)和顶级域之间并不是 CNAME 关系。
最好是用 amass 之类的工具先挖出子域,然后挑常见的做测试。
为了方便其他人审查,amass 的结果和子域的全球测试结果都可以放出来供参考。

@Robot-DaneelOlivaw
Copy link
Contributor

v2ray 用户中有一个可能流传很广泛的配置是

    "servers": [
      {
        "address": "https+local://doh.pub/dns-query",
        "domains": [
          "geosite:cn"
        ],
        "expectIPs": [
          "geoip:cn"
        ]
      },

如果真的把解析下来没有国内 IP 的域名添加到 geolocation-cn 里面,可能会造成无法访问的严重后果。

据我的了解,这段配置的目的是模仿shadowsocks/ChinaDNS,防止DNS污染,并对DNS请求进行分流以获取较优结果。

ChinaDNS automatically queries local DNS servers to resolve Chinese domains and queries foreign DNS servers to resolve foreign domains. It is smart enough to work only with a Chinese IP range file, which doesn't change often.

完整的配置应该在这段之前或之后额外添加远程DNS,如https://1.1.1.1/dns-query,DNS遭到污染时才能进而选取远程DNS。既然存在备用的DNS,就不用担心获取不到IP、无法访问了。

楼上有建议加 @!cn 标签,但我觉得这不是非常好的解决方案,因为只有自定义配置,确保路由配置里有一条匹配 @!cn 的路由放在 geosite:cn 上方时,如此配置才会起作用。

确实添加标签的方法需要用户对本项目有足够了解,但考虑到需求是对小批量域名的访问进行加速,或许这个要求不太过分。

@IceCodeNew
Copy link
Collaborator

IceCodeNew commented Aug 18, 2020

完整的配置应该在这段之前或之后额外添加远程DNS,如https://1.1.1.1/dns-query,DNS遭到污染时才能进而选取远程DNS。既然存在备用的DNS,就不用担心获取不到IP、无法访问了。

我觉得你理解错我说的范围了,我说的会造成无法访问,指的是因为这个域名在交由本地 v2ray 解析后返回了空的结果,导致解析失败,所以无法访问。
因此我这里说的是被我们分类到 geolocation-cn 的域名,而不是那些受到 GFW 干扰,以至于会遇到 DNS 污染的域名。

我这里举个例子好了,假如 Facebook 拿到了国内的备案,但是一时半会儿暂时没有国内的接入点部署下去,这时候我们按照你的建议把 Facebook 放进 geolocation-cn 分类——
最后用户打不开 facebook 的原因,不是因为直连遭到了 GFW 的阻断,而是倒在了第一步解析域名上,这时候流量都还没从你机器上发出去呢。
而且这个解析域名失败也不是因为受到了 DNS 污染。只要是这个域名先被包含 "expectIPs": ["geoip:cn"] 的项匹配到了,那么这个域名返回空结果以后也不会再被其他的 DNS server 查询一遍,这才是我担心的问题。

说到底 geolocation-cn 的定义一直都没有怎么变过,连接点不在国内这一条就违背了这个类名,何必非要硬塞进去呢?
Issue #91 的讨论里曾提议过 geolocation-global 这样的分类,我觉得完全可以把这些光有备案但是没有中国接入点的域名,当作是对境外提供主要服务的域名来处理(不然为什么人家那么麻烦的备案都走过一遍了但是偏偏不把服务器放在国内?)。

@Robot-DaneelOlivaw
Copy link
Contributor

Robot-DaneelOlivaw commented Aug 18, 2020

而且这个解析域名失败也不是因为受到了 DNS 污染。只要是这个域名先被包含 "expectIPs": ["geoip:cn"] 的项匹配到了,那么这个域名返回空结果以后也不会再被其他的 DNS server 查询一遍,这才是我担心的问题。

了解了,所以空结果是会匹配到"expectIPs": ["geoip:cn"],我以为不会。这样的话确实会造成问题,而且似乎是个需要解决的缺陷。

我的标准是依据列表实体位置,其次才是服务器位置。不过既然如此,不加入geolocation-cn,交由用户或DNS决定我也没有意见。

P.S. www.lenovo.com.cn的解析结果在中国大陆。

@IceCodeNew
Copy link
Collaborator

P.S. www.lenovo.com.cn的解析结果在中国大陆。

之后的 PR 强制要求 amass 打出子域或许刻不容缓。

@EpLiar
Copy link
Member Author

EpLiar commented Aug 18, 2020

之后的 PR 强制要求 amass 打出子域或许刻不容缓。

刻不容缓就算了,反正 PR 提交者不急 reviewer 就无所谓。审的过程中有问题直接问。

@Loyalsoldier
Copy link
Collaborator

Loyalsoldier commented Aug 18, 2020

I suggest leave it to the default or fallback DNS that user defined.

@EpLiar
Copy link
Member Author

EpLiar commented Aug 18, 2020

I suggest leave it to the default or fallback DNS that user defined.

So what is your decision? cn or !cn ?

@Loyalsoldier
Copy link
Collaborator

我的看法是不要把这些有争议的域名添加到项目里来。

普通用户只会关心被屏蔽的域名到底能不能打开,同时通常会使用大陆的公共 DNS 进行解析,所以不包含属于大陆公司的“表现奇怪”的域名,反而会降低本项目的复杂度。而且,通常解析出国外 IP 的话,都会走代理,并不影响使用。

总体而言,对于本项目,我觉得弱化 geolocation-cn 的建设是一件既降低本项目复杂度,又无副作用的事情。

@EpLiar EpLiar closed this Aug 18, 2020
@IceCodeNew
Copy link
Collaborator

我的看法是不要把这些有争议的域名添加到项目里来。

普通用户只会关心被屏蔽的域名到底能不能打开,同时通常会使用大陆的公共 DNS 进行解析,所以不包含属于大陆公司的“表现奇怪”的域名,反而会降低本项目的复杂度。而且,通常解析出国外 IP 的话,都会走代理,并不影响使用。

总体而言,对于本项目,我觉得弱化 geolocation-cn 的建设是一件既降低本项目复杂度,又无副作用的事情。

Agreed.

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