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 文件,这里且让它默认着。
再来介绍两类文件:
action 文件
match-all.action
default.action
user.action
filter 文件
default.filter
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.zfanw.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 去除百度推广广告
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
s|</body><script.*</script></html>|</body></html>|g
第一行中,大写的 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 的用法,并且打算自定义一些规则

时间: 2024-09-26 14:43:46

Privoxy简单使用教程的相关文章

图标设计简单的教程:蜕变你普通的图标

文章描述:今天刚好有些时间,所以抽空写了这个简单的教程,希望对大家有所帮助,步骤不是很详细,有看不懂的可以在线提问,我会尽量回答,要是你愿意的话,记得教个作业哦! 天刚好有些时间,所以抽空写了这个简单的教程,希望对大家有所帮助,步骤不是很详细,有看不懂的可以在线提问,我会尽量回答,要是你愿意的话,记得教个作业哦! 最后给个路径截图:

ASP数据库简单操作教程

教程|数据|数据库 ASP数据库简单操作教程 <1 >.数据库连接(用来单独编制连接文件conn.asp) < % Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\bbs\db1\user.mdb") % >

Windows系统下Node.js的简单入门教程

  这篇文章主要介绍了Windows系统下Node.js的简单入门教程,Node.js是用于后端编程的JavaScript框架,需要的朋友可以参考下 随着近日Paypal和Netflix宣告 迁移到Node.js, 服务器端Javascript平台已经证明其自身在企业领域的价值. 这对于Node来说是一小步,对于Javascript而言却是一大跨越啊! 来自.NET, Java, PHP, Ruby on Rails和更多技术领域的程序员, 所有游走于服务器端的编码者都会聚集到这个平台上. 作为

Python的Django中django-userena组件的简单使用教程

  这篇文章主要介绍了Python的Django中django-userena组件的简单使用教程,包括用户登陆和注册等简单功能的实现,需要的朋友可以参考下 利用twitter/bootstrap,项目的基础模板算是顺利搞定.接下来开始处理用户中心. 用户中心主要包括用户登陆.注册以及头像等个人信息维护.此前,用户的注册管理我一直使用django-registration.只是这个APP有些不思进取,09年发布了0.8alpha版后就一直没什么动静.这次决定尝试另外一个用户模块组件django-u

MySQL中对表连接查询的简单优化教程_Mysql

在MySQL中,A LEFT JOIN B join_condition执行过程如下: · 根据表A和A依赖的所有表设置表B. · 根据LEFT JOIN条件中使用的所有表(除了B)设置表A. · LEFT JOIN条件用于确定如何从表B搜索行.(换句话说,不使用WHERE子句中的任何条件). · 可以对所有标准联接进行优化,只是只有从它所依赖的所有表读取的表例外.如果出现循环依赖关系,MySQL提示出现一个错误. · 进行所有标准WHERE优化. · 如果A中有一行匹配WHERE子句,但B中没

正则表达式简介及在C++11中的简单使用教程

正则表达式Regex(regular expression)是一种强大的描述字符序列的工具.在许多语言中都存在着正则表达式,C++11中也将正则表达式纳入了新标准的一部分,不仅如此,它还支持了6种不同的正则表达式的语法,分别是:ECMASCRIPT.basic.extended.awk.grep和egrep.其中ECMASCRIPT是默认的语法,具体使用哪种语法我们可以在构造正则表达式的时候指定. 正则表达式是一种文本模式.正则表达式是强大.便捷.高效的文本处理工具.正则表达式本身,加上如同一门

Photoshop简单绘制教程:制作彩色镂空球体

本教程的球体不需要一步一步画好,只需要用矩形选框工具制作一组有空格的色块.然后用球面化滤镜做出透视效果,再简单上色并添加浮雕效果等即可.最终效果 1.打开photoshop,然后使用矩形工具(U)创建一个矩形,然后开始复制,知道你有7个矩形,并将他们组合成一个网格. [1] [2] [3] [4] [5]  下一页

Photoshop CS5教程:滤镜简单磨皮教程

本教程介绍较为简单的人物磨皮及润色方法.需要用到一个外挂滤镜来美化照片,然后再适当柔化处理,后期再润肤即可.下面就让我们一起来学习吧. 原图 效果图 [1] [2] [3]  下一页

Photoshop简单字体教程:立体的优雅的绿色字体

导言: 在这篇教程中,我们将学习如何用非常简单方法制作一个优雅的绿色字体效果,只要只用图层样式就可以了,当然背景搭配也是很重要的,希望这篇教程对大家有所帮助. 第一步 创建画布,设置远景色为:#abd46e,背景色为:#4aa350.然后转到滤镜>渲染>云彩.(图01) 图01 第二步 然后再到滤镜>艺术效果>绘画涂抹,设置如下图.(图02) 图02 点击确定后,再到滤镜>扭曲>海洋波浪,设置如下.(图03) 图03 [1] [2] [3] [4] [5]  下一页