-
Notifications
You must be signed in to change notification settings - Fork 4.6k
TLS ECH client: echForceQuery
"full" / "half" / "none" (default)
#4973
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
Conversation
this is right:
but this is wrong:
we should use the same httpClient for all domains, otherwise we have a saperate connection for each domain. /// i add three mode |
我改位置的时候复制错了而已 domain是置空的 注释都写了 |
for cache and when err happen: this is only for cache, and not complicated anything, and has no effect on so please change
|
also, config.go line 454 should be change to: |
好好的控制流为了你这个用法改来改去 我真后悔当初说xray可以mitm |
this is wrong! (you use cache for full mode !!!) please change Update function(I mentioned above) also if ttl==0 -> ttl should be defaultTTL. |
what??? so what is different between none and half mode??? |
7d7ba23
to
537c0d3
Compare
@Fangliding |
We agreed on everything except cache. the if c.EchForceQuery != "none" should be change to:
this is only for cache, and the connection is made regardless of type of error /// in half mode, and when DNS fail, we cache all error for 5 minutes, So the problem was not solved for MitM |
这样应该差不多了 给绕晕了 |
@patterniha 你看一下现在的代码 |
@Fangliding 现在的代码,"none" 和 "half" 除了第一次,会等查到 ECH 吗(希望不会) |
this is the correct code, and is not complicated anything, and this is only for cache, and in none and half mode connection is made regardless of type of error. |
会等查 稍微改一下应该就行了 |
none-mode: for connecting as much as possible so in half-mode we should use cache for emptyResponse, otherwise we have query for each request for non-ech domains. so all things ok except: if forceQuery != "none" and if ttl=0 ttl should change to defaultTTL |
那等你弄好 @patterniha 给你 write access 了,如果 @Fangliding 改完你还有要改的,你直接改一下,然后让 @Fangliding 看看 |
这回总都开心了吧 emptyresponse也是成功响应 half下非阻塞重试 |
改了一下 full 遇到空响应一样炸 因为回复可能被污染 |
Ready 了吗,"none" 和 "full" 是我们需要的版本,"half" 是 @patterniha 需要的版本,@patterniha 你看下代码还有没有问题 |
finally, @Fangliding find the best solution, thx. it is OK. |
@Fangliding 可以合了吗 |
test过了应该就没问题 |
"none" 和 "half" 需要把 emptyResponse 原本的 TTL 扔了,遇到它就等五分钟再查 |
none的ttl是说获取成功之后的ttl emptyResponse 无论如何都是300 |
|
defaultTTL is 5 minutes. @Fangliding code is correct. |
那没事了,"half" 的 emptyResponse TTL 也是 300 吧 |
我这么说可能清楚点 |
|
This comment was marked as resolved.
This comment was marked as resolved.
在apply config那里转了 因为怕来自其他地方(特别是test)的空输入 就没在infra控制 |
echForceQuery
"full" / "half" / "none" (default)
@Fangliding 更新一下 ECH 和 tunnel 的文档(直接把 dokodemo-door.html 重命名为 tunnel),完成 ECH 后我把 pre 改为 latest |
@Fangliding 分成两个 commit 吧,先更新 ECH 的 tunnel 入站侧边栏没改,就 tunnel.md 不用带 dokodemo,加一下 |
|
@Fangliding 查看 XTLS/Xray-docs-next@179851f ,有四处需要修改 根配置 |
侧边栏是跟标题的 我觉得侧边栏就这样吧 反正其他的也不是没有括号 |
version 你们弄的时候我没看 我觉得最好挪到 outbound 去 因为share link定义的是单个outbound |
我想的是订阅不止 outbound,还有路由啥的,先加到 root |
那我说错了,是那个页面显示的文字那里没改成 Tunnel,你再看一下 标题改为
Tunnel(隧道),旧称 dokodemo-door(任意门),可以监听数个本地端口,并把所有收到的数据通过 outbound 发送至指定服务器的某个端口,从而达到端口映射的效果。
这句可以删了 |
@Fangliding 对了,原先的 dokodemo.md 需要做一个 link,参考现在的 tcp.md 我指的是这里 https://xtls.github.io/config/inbounds/ 没更新,复制粘贴 |
Well, in silence, I have been granted maintenance permission. FUN:Now, I can close @Fangliding open PRs to get revenge for the times he closed my PRs without reason :) FACT:If it weren't for @Fangliding harshness, I wouldn't be a member of Project X now and I owe a lot of my progress to him.
|
enjoy that, I won't waste my time on your things anymore |
…TLS#4973) XTLS#4971 (comment) (cherry picked from commit 7cbf5b0)
rt