EasyList 遭遇了一系列极不寻常的流量,这对社区运行的项目来说是一个问题。
一个帖子(在新标签中打开)AdGuard 是一个使用自己的过滤器列表 的广告拦截器,它声称,由于 99.9% 的广告拦截器都使用 EasyList,因此此类工具的大多数用户也会受到影响。
过滤器列表是弹出广告、跟踪器等的综合列表,广告拦截器利用这些列表来确定要拦截的内容和过滤的内容。EasyList 的变体是托管在其域中的简单文本文件,广告拦截器会定期抓取该文件以进行更新。然而,据称,由于本月早些时候开始的每日流量增加了 10-20 倍,下载它需要超过 5 分钟。
再打
AdGuard 在其帖子中表示,它去年也面临同样的问题,并假设它源于印度 Android 设备上的某些浏览应用程序。这些应用程序中的一个明显设计缺陷意味着它们每次启动时都试图访问 AdGuard 的过滤器列表(在 Android 设备上更常见),即使在后台运行时也是如此。
AdGuard 的解决方案是阻止来自这些浏览器的流量,但他们声称每月仍会发出超过 100TB 的拒绝访问页面。
不支持 EasyList
AdGuard 声称 EasyList 的问题更严重,但是,与 AdGuard 不同的是,它无法从其托管站点CloudFlare获得任何支持来阻止这些请求。AdGuard 认为这是因为它没有企业帐户,这是该服务可用的最高订阅级别。
当 EasyList 联系 CloudFlare 支持时,其电子邮件回复称流量增加触发了其分布式拒绝服务 ( DDoS ) 缓解措施,该公司声称 CloudFlare 的安全协议智能地过滤大量流量并将其分解为可管理的部分以防止拒绝服务。
该电子邮件还指出,EasyList 实际上违反了其服务条款 (ToS),因为该公司不允许请求文本文件。该公司建议 EasyList 必须将文件移动到另一个子域以使其用户可用。
结果是 EasyList 受到限制,没有广告拦截器可以直接访问其过滤器列表。AdGuard 认为 EasyList 唯一的选择是更改其域名,因为只要仍在使用原始的 easylist.to,损坏的浏览器应用程序就会继续触发 DDoS。但是,它警告说,这不是一个简单的过程,并且会对目前使用 EasyList 的预期数千个开源项目产生连锁反应。
前进的道路
AdGuard 声明所有过滤器列表都托管在其自己的域中,因此用户不应受到影响。
其他软件的用户也可能没问题,因为他们可能已经切换到使用镜像域来访问 EasyList。然而,AdGuard 警告说,有问题的浏览器最终也可能会从这些浏览器中拉出,并再次重复问题。
此前,AdGuard 曾尝试联系其中一款错误浏览器的开发人员,让他们了解该问题,但声称这样做后问题实际上变得更糟——并指出可能存在更多错误浏览器。
领取专属 10元无门槛券
私享最新 技术干货