当前位置:首页 > linux教程 > 列表

Privoxy简单使用教程

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-01 16:08:58 浏览: 评论:0 

Privoxy是一款带过滤功能的代理服务器,针对HTTP、HTTPS协议,经常跟Tor组合使用,通过Privoxy的超级过滤功能,用户从而可以保护隐私、对网页内容进行过滤管理了,下文来给大家简单的介绍Privoxy 使用教程.

目录:

1 Privoxy 用途,2 Privoxy 安装,3 启动 Privoxy,4 配置浏览器,5 设置 Privoxy

我估计八成人第一遍看 Privoxy 手册,只一头雾水.

我此前写过两篇相关教程,介绍 Privoxy 中屏蔽网页广告、视频广告的用法,较为具体,这里概括性地写一篇简明教程,所谓「站得高,看得远」,一旦对 Privoxy 整体结构有把握,自然胸有成竹,做得到有的放矢地查阅手册,而不是一头栽进茫茫的配置项中.

Privoxy 用途#

Privoxy 是一个代理软件,代理 – 简单说,就是进出你电脑的流量的中介。借由它,我们可以控制出去的请求、返回的响应。不必要的请求 – 比如视频广告的地址、图片广告的地址,我们可以直接 block 掉;不必要的响应内容 – 比如页面中的文字广告,我们可以借由 filter 过滤掉,不让其显示.

当然,上面只是 Privoxy 最常见、最普通的用法,Privoxy 还有其它用法,这里且按下.

Privoxy 安装#

Privoxy 支持的平台非常多:

Windows 95 and later versions (98, ME, 2000, XP, Vista, Windows 7 etc.), GNU/Linux (RedHat,SuSE,Debian,Fedora,Gentoo,Slackware and others),Mac OS X (10.4 and upwards on PPC and Intel processors), OS/2,Haiku,DragonFly, FreeBSD, NetBSD, OpenBSD, Solaris, and various other flavors of Unix.

Windows 平台的安装自不用说,下载一个 exe 文件一路点击下一步;Linux 平台多数可以通过仓库安装。

比如 Ubuntu:sudo apt-get install privoxy

又比如 openSUSE:sudo zypper install privoxy

一般也建议使用仓库安装,或者你实在愿意折腾,那就下载源代码自己编译安装.

启动 Privoxy#

安装完 Privoxy 后,需要启动它,因为各平台下的各个系统情况不一,这里就不一一介绍,请看手册说明.

openSUSE 下按 ALT + F1 搜索并打开 Service Manager,查找 privoxy 项,启用并启动它,Privoxy 就会以系统服务的形态运行。

配置浏览器#

大部分时候,我们可能只需要浏览器走 Privoxy 代理,则打开浏览器的代理设置,将 HTTP 与 SSL 代理设置为 127.0.0.1,端口为 8118.

如果想省事,也可以配置系统代理,配置完浏览器后,在浏览器中打开 http://p.p 网址,看是否显示如下内容:

This is Privoxy 3.0.21 on unknown (127.0.0.1),port 8118, enabled

如果有,说明 Privoxy 正常运行且浏览器配置正确.

设置 Privoxy#

以上准备就绪后,可以开始定制我们的 Privoxy 了.

一切从 config 文件说起.

config 文件在各种系统下位置、名称可能并不一样,比如 Windows 系统下,它其实叫 config.txt,在 openSUSE 系统下,它所在的目录为 /etc/privoxy,这个目录是个软链接,指向 /var/lib/privoxy/etc.

但通常,我们并不需要修改 config 文件,这里且让它默认着.

再来介绍两类文件:

  1. action 文件 
  2. match-all.action 
  3. default.action 
  4. user.action 
  5. filter 文件 
  6. default.filter 
  7. user.filter 

match-all.action、default.action、default.filter 这几个文件,建议不要做修改,因为 Privoxy 升级时会覆盖掉。所以把我们的配置内容写到 user.action 及 user.filter 中 – 这也是为什么两个文件叫 user.* 的缘故。

action 文件#

action 文件定义 Privoxy 的动作,比如 {+block}:

{+block{干掉陈三的 blog}}

.zfanw.com

这一句,把我的网址挡掉,凡是 zfanw.com 的请求,均会返回 403 – Privoxy 直接返回一个被 blocked 的提示页面,内容大概如下:

Your request for http://www.phpfensi.com/blog/ was blocked. Block reason: .zfanw.com

分析下代码的意义:

第一行,{+block} 是一个指令,block后的 {} 写的是要 block 的原因,不写也可以,作用类似于注释.

第二行,.zfanw.com,这是一个上述指令要应用的网址.分两个部分.一个 domain.一个 path,domain 部分支持部分通配符,比如 *、?、[0-9]、[a-z];path 部分是指第一个 / 后的部分网址,支持 POSIX 1003.2 正则表达式,比 domain 部分灵活。具体见手册。

filter 文件#

filter 文件定义过滤响应的规则,比如:

FILTER: blockBaiduAd 去除百度推广广告

  1. s|</head>|<style type=text/css>#content_left>table,[id*='00'],#ec_im_container,#ec_im_container+div,.ad-block,.EC_zwd_table{display: none !important;}</style></head>|g 
  2. s|</body><script.*</script></html>|</body></html>|g  //phpfensi.com

第一行中,大写的 FILTER 表示定义一个过滤规则,blockBaiduAd 表示规则名称,再后面是说明.

第二行及第三行,是对返回的页面进行修改,比如你用过 Vi/Vim 或 sed 等工具,应该对 s 这个替换命令很熟悉,简单说,上面的语句就是把页面内的代码作过更换,这样一些文字广告就不在浏览器中显示了.

但是,user.filter 中只是定义过滤的规则,规则的应用,还是要在 action 文件中,所以以上规则写到 user.action 中,如下:

# 清理百度推广广告

{+filter{blockBaiduAd}}

.baidu.com

我想看过 action 文件配置结构的话,就已经知道这一句是什么意思:# 后是一个注释,filter 是指令,要求执行 blockBaiduAd 这条规则,.baidu.com 是应用到的网址。

在整个使用过程中,要多多借助 Privoxy 提供的工具,比如 http://config.privoxy.org/show-url-info,可以查看你定义的规则是否对某一条 URL 生效。

最后,如果已经看明白 Privoxy 的用法,并且打算自定义一些规则.

Tags: Privoxy教程 Privoxy使用

分享到: