优化easylist通配符匹配逻辑

pull/166/head
gently 5 years ago
parent a035bc8b8b
commit aea64522bb

@ -1,4 +1,4 @@
#TIME=20200126135308
#TIME=20200129142451
#URL=https://github.com/privacy-protection-tools/anti-AD
address=/0024aaaa.com/
address=/0026645142c89aeb1.com/

@ -1,5 +1,114 @@
!TIME=20200126135309
!TIME=20200129142451
!URL=https://github.com/privacy-protection-tools/anti-AD
||201*.myhard.com^
||8*.tianya.cn^
||a*.chajiaotong.com^
||ac*.pingguolv.com^
||activity.*.miui.com^
||adi*.cnool.net^
||adr-*.vindicosuite.com^
||ads-*.hulu.com^
||anet*.tradedoubler.com^
||ap*.jj20.com^
||ap*.pl520.com^
||at*.doubanio.com^
||ax.*.ifeng.com^
||banners*.spacash.com^
||bdcpro*.techweb.com.cn^
||bdlm*.hc360.com^
||bj*.9669.cn^
||cas.*.criteo.com^
||caw.*.criteo.com^
||collect.*.miui.com^
||collector*.xhamster.com^
||collector-*.elb.amazonaws.com^
||collector-*.tvsquared.com^
||d*.ruiwen.com^
||d*.wanzhuang.com^
||d*.xinshipu.com^
||datacollect*.abtasty.com^
||dm*.ppzuowen.com^
||dm*.yxlady.com^
||dn*.ixinwei.com^
||fanpingbi*.gaokao.com^
||fpb*.51edu.com^
||gcw*.2liang.cn^
||geo*.hltv.org^
||hits-*.iubenda.com^
||iad-*.blaze.com^
||images.*.criteo.net^
||imp*.tradedoubler.com^
||impservice*.yodao.com^
||impservice*.youdao.com^
||ja*.gamersky.com^
||js*.abolezi.com^
||log*.ku6.com^
||log-*.previewnetworks.com^
||logger-*.dailymotion.com^
||metric*.rediff.com^
||metro-trending-*.amazonaws.com^
||minero-proxy-*.sh^
||mobileoffers-*-download.com^
||ow*.biqugego.com^
||quickflix*.gridserver.com^
||rdi.*.criteo.com^
||sam*.baby-kingdom.com^
||same*.stockstar.com^
||sell*.etlong.com^
||sextronix.*.cdnaccess.com^
||static*.365inews.com^
||stats-*.p2pnow.ru^
||stats2.*.fdnames.com^
||targeting.*.arcpublishing.com^
||tracker*.bingohall.ag^
||tracker*.richcasino.com^
||trk*.vidible.tv^
||uc*.atobo.com^
||union*.365inews.com^
||vix.*.criteo.net^
||vtnlog-*.elb.amazonaws.com^
||www*.swatchseries.to^
||ya*.dwstatic.com^
||ad*.udn.com^
||*.mgr.consensu.org^
||vs*.gzcu.u3.ucweb.com^
||ad*.goforandroid.com^
||bs*.9669.cn^
||*dnserror*.wo.com.cn^
||*mistat*.xiaomi.com^
||affrh20*.com^
||gsp*.baidu.com^
||assoc-amazon.*^
||clkservice*.youdao.com^
||dsp*.youdao.com^
||ad*.sina.com.cn^
||sax*.sina.com.cn^
||pussl*.com^
||putrr*.com^
||ad.*.360.cn^
||t*.a.market.xiaomi.com^
||ad*.bigmir.net^
||log*.molitv.cn^
||adm*.autoimg.cn^
||cloudservice*.kingsoft-office-service.com^
||gg*.51cto.com^
||log.*.hunantv.com^
||*.log.hunantv.com^
||iflyad.*.openstorage.cn^
||*customstat*.51togic.com^
||appcloud*.zhihu.com^
||sf*-ttcdn-tos.pstatp.com^
||ad*.molitv.cn^
||ads*-adnow.com^
||aeros*.tk^
||analyzer*.fc2.com^
||admicro*.vcmedia.vn^
||xn--xhq9mt12cf5v.*^
||freecontent.*^
||hostingcloud.*^
||jshosting.*^
||flightzy.*^
||sunnimiq*.cf^
||0024aaaa.com^
||0026645142c89aeb1.com^
||003store.com^
@ -1393,11 +1502,8 @@
||a.yixie8.com^
||a.yl-taikang.com^
||a.youdao.com^
||clkservice*.youdao.com^
||conv.youdao.com^
||dsp*.youdao.com^
||gorgon.youdao.com^
||impservice*.youdao.com^
||log.yex.youdao.com^
||corp.youdao.com^
||rlogs.youdao.com^
@ -2215,7 +2321,6 @@
||adowner.net^
||adp.cnki.net^
||adp.cnool.net^
||adi*.cnool.net^
||adp1.cnool.net^
||ida.cnool.net^
||adpacks.com^
@ -2385,7 +2490,6 @@
||pr.ybp.yahoo.com^
||yap.yahoo.com^
||ads01.com^
||ads*-adnow.com^
||ads2ads.net^
||ads2srv.com^
||ads4cheap.com^
@ -2803,7 +2907,6 @@
||aepetor.pw^
||aepwtbusoofzw.com^
||aercxy.com^
||aeros*.tk^
||aestldhxdqlo.com^
||izooto.com^
||aew9eigieng.info^
@ -2935,7 +3038,6 @@
||affiz.net^
||affplanet.com^
||affportal-lb.bevomedia.com^
||affrh20*.com^
||affroba.net^
||afftrack.com^
||afftrk.online^
@ -3604,7 +3706,6 @@
||zhihu-web-analytics.zhihu.com^
||sugar.zhihu.com^
||lc-push.zhihu.com^
||appcloud*.zhihu.com^
||event.zhihu.com^
||analytics00.meride.tv^
||analyticschecker.com^
@ -3613,7 +3714,6 @@
||analyticswizard.com^
||analytk.com^
||analyze.full-marke.com^
||analyzer*.fc2.com^
||ruleclaim.web.fc2.com^
||anametrix.com^
||anametrix.net^
@ -3685,7 +3785,6 @@
||eiv.baidu.com^
||fcm.baidu.com^
||goutong.baidu.com^
||gsp*.baidu.com^
||hao123union.baidu.com^
||hm.baidu.com^
||imgstat.baidu.com^
@ -4079,7 +4178,6 @@
||assets.simplifydigital.co.uk^
||assetscdn.stream^
||assigned.cn^
||assoc-amazon.*^
||assoctrac.com^
||assume8.com^
||asterpix.com^
@ -4817,7 +4915,6 @@
||matwbp.iask.sina.com.cn^
||p4p.sina.com.cn^
||pfp.sina.com.cn^
||sax*.sina.com.cn^
||cpoml.iask.sina.com.cn^
||cre.mix.sina.com.cn^
||d0.sina.com.cn^
@ -6461,7 +6558,6 @@
||click.eyk.net^
||click.gamersky.com^
||imgf.gamersky.com^
||ja*.gamersky.com^
||jasmin.com^
||click.kataweb.it^
||logger.kataweb.it^
@ -6804,7 +6900,6 @@
||cnzz.com^
||cnzzlink.com^
||co.hltv.org^
||geo*.hltv.org^
||coadvertise.com^
||coagricu.net^
||coaincltxhw.com^
@ -6877,7 +6972,6 @@
||collect.igodigital.com^
||collect.rewardstyle.com^
||collect.tianya.cn^
||8*.tianya.cn^
||dol.tianya.cn^
||collect.usefathom.com^
||collecting.click^
@ -13955,7 +14049,6 @@
||js.kt250.com^
||js.ruiwen.com^
||abc.ruiwen.com^
||d*.ruiwen.com^
||js.shangxueba.com^
||js.ubaike.cn^
||js.vidoza.net^
@ -15249,7 +15342,6 @@
||lodqycbq.com^
||log.51cto.com^
||logs.51cto.com^
||gg*.51cto.com^
||log.artipbox.net^
||log.cizion.com^
||log.codemarketing.cloud^
@ -20207,7 +20299,6 @@
||pushstack.it^
||pushwhy.com^
||pushwoosh.com^
||pussl*.com^
||pussy-pics.net^
||pussyeatingclub.com^
||pussyeatingclubcams.com^
@ -20215,7 +20306,6 @@
||putags.com^
||putanapartners.com^
||putkjter.com^
||putrr*.com^
||puwzwbdopaeq.bid^
||puzwb.cn^
||puzzlingfall.com^
@ -23062,7 +23152,6 @@
||up4.ucweb.com^
||utp-dmp.ucweb.com^
||utp.ucweb.com^
||vs*.gzcu.u3.ucweb.com^
||vs8.gzct.u3.ucweb.com^
||wap3.ucweb.com^
||sls2.loisirsencheres.com^
@ -27607,7 +27696,6 @@
||xn--wxt79hbyb675a.online^
||xn--wxtr9fwyxk9c.site^
||xn--wxtr9fwyxk9c.top^
||xn--xhq9mt12cf5v.*^
||xn6ffc.com^
||xncgroup.cn^
||xndskrtxkiv.com^
@ -29229,7 +29317,6 @@
||a.shangz99991.com^
||a.slsbc.cn^
||a.stat.xiaomi.com^
||*mistat*.xiaomi.com^
||bss.pandora.xiaomi.com^
||de.pandora.xiaomi.com^
||dvb.pandora.xiaomi.com^
@ -29239,7 +29326,6 @@
||o2o.api.xiaomi.com^
||ppurifier.game.xiaomi.com^
||shenghuo.xiaomi.com^
||t*.a.market.xiaomi.com^
||video.market.xiaomi.com^
||wtradv.market.xiaomi.com^
||adv.sec.miui.com^
@ -29344,7 +29430,6 @@
||kunpeng.csdn.net^
||medal.blog.csdn.net^
||c.dokrmob.com^
||at*.doubanio.com^
||cs.dqwjzm.com^
||duapps.com^
||app.acm.dzwww.com^
@ -29355,8 +29440,6 @@
||pay.holaq.com^
||adv.jxnews.com.cn^
||toutiao.jxnews.com.cn^
||ad*.molitv.cn^
||log*.molitv.cn^
||adcl.pchome.com.tw^
||list.z.qingting.fm^
||s.qtad.qingting.fm^
@ -29456,7 +29539,6 @@
||security.browser.miui.com^
||update.avlyun.sec.miui.com^
||hot.browser.intl.miui.com^
||activity.*.miui.com^
||adv.sec.intl.miui.com^
||api.brs.intl.miui.com^
||api.newsfeed.intl.miui.com^
@ -29464,8 +29546,6 @@
||adirects.com^
||src.leju.com^
||staticadm.leju.com^
||adm*.autoimg.cn^
||admicro*.vcmedia.vn^
||cooguo.com^
||admin.louxia.org^
||admin.ninebox.cn^
@ -29855,7 +29935,6 @@
||bax.xiawu.com^
||bay.xiawu.com^
||bbcc.yxlady.com^
||dm*.yxlady.com^
||js50.yxlady.com^
||mmcc.yxlady.com^
||bbn.gzblogger.cn^
@ -29902,10 +29981,7 @@
||gc.keefung-zs.com^
||ugg.keefung-zs.com^
||bixia.fymm.cn^
||bj*.9669.cn^
||bs*.9669.cn^
||js.9669.cn^
||*dnserror*.wo.com.cn^
||bmw2ep.paomifen.cn^
||bp.jxxsn.cn^
||bpts.8111216.cn^
@ -30127,7 +30203,6 @@
||clk.uunt.com^
||codenow.cn^
||dopa.com.cn^
||cloudservice*.kingsoft-office-service.com^
||moupdate1.kingsoft-office-service.com^
||abroad-ad.kingsoft-office-service.com^
||cm.adkmob.com^
@ -30233,7 +30308,6 @@
||d.nnightkil.com^
||d.xingshangnet.com^
||j.xingshangnet.com^
||d*.xinshipu.com^
||j.xinshipu.com^
||d1.showself.com^
||d2.yiche.com^
@ -30305,7 +30379,6 @@
||dlres.ind9ed.com^
||dm.pstatp.com^
||pb3.pstatp.com^
||sf*-ttcdn-tos.pstatp.com^
||dmtu.0m31a.cn^
||dn-growing.qbox.me^
||do-not-tracker.org^
@ -31051,7 +31124,6 @@
||iflow.uczzd.com^
||iflow.uczzd.com.cn^
||iflow.uczzd.net^
||iflyad.*.openstorage.cn^
||ihl3ga.hepengshan.cn^
||iiid.bluescream.cn^
||iisl7wpf.me^
@ -31150,7 +31222,6 @@
||promotion.gomlab.com^
||info.meihua.docer.com^
||info.stockstar.com^
||same*.stockstar.com^
||info.yitsoftware.com^
||ingameads.gameloft.com^
||ini.litingxin.cn^
@ -31317,8 +31388,6 @@
||log.cs.pp.cn^
||patriot.cs.pp.cn^
||server.m.pp.cn^
||log.*.hunantv.com^
||*.log.hunantv.com^
||mp4.res.hunantv.com^
||x.da.hunantv.com^
||x1.da.hunantv.com^
@ -31877,7 +31946,6 @@
||outer.anquan.org^
||static.anquan.org^
||overturechina.com^
||ow*.biqugego.com^
||owtl.e0yp21.cn^
||oxo.jilinfurong.com^
||p.99mssj.com^
@ -32893,7 +32961,6 @@
||flightsy.date^
||flightsy.win^
||flighty.win^
||flightzy.*^
||flowplayer.space^
||realnetwrk.com^
||gettate.date^
@ -32966,7 +33033,6 @@
||flashx.cc^
||skencituer.com^
||smectapop12.pl^
||sunnimiq*.cf^
||synconnector.com^
||toftofcal.com^
||tokyodrift.ga^
@ -32983,12 +33049,9 @@
||blockchained.party^
||coinimp.com^
||coinimp.net^
||freecontent.*^
||hostingcloud.*^
||jqcdn.download^
||jqrcdn.download^
||jquerrycdn.download^
||jshosting.*^
||mutuza.win^
||adfreetv.ch^
||xmr.cool^
@ -33003,7 +33066,6 @@
||openvpn.f2pool.com^
||cnzz.cn^
||aliapp.org^
||*customstat*.51togic.com^
||irs03.com^
||httpdns.bcelive.com^
||log1.cmpassport.com^
@ -33359,7 +33421,6 @@
@@||ads.askgamblers.com^
@@||ads.fuckingmachines.com^
@@||ads.microsoft.com^
@@||ads.nipr.ac.jp^
@@||ads.pinterest.com^
@@||ads.tiktok.com^
@@||ads.twitter.com^

