greendown.cn 下载站广告过滤不显示下载链接的解决方案[试行版]

sidki config set的配置、使用,新手入门首选

Moderator: phoenix

wongker
Posts: 15
Joined: Jan 21 2008, 19:58

greendown.cn 下载站广告过滤不显示下载链接的解决方案[试行版]

Post by wongker »

这段时间用sidki的规则+自己从网上搜集并修改整理的规则,给我的感觉 prox 真的很强大,也很适合喜欢摒弃广告的同学们使用,但是有的时候过滤某些东西总是很难尽善尽美,这时候就要仔细分析其中的缘由。

比如我常上的绿站 www.greendown.cn ,用论坛提供的规则广告过滤效果倒是很好,就是有时候把下载链接也给去掉了,有的页面有,有点页面没有,具体原因就不知道该如何分析了,因为用了sidki 的规则,很多东西不知如何去发现具体是哪一条规则对此生效了。

按照phoenix关于crsky.com中给出的方法,针对某些网页效果很好,但有的还是没显示下载链接,这时候就得 bypass 了,作为一个 adm 使用了好几年的人,过滤广告几乎成了上网浏览的附属本能,看见网页上的大幅广告和浮动图片就不爽,过滤也就成了必然,但是如果过滤掉有用的部分就不美了,这也是从 adm 转到 prox 的原因吧,可控性和针对性是很重要的。

既然是针对网址和标签可控制的,那么我们就自己动手专门针对绿站的广告相应处理好了,根据 opera 论坛的 somh 推荐得知在 opera 下有个专门的 crsky-links-show.js 是针对霏凡的下载链接进行显示的 js 脚本,在 opera 调用中很好用,那我们就拿来在 prox 下折腾折腾好了,因为几乎不去霏凡下载软件,只是在绿站逗留,不过根据网上知道绿站和霏凡是同一个广告系统,相差不大,两站是否是一家就不清楚了,不过翻了翻网上和论坛中的留言,似乎是这样,那么我们就把 crsky-links-show.js 弄成符合绿站的好了,其实什么都不用改,然后把如下两条规则添加到 webpage 过滤中(是否符合霏凡过滤请自行针对修改):

Code: Select all

[Patterns]
Name = "Adkill for Greendown.cn [wongker][20080411]"
Active = TRUE
URL = "$TYPE(htm)|$TYPE(js)(www.|search.|)greendown.cn/"
Bounds = "<(script|iframe)\1\s*</\1>"
Limit = 512
Match = "<(script|iframe)\1\s*src\=$AV(*/ggao/*)*</\1>"

---

Code: Select all

[Patterns]
Name = "Added Download-Links to Greendown.cn [wongker][20080411]"
Active = TRUE
URL = "$TYPE(htm)|$TYPE(js)(www.|search.|)greendown.cn/"
Limit = 32
Match = "(<td height=26><b>下载地址:</b>)\1"
Replace = "\1<script src="http://local.ptron/crsky-links-show.js"></script>\r\n$STOP()"

其中 crsky-links-show.js 放在 prox 中的 html 目录下即可,根据我的测试是很好用滴!

测试目标与效果:浏览器下载类软件、网络电视类软件、下载工具类软件都能如实显示下载链接并且广告过滤效果很不错。

至于历史太久远的链接是否有效(理由是新旧链接似乎不是一个广告系统,至少以前分析代码时发现不太一样),哈哈,因为很少用到所以并未测试。

另外没有放到特定网站版是因为自己还很菜,写的东西不知时效性有多久,加之把自己分析与整理修改过程写上,算是一个段落学习的结束吧。

在这段懒懒散散学习 prox 的时间里,要郑重感谢 phienix 和 Ray4 两位版主的热心帮助,sixsheeps 等兄弟们的慷慨分享,尤其是 Ray4 和 sixsheeps 在 QQ 上的耐心解答疑惑,再次感谢!
wongker
Posts: 15
Joined: Jan 21 2008, 19:58

Re: 针对 greendown.cn 下载站广告过滤不显示下载链接的解决方案[试行版]

Post by wongker »

operachina 论坛的高手 somh 所定制的在 opera 脚本调用中的 crsky-links-show.js 奉上,感谢 somh 的大作。

