Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
eycorsican authored May 6, 2019
1 parent 9501cf2 commit ae2a786
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ Kitsunebi 使用的 Core 扩展了 v2ray-core 的功能,新增根据节点延
## 延迟测试
延迟测试并非 ICMP Ping 或 TCP Ping,所用的方法跟负载均衡中的 latency 策略所用的方法大致一样,实际向 outbound 发送一个代理请求,记录返回非空数据所使用的时间。

延迟测试也相当于可用性或连通性测试,只要能测出延迟,就代表节点可用,如果测不出或超时,则可用性未知。

需要注意的是 `延迟``速度` 并不是同一个概念,比如说同一个服务器上使用 QUIC 的 outbound 和一个使用 TCP 的 outbound,QUIC outbound 一般会有较低的延迟,但实际速度有可能比 TCP 慢。

## 规则集
Expand Down Expand Up @@ -72,10 +74,10 @@ Kitsunebi 使用的 Core 扩展了 v2ray-core 的功能,新增根据节点延
- 兼容的第三方规则集,一般包含拦截广告、统计行为、隐私跟踪相关的规则:https://github.com/ConnersHua/Profiles

## 关于 DNS 处理
自 v1.0.0 起,默认的 DNS 处理方式为 Fake DNS,启用 Fake DNS 后,DNS 请求的流量几乎不会被传进 V2Ray,所以 V2Ray 的 `内置 DNS``DNS outbound` 配置不会起太大作用;当 Fake DNS 处于禁用状态,DNS 请求的流量会以正常 UDP 流量的形式进入 V2Ray,这时你可以使用 inbound tag 在路由中配置路由规则来识别出相应 DNS 流量,从而转发给 `DNS outbound`,从而让 V2Ray 的 `内置 DNS` 来处理(看下面配置示例)。如果使用自定义配置的同时开启 Fake DNS,则需要确保 freedom outbound 中的域名策略为 `非 AsIs`
自 v1.0.0 起,默认的 DNS 处理方式为 Fake DNS,启用 Fake DNS 后,DNS 请求的流量几乎不会被传进 V2Ray,所以 V2Ray 的 `内置 DNS``DNS outbound` 配置不会起太大作用;当 Fake DNS 处于禁用状态,DNS 请求的流量会以正常 UDP 流量的形式进入 V2Ray,这时你可以使用 inbound tag 在路由中配置路由规则来识别出相应 DNS 流量,从而转发给 `DNS outbound`,从而让 V2Ray 的 `内置 DNS` 来处理(看下面配置示例)。<del>如果使用自定义配置的同时开启 Fake DNS,则需要确保 freedom outbound 中的域名策略为 `非 AsIs`</del>

为什么启用了 Fake DNS 后,freedom outbound 一定要用 `非 AsIs` 策略呢?如果你不熟悉 `Fake DNS` 怎么工作,可以看看 [这篇文章](https://medium.com/@TachyonDevel/%E6%BC%AB%E8%B0%88%E5%90%84%E7%A7%8D%E9%BB%91%E7%A7%91%E6%8A%80%E5%BC%8F-dns-%E6%8A%80%E6%9C%AF%E5%9C%A8%E4%BB%A3%E7%90%86%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8-62c50e58cbd0)
启用 `Fake DNS` 后,本地的系统 DNS 缓存是被染污了的,如果 freedom outbound 用了 AsIs,对于那些非代理的域名请求,到了 freedom outbound 的时候,如果用系统 DNS 去解析(`AsIs` 策略),得到的 DNS 结果将会是被染污了不可用的 IP,会导致直连的请求发不出去。为了避免这个问题,方法就是让 freedom outbound 不使用系统的 DNS,也即不使用 `AsIs`,转而使用 V2Ray 的 `内置 DNS``UseIP` 策略)。
<del>为什么启用了 Fake DNS 后,freedom outbound 一定要用 `非 AsIs` 策略呢?如果你不熟悉 `Fake DNS` 怎么工作,可以看看 [这篇文章](https://medium.com/@TachyonDevel/%E6%BC%AB%E8%B0%88%E5%90%84%E7%A7%8D%E9%BB%91%E7%A7%91%E6%8A%80%E5%BC%8F-dns-%E6%8A%80%E6%9C%AF%E5%9C%A8%E4%BB%A3%E7%90%86%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8-62c50e58cbd0)
启用 `Fake DNS` 后,本地的系统 DNS 缓存是被染污了的,如果 freedom outbound 用了 AsIs,对于那些非代理的域名请求,到了 freedom outbound 的时候,如果用系统 DNS 去解析(`AsIs` 策略),得到的 DNS 结果将会是被染污了不可用的 IP,会导致直连的请求发不出去。为了避免这个问题,方法就是让 freedom outbound 不使用系统的 DNS,也即不使用 `AsIs`,转而使用 V2Ray 的 `内置 DNS``UseIP` 策略)。</del>目前看来使用 `AsIs` 也并不影响正常使用,我并没深究原因,意见保留。

Fake DNS 跟 V2Ray 的 `流量探测` 在效果上非常相似,目的同样是要拿到请求的域名,但工作原理上有较大差异:
- Fake DNS
Expand Down

0 comments on commit ae2a786

Please sign in to comment.