阻止 Web 浏览器上的特定 URL

阻止 Web 浏览器上的特定 URL

我想在浏览器上屏蔽某些 URL。我不想屏蔽整个网站。例如,我想屏蔽谷歌读者,但不是全部谷歌域。有什么办法可以做到这一点吗?

答案1

答案只会因您使用的操作系统而略有不同。我在 powerpc 上运行 Ubuntu :p,但一般来说,同样的规则也适用于 windows 和 mac。如果这些说明不适合您,那么我将根据您的操作系统调整此答案。目前,这是 Linux 方法。

经过几个小时的搜索,我发现唯一的方法是安装privoxy

安装 privoxy 后,你需要/etc/privoxy/config按照以下方式编辑文件:
1)找到以下内容

#listen-address  localhost:8118

并取消注释此行,使其显示

listen-address  localhost:8118

2)在此配置文件的底部添加以下几行:

actionsfile blacklist.action   
actionsfile whitelist.action   

3)现在您需要以 root 身份在文本编辑器中创建这些操作文件:a)gksu gedit /etc/privoxy/blacklist.action 并添加以下内容

{ +block }
www.apple.com/itunes
twil.tv/category/video
www.url.com/page

在 {+block} 行下添加的任何内容都将被阻止

b)分别创建whitelist.action文件

gksu gedit /etc/privoxy/whitelist.action

并添加行

{ -block }
www.google.com

或者任何你发现想要保护的 privoxy 阻止内容。

保存这三个文件后,您必须重新启动 privoxy:

sudo /etc/init.d/privoxy restart

并且您必须确保您的浏览器或网络配置中的代理设置是正确的,添加 localhost 作为代理并将 8118 添加为端口号即可。

privoxy 的严重和不幸的缺点是它是一个代理,因此任何人要停止它的工作只需关闭它,或使用不同的浏览器。我仍在寻找一种方法将 privoxy 添加到我的路由器或以某种方式运行它,不是作为代理,而是作为端口 80 上的默认代理,然后您可以锁定配置文件,这样就没有人可以更改它们。

这是你能找到的最接近你的问题的答案。

如果一开始它似乎不起作用,请不要忘记清除浏览器的缓存,因为即使被阻止,被阻止的页面仍可能会从缓存中显示出来。

您可能还想关闭此功能:

确保在文件中enforce-blocks 1设置为1/etc/privoxy/config

enforce-blocks 1

否则,当出现页面被阻止警告时,尽管被阻止,它仍然可以选择转到被阻止的页面,并使 privoxy 完全变得毫无意义。

答案2

如果你想要在系统范围内屏蔽某个特定的域,你应该使用 hosts 文件(参见这里)。因此,如果您想阻止 Google Reader,请将以下内容添加到您的 hosts 文件中:

127.0.0.1    reader.google.com

但是,这有限制。虽然你可以阻止子域和域,但不能使用 hosts 文件来阻止子目录(即 www.example.com/subdirectory)。对于 Google Reader,只需导航到 www.google.com/reader 即可绕过阻止。更全面的解决方案可能是使用类似私有网络控制网络访问。

答案3

如果您使用的是 Firefox 或 Google Chrome,则可以使用可自定义的“广告拦截”扩展程序来实现此目的。广告拦截扩展程序通常会附带一系列可拦截的网站,但大多数可自定义的扩展程序会让您删除此默认列表并仅添加您不想要的特定网站。

答案4

解决您的问题最简单的方法是使用浏览器的扩展/脚本。

我用过Chrome 保姆在 Chrome 中完成这个技巧。水蛭阻断剂似乎是 Firefox 的替代品。两者都支持域中的通配符,并且您可以设置阻止 URL 的特定时间段。

相关内容