下载:
crsky-links-show.rar
(2.04 KiB) Downloaded 1005 times
User avatar
phoenix
Site Admin
Posts: 529
Joined: Dec 29 2007, 16:27

Re: greendown.cn 下载站广告过滤不显示下载链接的解决方案[试行版]

Post by phoenix »

使用sidki的config set的话,解决方法和对crsky的处理类似。

在AdPaths.ptxt中添加如下项目:

Code: Select all

# crsky & greendown
ggao
~ggao/downd_a.js
在IncludeExclude-U.ptxt中添加

Code: Select all

(www.|search.|)greendown.cn/				$SET(0=a_jscont.a_adtab_b.a_adcont_l.)
Ray4
Moderator
Posts: 65
Joined: Dec 30 2007, 09:37

Re: greendown.cn 下载站广告过滤不显示下载链接的解决方案[试行版]

Post by Ray4 »

添加免过滤还是有些不好,有时候还是会留下一些空白的flash。如何不使用sidki的规则,可以添加以下替换规则既不用免过滤,也不会显示不出下载地址。用sidki的也以试试看行不行

Code: Select all

$URL(http://\w.crsky.com/view_down.asp\?view_n\=)$NEST(<td width=$AV(410) * adlist \+ \',</td>)
替换为空
wongker
Posts: 15
Joined: Jan 21 2008, 19:58

Re: greendown.cn 下载站广告过滤不显示下载链接的解决方案[试行版]

Post by wongker »

针对phoenix的方法测试了几个例子,都很好的显示了下载链接
allow ad content in external scripts $SET(0=a_jscont.)
allow ad tables - body $SET(0=a_adtab_b.)
allow ad containers - links SET(0=a_adcont_l.)
这个是怎么分析来的?我自己的理解是,因为下载链接部分是和一些广告衔接在一块的,形式似乎是Ray4所描述的地址view_down.asp?view_n=……这样吧,那么phoenix给出的是
1、ggao过滤时候把外部脚本里允许广告内容
2、ggao过滤时候在主体标签里允许广告表格
3、ggao过滤时候允许广告内容里的链接地址

如此分析,我头大了,这是怎么和view_down.asp?view_n=……牵扯到一块的呢?尽管我认为是view_down.asp?view_n=……这段代码和前边部分downd.js有可能是在一个table里,但是123是与关系还是或关系呢,抱歉,sidki的规则不知,看来得有时间学习下了,看完prox的帮助只是匆匆扫了眼sidki的history,并没有仔细拜读,功夫不到啊,不过在群里phoenix所说的用minimal mode过滤而非standard mode倒也好用,方法很多,这个js处理的应该比minimal mode定位更精确吧?并请聊几句如何从minimal mode找到了是123这3个脚本allow方式的!

另外Ray4版主所说的我没有找到,你的意思是针对\w.crsky.com/view_down.asp?view_n=地址过滤td嵌套里的(<td width=$AV(410) * adlist \+ \',</td>,包含width=410属性和adlist+' 的td,头大,我没有搜索到410的width啊,我只是在当前源码中翻width=410,似乎方法有问题,请详细解释下吧!
Ray4
Moderator
Posts: 65
Joined: Dec 30 2007, 09:37

Re: greendown.cn 下载站广告过滤不显示下载链接的解决方案[试行版]

Post by Ray4 »

wongker wrote:你的意思是针对\w.crsky.com/view_down.asp?view_n=地址过滤td嵌套里的(<td width=$AV(410) * adlist \+ \',</td>,包含width=410属性和adlist+' 的td,头大,我没有搜索到410的width啊,我只是在当前源码中翻width=410,似乎方法有问题,请详细解释下吧!
比如这个下载地址:http://www.crsky.com/soft/3319.html

由这个js写入下载地址:http://www.crsky.com/view_down.asp?view ... v5.7.9.473

你在这个js里找上面的过滤内容就知道原因了。
User avatar
phoenix
Site Admin
Posts: 529
Joined: Dec 29 2007, 16:27

Re: greendown.cn 下载站广告过滤不显示下载链接的解决方案[试行版]

Post by phoenix »

以http://www.greendown.cn/soft/1796.html为例,说明下使用sidki config set的分析过程。
  1. 打开页面后,在空白处单击鼠标,页面右下脚会出现标记,鼠标移上去会出现一个菜单,点击debug即可进入源代码调试模式
    prox_menu.png
    prox_menu.png (8.48 KiB) Viewed 20119 times
  2. 根据以前对crsky的分析,显示下载链接地址的关键是downd_a.js,通过定位,发现其被“<table> Remove: Ad Tables - Body 7.08.01 [sd jd] (d.2 l.2)”规则过滤
    table.png
    table.png (8.7 KiB) Viewed 20111 times
  3. 打开该规则,发现其免过滤关键字为a_adtab_b,在IncludeExclude-U.ptxt中添加:

    Code: Select all

    www.greendown.cn/*.html		$SET(0=a_adtab_b.)
    filter.png
    filter.png (27.98 KiB) Viewed 20107 times
  4. 刷新后,发现downd_a.js所在代码段又被“<object>... Remove: Ad Containers - Links 7.09.30 [pr sd] (d.2)”过滤,同法,增加a_adcont_l关键字到IncludeExclude-U.ptxt,变为:

    Code: Select all

    www.greendown.cn/*.html		$SET(0=a_adtab_b.a_adcont_l.)
  5. 至此,http://www.greendown.cn/soft/1796.html中的downd_a.js被免过滤
  6. 浏览器请求http://www.greendown.cn/ggao/downd_a.js,又被proxomitron过滤
  7. 以http://www.greendown.cn/ggao/downd_a.js?prx-co ... 方式进入代码调试模式,发现被“<Match: Top JS Replace: Ad Scripts IV - Content 7.12.02 (multi) [sd] (d.2) >”过滤,同法,添加a_jscont到IncludeExclude-U.ptxt,即:

    Code: Select all

    www.greendown.cn/ggao/downd_a.js		$SET(0=a_jscont.)
  8. 将刚才添加的2项合并,最终变为:

    Code: Select all

    (www.|search.|)greendown.cn/            $SET(0=a_jscont.a_adtab_b.a_adcont_l.)
wongker
Posts: 15
Joined: Jan 21 2008, 19:58

Re: greendown.cn 下载站广告过滤不显示下载链接的解决方案[试行版]

Post by wongker »

To Ray4:
你说的我看明白了,是过滤downd_a.js里边设置的广告列表,这些广告显示在http://www.crsky.com/view_down.asp?view_n=1&So ... .473这个地址里吧,在sidki config set 2008-01-02下测试去除广告和空白很成功,感谢Ray4给出分析来源!

To phoenix:
按照所给出的例子一步一步的操作已经成功了,此等进步很是振奋啊!!感谢phoenix的夜海指路。
不过还有点疑惑,$TYPE(htm)(^$TST(keyword=*.(a_ads|a_adtab|a_adtab_b|i_level:1).*))里边的是怎么解释的?是“关键字如果不是广告--表格广告--Body表格广告”这是个逐步缩小的范围吧,此处小小疑惑,请给出在sidki里边帮助的具体位置,容我慢慢理顺一下,当然phoenix直接给予解释就更好了,此外i_level:1.0.与前边的a_adtab_b是什么关系,同样疑惑,这没有关联吧?

根据这个例子以及Ray4给出的新浪CSS过滤方法,相对prox的入手难已经成为过去,自信大部分广告已不在话下!

另外,早晨起来忽然对blockfile里边的~有了想法,在webpage里改了点东西,发现不必somh的js文件也可以在绿站很好的去广告并显示下载链接,一并奉上,代码如下:

Code: Select all

[Patterns]
Name = "Adkill for Greendown.cn [wongker][20080411]"
Active = TRUE
URL = "$TYPE(htm)|$TYPE(js)(www.|search.|)greendown.cn/"
Bounds = "<(script|iframe)\1\s*</\1>"
Limit = 512
Match = "<(script|iframe)\1\s*src\=$AV(*/ggao/(^downd_a.js)*)*</\1>"

同理霏凡也类似处理,不过把greendown.cn改成crsky.com即可,只是霏凡在下载链接的地方仍含有广告,这时候就要靠Ray4提供的方法去掉广告与空白了,代码如下:

Code: Select all

[Patterns]
Name = "Adlistkill for Crsky.Com [20080411]"
Active = TRUE
URL = "$TYPE(js)\w.crsky.com/view_down.asp\?view_n\="
Bounds = "$NEST(<td*>,</td>)"
Limit = 256
Match = "$NEST(<td width=$AV(410) * adlist \+ \',</td>)"

以上2例均在prox4.5j+sidki_2008-01-02(尚未添加任何其他过滤)下测试成功。

哈哈,学习结束,开始冲浪!
Ray4
Moderator
Posts: 65
Joined: Dec 30 2007, 09:37

Re: greendown.cn 下载站广告过滤不显示下载链接的解决方案[试行版]

Post by Ray4 »

wongker wrote: 另外,早晨起来忽然对blockfile里边的~有了想法,在webpage里改了点东西,发现不必somh的js文件也可以在绿站很好的去广告并显示下载链接,一并奉上,代码如下:

Code: Select all

[Patterns]
Name = "Adkill for Greendown.cn [wongker][20080411]"
Active = TRUE
URL = "$TYPE(htm)|$TYPE(js)(www.|search.|)greendown.cn/"
Bounds = "<(script|iframe)\1\s*</\1>"
Limit = 512
Match = "<(script|iframe)\1\s*src\=$AV(*/ggao/(^downd_a.js)*)*</\1>"

同理霏凡也类似处理,不过把greendown.cn改成crsky.com即可,只是霏凡在下载链接的地方仍含有广告,这时候就要靠Ray4提供的方法去掉广告与空白了,代码如下:

Code: Select all

[Patterns]
Name = "Adlistkill for Crsky.Com [20080411]"
Active = TRUE
URL = "$TYPE(js)\w.crsky.com/view_down.asp\?view_n\="
Bounds = "$NEST(<td*>,</td>)"
Limit = 256
Match = "$NEST(<td width=$AV(410) * adlist \+ \',</td>)"

以上2例均在prox4.5j+sidki_2008-01-02(尚未添加任何其他过滤)下测试成功。
如果你过滤了adlist,就不必免过滤donw_a.js了,你可以试试。

另外要说明的是第二条的$TYPE(js),sidki的规则应该修正了的,我需要用$TYPE(htm)才能过滤。
User avatar
phoenix
Site Admin
Posts: 529
Joined: Dec 29 2007, 16:27

Re: greendown.cn 下载站广告过滤不显示下载链接的解决方案[试行版]

Post by phoenix »

wongker wrote:不过还有点疑惑,$TYPE(htm)(^$TST(keyword=*.(a_ads|a_adtab|a_adtab_b|i_level:1).*))里边的是怎么解释的?是“关键字如果不是广告--表格广告--Body表格广告”这是个逐步缩小的范围吧,此处小小疑惑,请给出在sidki里边帮助的具体位置,容我慢慢理顺一下,当然phoenix直接给予解释就更好了,此外i_level:1.0.与前边的a_adtab_b是什么关系,同样疑惑,这没有关联吧?
即,如果关键字是a_adsa_adtaba_adtab_bi_level:1,则不进行过滤。
关键字之间是的关系。从过滤的角度,应该选择范围最小的关键字;否则,使用了范围较宽的关键字,有可能在放行正常代码的同时,也放过广告代码。

另一方面,如果要合并下面的项目,在不会放过广告代码的前提下,我们可以考虑使用范围较宽的关键字。

Code: Select all

www.test.com/*.html	$SET(0=a_adtab_b.)
www.test.com/*.js	$SET(0=a_adtab.)
可以合并为:

Code: Select all

www.test.com/*.html	$SET(0=a_ads.)
wongker wrote:另外,早晨起来忽然对blockfile里边的~有了想法,在webpage里改了点东西,发现不必somh的js文件也可以在绿站很好的去广告并显示下载链接,一并奉上,代码如下:
sidki config set的中心思想是提供通用规则,然后通过blockfile对具体site进行调节。用blockfile可以解决的,你偏要另编条规则来解决,这不是舍近求远吗?
Post Reply