Смотреть в Telegram
REJECT-NO-DROP 改进 接到部分用户回报,在用于去广告等用途时,如果 DNS 返回 NXDOMAIN/No Record 可能导致应用等待,而返回 127.0.0.1 会使得应用立刻认为请求失败。 出现该区别的原因,是因为应用开发者对于不同错误的处理逻辑不同。然而在 DNS 中返回 127.0.0.1 进行屏蔽,是一项非常不标准的行为,本质是将请求导向了回环网络 lo0,由本地系统产生一个 TCP refused 响应拒绝请求。 1. 如果本地系统上正好监听了访问的端口,会导致对应监听服务收到该请求,产生非预期结果。 2. 如果被屏蔽的应用重试逻辑非常暴力,由于 connect 127.0.0.1 会被系统极快的拒绝,可能导致 CPU 占用 100%。(即手机发热) 为此 Surge 提供了一个全新的解决方案,对于使用 REJECT-NO-DROP 的请求,Surge DNS 将固定返回特殊 IP 地址 198.18.0.244。对于该地址的所有 TCP 请求,将由 Surge VIF 产生 TCP refused,同时当发现往该地址的 TCP SYN 极高时,进行丢包处理以避免引发高 CPU 占用。 这种处理方式既保留了返回 127.0.0.1 的优点,同时消灭了可能导致的副作用。如果在使用 REJECT 时,出现了 app 等待过长的问题,可尝试使用 REJECT-NO-DROP。
Telegram Center
Telegram Center
Канал