Proxomitron入门级应用之:抛弃Ad Muncher

新手入门、经验交流

Moderator: cre

Forum rules
  • 软件自带帮助是最好的入门教程,请仔细阅读;在您掌握最基本知识前,我们没法帮助您
  • 提问前请先查阅软件帮助文件和论坛相关讨论
  • 查阅软件帮助和论坛相关讨论即可解决的问题帖将直接删除,以免浪费他人时间
  • 请学会如何提问,尽量将问题描述清楚,不明确的提问将被直接删除
Post Reply
Ray4
Moderator
Posts: 65
Joined: Dec 30 2007, 09:37

Proxomitron入门级应用之:抛弃Ad Muncher

Post by Ray4 »

作为一个刚从ad muncher转到proxomitron的初学者,尽管我不会写甚至是看不懂它稍微复杂一点的规则,但我用它其中的几个命令依然可以达到甚至超过 ad muncher过滤广告的效果。我没有计算机专业的基础,也没有学过HTML代码(只是比较迅速的浏览过相关文章),接触网络的时间也只有3年(相信很多人的网龄比我长吧?),我以一个外行加proxomitron的初学者来说说自己如何简单的从ad muncher转到proxomitron上来的。

首先说说我为什么会用ad muncher和proxomitron之类的软件:
[*] 看见广告就不舒服,更何况咱是一天10个小时以上都在各大论坛和网站上混迹
[*] 同时使用多个浏览器:尽管GB,firefox(我用2个,有人更多)都有各自有过滤广告的功能,但如果你同时使用几个浏览器的时候,就会发现无法方便通用他们的过滤规则
再说说我为什么会放弃ad muncher这么强大的软件而用proxomitron:
[*] ad muncher能过滤的proxomitron都能过滤

[*] ad muncher对部分网站的兼容性不好,有很多网站显示不正常

[*] ad muncher无法实现代理调度,通俗点就是根据不同的站点切换不同的代理(虽然gb,firefox,mt,tw都能方便的切换代理,但至少有一种情况他们都不能很方便的实现(即便可以,也是无法通用,毕竟每个浏览器里又要设置一次),比如zz.zz.com需要代理访问,但其实它做的只是一个跳转,访问它之后立马转到www.sina.com.cn,新浪可是不需要代理的。如果你用IE的脚本或者firefox的插件可以实现,但还是那句话,它们不能在浏览器之间方便的通用,用proxomitron你可以在任意浏览器之间无缝的切换)

[*] ad muncher无法很容易的实现插入或者替换文本,用proxomitron我可以很容易的给IE插入一个js,实现viewpage的功能

[*] ad muncher无法修改header,用proxomitron可以修改*/fetch.php(很多人一看应该知道这是做什么的吧,嘿嘿,不知道的也没关系,这条你用不到了)的MIME TYPE,这样我用firefox也可以正常下载这里的种子了而无需安装插件
[*] ad muncher是收费软件,等crack等得我没耐心了,而proxomitron是绿色免费软件
我没有用sidki的规则,不是不好,是对我来说太复杂,出了问题都不知道是哪条规则导致的。

说完了这么多废话,让你看看,怎么可以简单的从adm转到proxomitron上来吧
1、这里下载proxomitron,解压到任意目录

2、本着自己动手解决问题的原则,一开始我就uncheck了proxomitron所有的默认规则,在它的lists文件夹下建立几个文件, linkA.txt,iframe.txt,js.txt,div.txt,img.txt,table.txt(明眼人一看就知道这是做什么的吧?如果你不知道,学我的,快速浏览一下HTML的文章吧,嘿嘿。adm给大家自定义的过滤选项,proxomitron只要通过这几个文件加上一条命令都可以简单实现,而且还可以做到per site的过滤方式!而ad muncher要实现per site的功能可是至少要到5.0(唉,等了更新又得等破解)),在proxomitron里把这几个文件添加到blocklist,如下图:
addblocklist.png
addblocklist.png (202.29 KiB) Viewed 54123 times
再来给它一个名字,简单一点就行,方便以后在proxomitron里调用(实际上proxomitron可以很方便的用右键菜单中的"add blocklist"添加)
nameblocklist.png
nameblocklist.png (48.75 KiB) Viewed 53974 times
3、proxomitron是以代理方式作用的,在GB里设置一个代理(MT、OP、TW、Firefox也是类似)
setproxy.png
setproxy.png (23.94 KiB) Viewed 54199 times
4、在proxomitron里建立一条过滤规则
filter.png
filter.png (275.93 KiB) Viewed 54050 times
setfilter.png
setfilter.png (210.01 KiB) Viewed 54327 times
说明:$NEST()命令,这里是为了过滤javascript,如果是过滤table、div、td、ul、img或者iframe就相应的替换一下再新建一个规则

