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

Additions to domainExcluded #446

Merged
merged 2 commits into from
Jan 3, 2024

Conversation

chika0801
Copy link
Contributor

@chika0801 chika0801 commented Jan 2, 2024

补充内容来自下面链接:

RPRX:sniffing 会导致彩六语音连不上。。。可以写进文档

XTLS/Xray-core#250 (comment)

XTLS/Xray-core#364 (comment)

xiaorouji/openwrt-passwall2#8 (comment)

xiaorouji/openwrt-passwall#2885

@Fangliding
Copy link
Member

这种应用级别的tip写在技术文档里不太好吧 更适合在各种教程出现 而且实在有点小偏 更何况这个又有点太大段了 多少折起来 重置目标地址带来的问题还有比方说会让tor不能用或者里面套的reality无法连接 只能说看使用者自己的理解看开不开吧 维持一个exclude列表也不是个事

@chika0801
Copy link
Contributor Author

chika0801 commented Jan 2, 2024

这种应用级别的tip写在技术文档里不太好吧 更适合在各种教程出现 而且实在有点小偏 更何况这个又有点太大段了 多少折起来 重置目标地址带来的问题还有比方说会让tor不能用或者里面套的reality无法连接 只能说看使用者自己的理解看开不开吧 维持一个exclude列表也不是个事

我是觉得写上好一些。有关tor不能用或者里面套的reality无法连接你来补充下好吗?我不熟悉这方面。

我想起这个是因为在给ssrp加它。passwall我是知道一直有。就又查到以前的ISS了。想起来补充下文档。

@yuhan6665
Copy link
Member

说实话我也不推荐这个 domainExcluded 配置 要不精简一下
有需要的人应该用 routeonly 或者关掉 sniffing

@chika0801
Copy link
Contributor Author

里面套的reality无法连接

@Fangliding 详细说下这是什么情况?

@Fangliding
Copy link
Member

里面套的reality无法连接

@Fangliding 详细说下这是什么情况?

老生常谈的问题了 假如一个网址 google.com 被代理 它有两个CDN 1.1.1.1和2.2.2.2 客户端解析出1.1.1.1之后发送一个请求 SNI为 google.com 请求目的地为1.1.1.1 假如你 "destOverride": ["http", "tls"] 这样写 那么这个请求的目的地将会被重写为从SNI里嗅探出来的 google.com 服务器拿到之后自己再解析 可能解析去了2.2.2.2 但是它们都是谷歌cdn所以你请求哪个IP都是没问题的 无伤大雅
但是拿reality举栗 reality属于是装成谷歌的CDN 本来是送去你的服务器3.3.3.3的 服务器可以认出reality连接并进入代理流程 但是如果目标被重写最后送去1.1.1.1或者2.2.2.2 那是谷歌官方的CDN 是不认识你的请求的 然后就会连不上 上述说的是外面一个vmess里面套一层reality这种情况 应该没人这样用 至于tor或者其他开了destoverride就会用不了的服务原理是一样的 人家本来写好的送去哪个IP结果给你覆写成SNI里写的地址了 然后直接寄
正确的处理方式同楼上 "routeOnly": true 就行了 这样xray就只会去嗅探地址路由而不会重置
yysy我觉得ray里逻辑确实有问题 应该是想destoverrid就单独开 默认不重置地址的 现在是覆盖地址是开了嗅探就默认重置地址 还得单独关掉

@yuhan6665 yuhan6665 merged commit d95dbe2 into XTLS:main Jan 3, 2024
1 check passed
@yuhan6665
Copy link
Member

感谢两位!
风扇怎么啥都懂 越来越像R佬小号

@t11t22
Copy link

t11t22 commented Jan 7, 2024

说实话我也不推荐这个 domainExcluded 配置 要不精简一下 有需要的人应该用 routeonly 或者关掉 sniffing

我觉得最佳做法是默认使用 routeOnly,然后维护一个白名单列表,始终发送域名,为什么呢?
很多机器流媒体解锁效果不佳,需要搭配 DNS 解锁服务,许多机场也是用的 DNS 解锁,如果开启 routeOnly 或者关掉 Sniffing,DNS 解锁就完全没法使用了。白名单列表只需要包含常见的流媒体域名就行 geosite:netflix geosite:disney geosite:hbo geosite:hulu ...... 以及特定服务 geosite:openai ......

维护一个白名单列表要比维护一个排除列表更省心,这样可以放心开启 routeOnly,还不影响 DNS 解锁,还不会因为这些奇奇怪怪的域名导致一些奇怪的问题。

@chika0801
Copy link
Contributor Author

chika0801 commented Jan 7, 2024

方案:

  1. 如果不考虑客服端发到服务端的请求,是查询后的IP,还是在客户端已经被嗅探还原成的域名,在服务端开sniff,不开routeonly。确保接收到的都是域名。方便分流转发NF到其它服务端。

  2. 如果服务端是普通机,你又不想用嗅探去还原接收到的IP请求中的域名,但是又想把NF的IP请求(NF域名)转到你另外解锁NF的落地机。服务端用开sniff+开routeonly,在落地机开sniff+关routeonly来还原得到NF域名。

这类到底嗅探干了什么,用法,就像DNS泄露一样。懂的人不想多讲,才入门的人又喜欢问。

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