Conversation
707e328 to
06580c3
Compare
echSockopt, add h2cechSockopt, add h2c, fix fromMitM
echSockopt, add h2c, fix fromMitMechSockopt, add h2c, fix fromMitM, add padding header
|
@patterniha |
|
if I fix it, there is no need to do anything else. /// for DOH:
/// i add header-padding and chrome-fingerprint to ech-DOH, but it still doesn't have body-padding. |
|
各种乱七八糟的padding喜欢加可以加 不过这个doh并没有那么高的query流量 大多数情况下查一个非常接近一个普通查询 没普通dns问题严重 |
|
@patterniha DoH 时 body-padding 要加的,不然一看返回 body 长度就知道这是在查 ECH |
|
@Fangliding 盲猜 ECH 查询比普通 A/AAAA 查询的响应长 50+ 字节,你用 WireShark 看下 |
|
I haven't read the code related to body-padding yet, |
|
padding的是请求 和返回的响应是什么没关系 还有HTTPS响应反而短一点点 |
|
@Fangliding DoH 的 body-padding 开了时,“it MUST pad the corresponding response”,我们讨论过 #4516 (comment) |
是这样的吗,我想着它随便发个公钥不比发几个 IPv4/v6 长吗, |
|
下面不是还有吗 padding到定长字节 响应长了的话padding的部分会自动缩减 所以跟响应长度没啥关系 哪怕响应是真长了点也还是返回那么多body |
|
@Fangliding 我的意思就是响应没 body-padding 的话,学 GFW 在外面用 WireShark 看应该能看出区别 |
|
都是468 这肯定不会出问题 人家的dns又不是ray里土制的A/AAAA特化 所有记录都是这个行为 |
|
|
|
@patterniha rebase 然后加上 body-padding,我晚点看一下 |
0063c04 to
cecd52e
Compare
cecd52e to
b282921
Compare
|
new changes:
|
9f94030 to
2ede1c0
Compare
|
ready |
echSockopt, add h2c, fix fromMitM, add padding headerechSockopt, add h2c, add padding, fix some issues
echSockopt, add h2c, add padding, fix some issuesechSockopt, add h2c, add padding, fix some issues
|
|
echSockopt, add h2c, add padding, fix some issuesechSockopt and "h2c"; Use chrome-fingerprint and add padding; Fix some issues
echSockopt and "h2c"; Use chrome-fingerprint and add padding; Fix some issuesechSockopt; Use chrome-fingerprint and add padding; Fix some issues
echSockopt; Use chrome-fingerprint and add padding; Fix some issuesechSockopt and "h2c"; Use chrome-fingerprint and add padding; Fix some issues
echSockopt and "h2c"; Use chrome-fingerprint and add padding; Fix some issuesechSockopt; Fix some issues
|
|
|
本来说的是怕填进去的dns服务器不可用才加个force query 这给当bug修了。。 |
|
@patterniha 我忘了说,由于可能有访问不到 DNS 服务器的情况,任何查询失败都应视为失败,没 force-query 的话十分钟后再查 |
This comment was marked as outdated.
This comment was marked as outdated.
|
no need for "none", the cache can be use for 6 hours, so if a DOH fails for a moment, the connection will be made for up to 6 hours and try to update the key. also, ech-DNS is like ip-DNS, so if query fails, connection should not be made.(after 6 hours) |
没force-query也要失败 这不是和这里冲突么 |
|
@Fangliding 我又看了一下,因为他说应只缓存 emptyResponse,我的意思是没 force-query 时任何失败都应该十分钟后再查 总之 force-query 时必须查到再建立连接,没 force-query 时就是允许明文 SNI、十分钟后再查 |
currently we can't use: dialer, built-in-dns, socket-keepalive, happyeyeballs, ... for ech.
in fact, we couldn't set
sockoptfor ech, so i addechSockopt.the format is exactly
streamSettings-sockopt.add
h2cfor ech, so withsockopt-dialerProxythat added in 1, we can use ech for ech-DOH, domain-fronting, and in general we can use our custom-tls.now ech-DOH use chrome-fingerprint
fromMitMserverName should be set before callingApplyECHadd
X-Paddingheader to ech-DOH///