这样,过滤js的规则就写好了。下面要在js.txt(这些已经添加到proxomitron里的blocklist可以从托盘菜单里直接调出来编辑)里定义哪些js要过滤
比如我想过滤新浪首页里的这个js

Code: Select all

<script type="text/javascript" src="http://i3.sinaimg.cn/unipro/pub/suda_m_v616.js"></script>
我在js.txt的第一行写上

Code: Select all

*http://i3.sinaimg.cn/unipro/pub/suda_m_v616.js* 
或者

Code: Select all

<script * src="http://i3.sinaimg.cn/unipro/pub/*.js"></script>
如果你只想这个规则作用于新浪首页,则可以这样:

Code: Select all

$URL(http://www.sina.com.cn/)<script * src="http://i3.sinaimg.cn/unipro/pub/*.js"></script>
这里又包含了一个$URL()命令,它可以用通配符或者proxomitron的正则来指定url

注意:第一个为什么左右2边都要有通配符?因为你的规则是匹配<script>标签,所以开始匹配这条规则就要从<script>的"<"开始,结束则是以</script>的“>”结束,通配符应当包括这些。

用这个方法就可以实现ad muncher的这些功能:
[*] Remove links to URL 移除链接到地址移
[*] Remove images/etc with URL 移除带链接的图片等
[*] Remove all popups from URL 除链接中所有的弹出窗口
[*] Remove images with "alt" text 移除带有“alt”文本的图片
[*] Remove scripts with text 移除含文本的脚本
[*] Remove tables with text 移除含文本的表格
[*] Remove divs/spans with text 移除含文本的 Div、Span 标记
[*] Remove forms with text 移除含文本的表单
在ad muncher中有一个“Block retrieval of URL”,要在proxomitron中实现,可以用header filter中设置。header filter里有一个“URL-Killer: kill-a-URL (out)”的规则,已经给你定义好了
headerfilter.png
headerfilter.png (71.2 KiB) Viewed 54078 times
你要做的只是修改lists文件夹下的URL killfile.txt

加入以下代码,可以过滤部分常见的google和baidu的广告了(这里用到了一些proxomitron支持的正则表达式,如果不会可以看它自带的帮助文件,如果看不懂也没关系,下面有一些就是一个简单的链接,使用时和adm还是一样的):

Code: Select all

# ----------------- google ------------------------------
pagead2.googlesyndication.com/pagead/(show_ads.js|iclk|ads\?client\=*)
www.google.com/afsonline/show_afs_ads.js
www.google-analytics.com/urchin.js
mail.google.com/mail/*view=ad
groups.google.co(m|.)([a-z]+|)/groups/adfetch\?adid\=
partner.googleadservices.com/gampad/(google_|)ads
#! Google Reader
lh[0-9].google.com/scavina/*/uicenter_banner.gif

# ----------------- baidu ------------------------------
cpro.baidu.com/cpro/ui/(uijs.php|(ui|cp|iknow).js)
eiv.baidu.com/(other|maimg)/*.(jpg|gif|swf|js)
unstat.baidu.com/bdun.bsc\?tn
spcode.baidu.com/spcode/spstyle/style[0-9]+.jsp\?tn\=
至此,我常用到的adm的过滤功能都已经用proxomitron实现了(我的水平也就只会过滤几个广告而已,嘿嘿)。还有一些proxomitron能实现的但adm不能实现的,如代理调度修改MIME TYPE链接跳转等,有时间我会跟大家一起分享。proxomitron能做的不仅仅于此,用它你可以自定义你看到的任何网页。写这篇文章只是要告诉大家,proxomitron可以和adm一样简单,不要因为它的强大而忽略了它的易用性
User avatar
phoenix
Site Admin
Posts: 526
Joined: Dec 29 2007, 16:27

Re: Proxomitron入门级应用之:抛弃Ad Muncher

Post by phoenix »

学习sed的过程中练手写了个脚本,可以方便地把Ad Muncher的filters转换为Proxomitron的blockfile格式,对移植Ad Muncher规则到Proxomitron的朋友应该会有些帮助。 :D

使用方法:
  1. 将附件adm2prox.zip解压缩到一个文件夹。
  2. 如图,将Ad Muncher的filters选中,右键“Copy to clipboard with category”,将内容复制到adm.txt文件,放入刚才解压缩的文件夹。
    adm_filter.png
    adm_filter.png (27.25 KiB) Viewed 52873 times
  3. 在刚才的文件夹开启命令行窗口,执行sed --text -f adm.sed adm.txt,即会按category生成相应的blockfile格式的文件。
    result.png
    result.png (13.65 KiB) Viewed 52860 times
以下是脚本部分内容,可以按自己需要修改:

Code: Select all

#n Command: sed --text -f adm.sed

# escape meta characters used in proxomitron
# ]\?[&|)(+="'
s/[]\\?[&|\)\(+="']/\\&/g

# escape leading [#~ ] which has special meaning in Proxomitron
s/: \([#~ ]\)/: \\\1/

/Remove links to URL: /{
		s///
		w remove_links_to_url.txt
}

/Remove images\/etc with URL: /{
		s///
		w remove_images_etc_with_url.txt
}

/Remove scripts with text: /{
		s///
		w remove_scripts_with_text.txt
}
Attachments
adm2prox.zip
(50.35 KiB) Downloaded 2348 times
imsheng
Posts: 37
Joined: Jan 08 2008, 13:24

Re: Proxomitron入门级应用之:抛弃Ad Muncher

Post by imsheng »

看见楼上发的这个工具,特意再去找了个adm来了解下。发现几个不适应:
1,界面庞杂。
2,过滤效果不满意,adm能做到的,Proxomitron也能做到,无非是链接关键字匹配,JS的函数设为空,CSS的强制不显示等等,但Proxomitron则不然,可以完全擦除,浏览器的负担减轻了。
3,不注册就没有官方的更新包。

但adm的优势也很明显,有官方维护就是不同:
1,过滤规则定期更新。

嗯,的确很适合懒人和不喜欢动手的中国人。嘻嘻。
wongker
Posts: 15
Joined: Jan 21 2008, 19:58

Re: Proxomitron入门级应用之:抛弃Ad Muncher

Post by wongker »

大部分软件推出的目的就是自动化和智能化,恰恰是懒得代名词,所以说中国人很赶潮流呢,哈哈
foleo
Posts: 12
Joined: Jun 04 2008, 21:38

Re: Proxomitron入门级应用之:抛弃Ad Muncher

Post by foleo »

adm导出的规则 用脚本处理后分类 然后设置里添加这些条目
下面该怎么做?是在web page按你图中这样添加 但没有效果

Image
Ray4
Moderator
Posts: 65
Joined: Dec 30 2007, 09:37

Re: Proxomitron入门级应用之:抛弃Ad Muncher

Post by Ray4 »

foleo wrote:adm导出的规则 用脚本处理后分类 然后设置里添加这些条目
下面该怎么做?是在web page按你图中这样添加 但没有效果
这个是过滤有脚本标签的内容。比如

Code: Select all

<script type="text/javascript" src="templates/rollout.js"></script>
这样的可以用这个规则过滤。

显然,你没有怎么看帮助
天堂之门
Posts: 17
Joined: Nov 27 2008, 10:50

Re: Proxomitron入门级应用之:抛弃Ad Muncher

Post by 天堂之门 »

嗯,Header Filters 里的 URL-Killer 规则确实不赖。

耐心点看完 Log 里每个消息的具体含义非常有必要。
Post Reply