Open SukkaW opened 5 years ago
使用 KoolClash 后 YouTube 不能播放属于已知、且可以稳定复现的问题。这个问题由上游 Clash 导致、与 KoolClash 无关。关于「切换节点后中断已建立的 TCP 连接」的相关提案已经向 Clash 开发者提出。如果你需要解决这个问题,请要求 Clash 开发者实现连接管理器等特性,或由你亲自向 Clash 提交 Pull Request 实现相关特性。
更换节点后,IP 不会实时更新。
在更换节点后,Clash 不会终止任何现有的 TCP 连接,因此已经建立的 TCP 连接将会继续使用之前的节点。现代浏览器为了提升性能,都会复用并维持 TCP 连接,在刷新 www.youtube.com 时,与 www.youtube.com 建立的 TCP 连接一般不会重新建立,因此即使更换节点后,www.youtube.com 仍然在通过之前的节点;但是由于不同的视频、CDN 域名一般不同,因此会重新建立 TCP 连接,此时加载视频使用的是更换后的节点。由于请求 www.youtube.com 以及主站其它 API 和请求视频 CDN 的节点不同、IP 不同,触发了 YouTube 视频 CDN 的防盗链机制,阻止了视频的播放。这一防盗链机制可能由托管 Google 全球边缘节点的运营商部署、并非 Google / YouTube 的行为,因此在 YouTube 网页或客户端中可能不会出现防盗链相关提示。
www.youtube.com
url-test
load-balance
type
修复有望么?
36
使用 KoolClash 后 YouTube 不能播放属于已知、且可以稳定复现的问题。这个问题由上游 Clash 导致、与 KoolClash 无关。关于「切换节点后中断已建立的 TCP 连接」的相关提案已经向 Clash 开发者提出。如果你需要解决这个问题,请要求 Clash 开发者实现连接管理器等特性,或由你亲自向 Clash 提交 Pull Request 实现相关特性。
TL; DR
更换节点后,IP 不会实时更新。
复现步骤
问题分析
在更换节点后,Clash 不会终止任何现有的 TCP 连接,因此已经建立的 TCP 连接将会继续使用之前的节点。现代浏览器为了提升性能,都会复用并维持 TCP 连接,在刷新
www.youtube.com
时,与www.youtube.com
建立的 TCP 连接一般不会重新建立,因此即使更换节点后,www.youtube.com
仍然在通过之前的节点;但是由于不同的视频、CDN 域名一般不同,因此会重新建立 TCP 连接,此时加载视频使用的是更换后的节点。由于请求www.youtube.com
以及主站其它 API 和请求视频 CDN 的节点不同、IP 不同,触发了 YouTube 视频 CDN 的防盗链机制,阻止了视频的播放。这一防盗链机制可能由托管 Google 全球边缘节点的运营商部署、并非 Google / YouTube 的行为,因此在 YouTube 网页或客户端中可能不会出现防盗链相关提示。解决方案
url-test
,load-balance
等会引发节点更改的type