用 squid 替换网络流量内容

用 squid 替换网络流量内容

我正在使用 squid 来阻止某些类型的流量以减少带宽,到目前为止我已经阻止了广告、flash 应用程序、视频流和其他类似的东西。当网站或广告被阻止时,就会显示我的自定义错误页面。

然而,当我停止流媒体播放时,播放器就死机了,只剩下一个空洞的视频播放器,有没有办法使用 squid(不想安装多个软件包)让网络视频播放器显示自定义错误?

附注:当出现特定广告时,显然我的自定义页面会根据广告的前一帧进行调整,有没有一种简单的方法可以将其删除而不是替换,例如谷歌浏览器上的广告拦截器会将其删除(如果不行,我对替换很满意,只是希望它对我的用户来说看起来不错)

谢谢,我期待一些有用的答复。

答案1

您可能需要在 HTML 中折叠节点。当 AdBlock 可以访问 DOM 并能够删除/隐藏将显示广告的 HTML 节点时,这可以在浏览器级别轻松完成。为了在 Squid 中执行此操作,您需要使用外部 ICAP 服务器来处理 HTML 页面的内容并插入/删除/隐藏 HTML 节点。请注意,如果节点是使用现场或外部 JScript 代码动态构建的,则并非所有节点都可以隐藏。其中一个 ICAP 服务器是 qlproxy。

相关内容