如何使用 privoxy 阻止特定域名和 URL

如何使用 privoxy 阻止特定域名和 URL

我已经在路由器上用 OpenWRT 设置了 privoxy。代理似乎运行良好,因为我可以通过它浏览我的流量。

我尝试在阻止规则中设置仅使用一个域进行阻止的最小示例:

{+block {Too bad my friend...No facebook for you}}
    www.facebook.com

此规则可以在文件下找到tinyblock.action,我将该文件包含在配置中/etc/config/privoxyenable-blocks选项设置为1。但是,当我尝试访问 Facebook 时,代理不会阻止任何东西……

对此事有什么想法吗?

正如@MariusMatutiae 所回答的,https 过滤存在问题。我做了一些研究,privoxy 文档明确表示:

4.15. Privoxy 如何过滤安全(HTTPS)URL?

由于安全 HTTP 连接是您的浏览器和安全站点之间的加密 SSL 会话,并且旨在确保可靠的安全,因此 Privoxy 几乎无能为力,只能将原始的乱码数据不经处理地从一端传递到另一端。

唯一的例外是按主机模式阻止,因为客户端需要告诉 Privoxy 远程服务器的名称,以便 Privoxy 可以建立连接。如果该名称与仅主机模式匹配,则连接将被阻止。

就广告拦截而言,这并没有想象中的那么大的限制,因为广告源通常可以通过主机名来识别,而且出于效率原因,放置在加密页面中的横幅广告通常不加密,这使它们完全暴露在 Privoxy 的广告拦截之下。

在这些情况下,SSL 事务中的“内容 cookie”(嵌入实际 HTML 或 JS 页面内容的 cookie,请参阅 filter{content-cookies})将无法阻止。幸运的是,这种情况似乎并不常见,因为大多数 cookie 都是通过传统方式获得的。

但无论如何,我从未在我的记录中显示 Facebook......

答案1

需要更改代理配置以包含 HTTPS....在浏览器中,通常有一个单独的 HTTPS 代理设置,如果执行透明代理,则需要为 TCP 端口 443 添加额外的 iptables 重定向规则。

如果不执行此配置步骤,您的浏览器将直接连接到 HTTPS 服务器,而不是 Privoxy。

例如,以下是 Firefox 中的设置:

在此处输入图片描述

我想知道“SSL 代理”是否意味着不包括 TLS?当然不是,因为我认为浏览器在连接之前无法知道某个特定站点是 SSL 还是 TLS。

相关内容