@ -1,4 +1,4 @@
#TIME=20200126135309
#TIME=20200129142451
#URL=https://github.com/privacy-protection-tools/anti-AD
[RULE]
DOMAIN-SUFFIX,0024aaaa.com,REJECT

@ -22,7 +22,6 @@ define('WHITERULE_SRC', ROOT_DIR . 'origin-files/whiterule-src-easylist.txt');
$ARR_MERGED_WILD_LIST = array(
'ad*.udn.com' => null,
'cnt*rambler.ru' => null,
'*.mgr.consensu.org' => null,
'vs*.gzcu.u3.ucweb.com' => null,
'ad*.goforandroid.com' => null,
@ -85,25 +84,21 @@ $ARR_REGEX_LIST = array(
'/^adservice\.google\./' => null,
);
//对通配符匹配或正则匹配增加的额外赦免规则
$ARR_WHITE_RULE_LIST = array(
'@@||github.com^',
'@@||tracker.ipv6.scau.edu.cn^',
'@@||tracker.openbittorrent.com^',
'@@||tracker.chdbits.org^',
'@@||tracker.m-team.cc^',
'@@||tracker.keepfrds.com^',
'@@||tracker.hdcmct.org^',
'@@||tracker.fastdownload.xyz^',
'@@||tracker.bt4g.com^',
'@@||tracker.publictorrent.net^',
'@@||tracker.totheglory.im^',
'@@||tracker.hdwing.com^',
'@@||tracker.czech-server.com^',
'@@||tracker.tambovnet.org^',
'@@||tracker.tekno3d.com^',
'@@||tracker.hdsky.me^',
'@@||tongji.kuwo.cn^',
'@@||tracker.hdsky.me^',
);
//针对上游赦免规则anti-AD不予赦免的规则即赦免名单的黑名单
$ARR_WHITE_RULE_BLK_LIST = array(
'@@||ads.nipr.ac.jp^' => null,
);
//针对上游通配符规则中anti-AD不予采信的规则即通配符黑名单
$ARR_WILD_BLK_LIST = array(
'aff*.kolektiva.net' => null,
'cnt*rambler.ru' => null,
);
if(PHP_SAPI != 'cli'){
@ -144,6 +139,20 @@ while(!feof($wild_fp)){
if(!preg_match('/^\|\|?([\w\-\.\*]+?)\^(\$([^=]+?,)?(image|third-party|script)(,[^=]+)?)?$/', $wild_row, $matches)){
continue;
}
if(array_key_exists($matches[1], $ARR_WILD_BLK_LIST)){
continue;
}
$matched = false;
foreach($ARR_REGEX_LIST as $regex_str => $regex_row){
if(preg_match($regex_str, str_replace('*', '',$matches[1]))){
$matched = true;
}
}
if($matched){
continue;
}
$arr_wild_src[$matches[1]] = $wild_row;
}
fclose($wild_fp);
@ -178,11 +187,11 @@ while(!feof($src_fp)){
foreach($arr_wild_src as $core_str => $wild_row){
$match_rule = str_replace('*', '.*', $core_str);
if(!array_key_exists($core_str, $wrote_wild)){
fwrite($new_fp, "||${core_str}^\n");
$wrote_wild[$core_str] = 1;
}
if(preg_match("/\|${match_rule}/", $row)){
if(!array_key_exists($core_str, $wrote_wild)){
fwrite($new_fp, "||${core_str}^\n");
$wrote_wild[$core_str] = 1;
}
$matched = true;
break;
}
@ -206,6 +215,11 @@ foreach($ARR_WHITE_RULE_LIST as $row){
if(!preg_match('/@@\|\|([0-9a-z\.\-\*]+?)\^/', $row, $matches)){
continue;
}
if(array_key_exists("@@||${matches[1]}^", $ARR_WHITE_RULE_BLK_LIST)){
continue;
}
foreach($wrote_wild as $core_str => $val){
if($core_str{0} === '/'){
$match_rule = $core_str;

Loading…
Cancel
Save