diff --git a/README.md b/README.md index 532e601c..63a14471 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,11 @@ ## 版本历史 +#### v4.5.0 (2021.05.02) +- 重构工具`easylist-extend.php`,优化提升3倍执行效率 +- 修复一部分小bug +- 开始支持[AdGuardHome新的modifiers](https://github.com/AdguardTeam/AdGuardHome/wiki/Hosts-Blocklists#modifiers)语法(目前测试阶段,adgh本身解析还有bug) + #### v4.3 (2020.02.04) - 引入无效域名、无效hosts剔除机制,大幅提升各过滤列表命中率 @@ -28,13 +33,6 @@ - 引入数个新的配置参数,对输出结果精确控制 - 若干bug和逻辑修复 -#### v4.2.2 (2020.02.02) - -- 传统白名单增强模式,支持根域名单独加白而不影响其子域名 -- 开始支持自动同步到另一个repo,自动发布更新 -- 开始引入官网,逐步建设完善 -- 修复一些逻辑bug - #### [更多版本演进历史>>>](https://github.com/privacy-protection-tools/anti-AD/blob/master/changelog.md) ## 一些补充的话 diff --git a/anti-ad-easylist.txt b/anti-ad-easylist.txt index fb79e336..1ebfba2a 100644 --- a/anti-ad-easylist.txt +++ b/anti-ad-easylist.txt @@ -1,7 +1,205 @@ !Title: anti-AD -!Version: 20210501152933 +!Version: 20210502104937 !Homepage: https://github.com/privacy-protection-tools/anti-AD -!Total lines: 38099 +!Total lines: 38091 +@@||ads.taboola.com^ +@@||tracker.eu.org^ +@@||stats.uptimerobot.com^ +@@||center-h5api.m.taobao.com^ +@@||app.adjust.com^ +@@||uland.taobao.com^ +@@||advertisement.taobao.com^ +@@||baozhang.baidu.com^ +@@||tongji.edu.cn^ +@@||tongji.cn^ +@@||ad.siemens.com.cn^ +@@||sdkapi.sms.mob.com^ +@@||stats.gov.cn^ +@@||tj.gov.cn^ +@@||sax.sina.com.cn^ +@@||news-app.abumedia.yql.yahoo.com^ +@@||meizu.coapi.moji.com^ +@@||track.cpau.info^ +@@||passport.bobo.com^ +@@||stat.jseea.cn^ +@@||widget.intercom.io^ +@@||track.toggl.com^ +@@||www.msftconnecttest.com^ +@@||storage.live.com^ +@@||skyapi.onedrive.live.com^ +@@||counter-strike.net^ +@@||ftp.bmp.ovh^ +@@||profile*.se.360.cn^ +@@||pic.iask.cn^ +@@||ad.jp^ +@@||ad.azure.com^ +@@||ad.cityu.edu.hk^ +@@||edge-enterprise.activity.windows.com^ +@@||edge.activity.windows.com^ +@@||tracking-protection.cdn.mozilla.net^ +@@||skydrivesync.policies.live.net^ +/^(\S+\.)?9377[a-z0-9]{2}\.com$/$dnstype=A +/^(\S+\.)?ad(s?[\d]+|m|s)?\./ +@@||ads.amazon^ +@@||ads.instacart.com^ +@@||ads.microsoft.com^ +@@||ads.pinterest.com^ +@@||ads.spotify.com^ +@@||ads.tiktok.com^ +@@||ads.twitter.com^ +@@||adm.10jqka.com.cn^ +/^(\S+\.)?affiliat(es?[0-9a-z]*?|ion[0-9\-a-z]*?|ly[0-9a-z\-]*?)\./ +/^(\S+\.)?s?metrics\./ +/^(\S+\.)?afgr[\d]{1,2}\.com$/ +/^(\S+\.)?analytics(\-|\.)/ +@@||analytics.itunes.apple.com^ +/^(\S+\.)?counter(\-|\.)/ +/^(\S+\.)?pixels?\./ +/^(\S+\.)?syma[a-z]\.cn$/ +/^(\S+\.)?widgets?\./ +@@||widget.weibo.com^ +/^(\S+\.)?(webstats?|swebstats?|mywebstats?)\./ +/^(\S+\.)?track(ing)?\./ +@@||tracking.epicgames.com^ +@@||track.sendcloud.org^ +/^(\S+\.)?tongji\./ +@@||tongji.*kuwo.cn^ +/^(\S+\.)?toolbar\./ +/^(\S+\.)?adservice\.google\./ +/^(\S+\.)?d[\d]+\.sina(img)?(\.com)?\.cn/ +/^(\S+\.)?sax[\dns]?\.sina\.com\.cn/ +/^(\S+\.)?delivery([\d]{2}|dom|modo).com$/ +/^(\S+\.)?[c-s]ads(abs|abz|ans|anz|ats|atz|del|ecs|ecz|ims|imz|ips|ipz|kis|kiz|oks|okz|one|pms|pmz)\.com/ +/^(\S+\.)?[0-9a-z\-]{26,}\.(com|net|cn)(\.cn)?$/ +/^(\S+\.)?11599[\da-z]{2,20}\.com$/ +/^(\S+\.)?61677[\da-z]{0,20}\.com$/ +/^(\S+\.)?[0-9a-f]{15,}\.com$/ +/^(\S+\.)?[0-9a-z]{16,}\.xyz$/ +/^(\S+\.)?6699[0-9]\.top$/ +/^(\S+\.)?abie[0-9]+\.top$/ +/^(\S+\.)?ad[0-9]{3,}m.com$/ +/^(\S+\.)?aj[0-9]{4,}.online$/ +/^(\S+\.)?xpj[0-9]\.net$/ +/^(\S+\.)?ylx-[0-9].com$/ +/^(\S+\.)?ali2[a-z]\.xyz$/ +/^(\S+\.)?777\-?partners?\.(net|com)$/ +/^(\S+\.)?voyage-prive\.[a-z]+(\.uk)?$/ +/^(\S+\.)?e7[0-9]{2,4}\.(net|com)?$/ +/^(\S+\.)?g[1-4][0-9]{8,9}\.com?$/ +/^(\S+\.)?hg[0-9]{4,5}\.com?$/ +/^(\S+\.)?333[1-9]{2}[0-9]{2}\.com?$/ +/^(\S+\.)?5551[0-9]{3}\.com?$/ +||*serror*.wo.com.cn$dnstype=A|CNAME^ +||8*.tianya.cn^ +||ac*.786ip.com^ +||ac*.faxingchina.com^ +||activity.*.miui.com^ +||adi*.cnool.net^ +||at*.doubanio.com^ +||bj*.9669.cn^ +||d*.xinshipu.com^ +||dm*.yxlady.com^ +||impservice*.youdao.com^ +||ja*.gamersky.com^ +||minero-proxy-*.sh^ +||ping.*.sogou.com^ +||same*.stockstar.com^ +||toujing*.top^ +||bs*.9669.cn^ +||*mistat*.xiaomi.com^ +||assoc-amazon.*^ +||clkservice*.youdao.com^ +||dsp*.youdao.com^ +||pussl*.com^ +||putrr*.com^ +||log*.molitv.cn^ +||adm*.autoimg.cn^ +||cloudservice*.kingsoft-office-service.com^ +||gg*.51cto.com^ +||log.*.hunantv.com^ +||iflyad.*.openstorage.cn^ +||*customstat*.51togic.com^ +||ad*.molitv.cn^ +||ads*-adnow.com^ +||aeros*.tk^ +||analyzer*.fc2.com^ +||admicro*.vcmedia.vn^ +||xn--xhq9mt12cf5v.*^ +||freecontent.*^ +||hostingcloud.*^ +||jshosting.*^ +||sunnimiq*.cf^ +||admob.*^ +||*log.droid4x.cn^ +||*tsdk.vivo.com.cn^ +||*.mmstat.com^ +@@||log.mmstat.com^ +||f-log*.grammarly.io^ +||24log.*^ +||24smi.*^ +||ad-*.wikawika.xyz^ +||ablen*.tk^ +||doubleclick*.xyz^ +||thepiratebay.*^ +||adserver.*^ +||clientlog*.music.163.com^ +||brucelead*.com^ +||gostats.*^ +||gralfusnzpo*.top^ +||oiwjcsh*.top^ +||*-analytics*.huami.com^ +||count*.pconline.com.cn^ +||qchannel*.cn^ +||sda*.xyz^ +||ad-*.com^ +||ad-*.net^ +||webads.*^ +||web-stat.*^ +||waframedia*.*^ +||wafmedia*.*^ +||voluumtrk*.com^ +||vmm-satellite*.com^ +||vente-unique.*^ +||vegaoo*.*^ +||umtrack*.com^ +||grjs0*.com^ +||imglnk*.com^ +||admarvel*.*^ +||admaster*.*^ +||adsage*.*^ +||adsensor*.*^ +||adservice*.*^ +||adsh*.*^ +||adsmogo*.*^ +||adsrvmedia*.*^ +||adsystem*.*^ +||analysis*.*^ +||applovin*.*^ +||appsflyer*.*^ +||domob*.*^ +||duomeng*.*^ +||dwtrack*.*^ +||guanggao*.*^ +||lianmeng*.*^ +||omgmta*.*^ +||omniture*.*^ +||openx*.*^ +||partnerad*.*^ +||pingfore*.*^ +||socdm*.*^ +||supersonicads*.*^ +||tracking*.*^ +||usage*.*^ +||engage.3m*^ +||*-cor0*.api.p001.1drv.com^ +||*33*-*.1drv.com^ +||2cnjuh34j*.com^ +||ssc.southpark*^ +||tr.*.espmp-*fr.net^ +||tdep.vacansoleil.*^ +||da.hornbach.*^ +||*us*watcab*.blob.core.windows.net^ +||xn--wxtr9fwyxk9c.*^ ||00-gov.cn^ ||kwcdn.000dn.com^ ||kwcscdn.000dn.com^ @@ -10,7 +208,6 @@ ||0024aaaa.com^ ||0024aadd.com^ ||003store.com^ -/^(\S+\.)?[0-9a-f]{15,}\.com$/ ||0082tv.net^ ||0086555.com^ ||00880808.com^ @@ -40,7 +237,6 @@ ||027whht.com^ ||028yhtz.com^ ||m.031177.com^ -/^(\S+\.)?[0-9a-z]{16,}\.xyz$/ ||033.com^ ||0330vsdgdwer.xyz^ ||0351dvd.cn^ @@ -224,7 +420,6 @@ ||114park.com^ ||114so.cn^ ||114yeah.com^ -/^(\S+\.)?11599[\da-z]{2,20}\.com$/ ||116b.com^ ||118114.cn^ ||1188.com^ @@ -233,7 +428,6 @@ ||11hrcnll.com^ ||11nux.com^ ||12086.net^ -||analysis*.*^ ||ip.120ask.com^ ||scws.120ask.com^ ||x.120ask.com^ @@ -248,7 +442,6 @@ ||1221dhb.xyz^ ||12291.com^ ||123-counter.de^ -/^(\S+\.)?ad(s?[\d]+|m|s)?\./ ||12306media.com^ ||12322app.com^ ||fzz.cloud.1234507.com^ @@ -273,7 +466,6 @@ ||health1.12584.cn^ ||ir.mail.126.com^ ||admusicpic.music.126.net^ -/^(\S+\.)?analytics(\-|\.)/ ||iadmusicmat.music.126.net^ ||img1.126.net^ ||img3.126.net^ @@ -285,7 +477,6 @@ ||news.push.126.net^ ||pg-ad-b2.ws.126.net^ ||pimg1.126.net^ -/^(\S+\.)?(webstats?|swebstats?|mywebstats?)\./ ||iadmat.nosdn.127.net^ ||pg-ad-b1.nosdn.127.net^ ||yt-adp.nosdn.127.net^ @@ -340,7 +531,6 @@ ||15tianqi.com^ ||adgeo.163.com^ ||channel.m.163.com^ -||clientlog*.music.163.com^ ||e-p4p.163.com^ ||g.163.com^ ||ipservice.163.com^ @@ -469,8 +659,6 @@ ||1d1a.com^ ||1dmp.io^ ||1drj.com^ -||*33*-*.1drv.com^ -||*-cor0*.api.p001.1drv.com^ ||1e310acae6aee.com^ ||1ea1sley.com^ ||p.d.1emn.com^ @@ -486,7 +674,6 @@ ||1hanritten.com^ ||1haosuo.com^ ||1haows.cn^ -/^(\S+\.)?counter(\-|\.)/ ||1i580.com^ ||m.1i94f.cn^ ||static.1j1j.com^ @@ -534,7 +721,6 @@ ||1uejo00npy.buzz^ ||1ulebzhsv7.buzz^ ||odc.1und1.de^ -/^(\S+\.)?pixels?\./ ||1v7.cn^ ||1web.me^ ||1worldonline.com^ @@ -576,7 +762,6 @@ ||217wo.com^ ||21a3dd8ea39c0.com^ ||21c9a53484951.com^ -||adsh*.*^ ||market.21cn.com^ ||admarket.21cn.com^ ||shows.21cn.com^ @@ -625,11 +810,8 @@ ||24businessnews.com^ ||24counter.com^ ||24haitao.net^ -/^(\S+\.)?track(ing)?\./ ||24kad.com^ ||api.24kidea.com^ -||24log.*^ -||24smi.*^ ||24smile.org^ ||24vunvrv.com^ ||24x7adservice.com^ @@ -675,7 +857,6 @@ ||2bj.cn^ ||2bssjsq.com^ ||2c3a97984f45.com^ -||2cnjuh34j*.com^ ||2cnt.net^ ||2d-c.cn^ ||2dbd87c7a091b.com^ @@ -764,7 +945,6 @@ ||330ca589.space^ ||3324.cn^ ||dm1.3328.cn^ -/^(\S+\.)?333[1-9]{2}[0-9]{2}\.com?$/ ||333bj.cloud^ ||333dm.com^ ||333wan.com^ @@ -791,7 +971,6 @@ ||35jd5gql9m.monster^ ||35kds.com^ ||c.mse.360.cn^ -||lianmeng*.*^ ||s.360.cn^ ||s.so.360.cn^ ||s.union.360.cn^ @@ -898,7 +1077,6 @@ ||37xs.net^ ||381s.net^ ||38330.bet^ -/^(\S+\.)?s?metrics\./ ||38499.com^ ||38c99.com^ ||38ra.com^ @@ -961,7 +1139,6 @@ ||g.3lian.com^ ||3lift.com^ ||3lr67y45.com^ -||engage.3m*^ ||engageru.3mrussia.ru^ ||engageru2.3mrussia.ru^ ||3munion.net^ @@ -1125,7 +1302,6 @@ ||51chumoping.com^ ||log.51cto.com^ ||logs.51cto.com^ -||gg*.51cto.com^ ||51dengshan.cn^ ||51dianji.cn^ ||51dmn.top^ @@ -1159,10 +1335,8 @@ ||1.51sxue.cn^ ||51sxzz.com^ ||51taifu.com^ -||*customstat*.51togic.com^ ||51vipedu.com^ ||51weidashi.com^ -||ad-*.com^ ||51wxyx.cn^ ||c.51xmgys.com^ ||e.51xmgys.com^ @@ -1228,7 +1402,6 @@ ||m.551144.com^ ||wwww.551144.com^ ||552239b90400b7.com^ -/^(\S+\.)?5551[0-9]{3}\.com?$/ ||555b2b.com^ ||555p555p.com^ ||555vps.cn^ @@ -1396,7 +1569,6 @@ ||61165.com^ ||612.com^ ||614514.com^ -/^(\S+\.)?61677[\da-z]{0,20}\.com$/ ||6198399e4910e66-ovc.com^ ||m.61lvi.cn^ ||u1.61sou.com^ @@ -1441,7 +1613,6 @@ ||6669667.com^ ||668559.com^ ||66992949.com^ -/^(\S+\.)?6699[0-9]\.top$/ ||66cn.com^ ||1.66law.cn^ ||66wen.com^ @@ -1576,7 +1747,6 @@ ||77455.com^ ||7759.com^ ||775e11b6033.com^ -/^(\S+\.)?777\-?partners?\.(net|com)$/ ||77777.org^ ||777a2aceac3ff.com^ ||777seo.com^ @@ -1597,7 +1767,6 @@ ||77vip.wang^ ||77xtv.com^ ||77zhuan.com^ -||ac*.786ip.com^ ||788111.com^ ||788xj.com^ ||7891655.cn^ @@ -1868,10 +2037,6 @@ ||business.92wy.com^ ||930cn.top^ ||9376ec23d50b1.com^ -||937744.com^ -||937785.com^ -||937791.com^ -/9377[a-z]{2}\.com$/ ||m.937920.com^ ||93aihbjs7bv4.com^ ||93ta.cn^ @@ -1897,8 +2062,6 @@ ||963fc.com^ ||964ka.cn^ ||9665yx.com^ -||bj*.9669.cn^ -||bs*.9669.cn^ ||js.9669.cn^ ||9669.com^ ||e.967nd.cn^ @@ -2151,10 +2314,8 @@ ||abgeobalancer.com^ ||abgligarchan.com^ ||abi.run^ -/^(\S+\.)?abie[0-9]+\.top$/ ||ablebodiedcool.com^ ||ablehed.pro^ -||ablen*.tk^ ||ablenctionalle.info^ ||ablerivetdoubted.com^ ||ablida.net^ @@ -2218,10 +2379,8 @@ ||accedenonre.club^ ||accelacomm.com^ ||acceleratesign.com^ -/^(\S+\.)?([a-z\d\-]+\.)?(?!xn--)[^\.\/]{26,}\.(com|net|cn)(\.cn)?$/ ||accengage.net^ ||somni.accenture.com^ -||tracking*.*^ ||acceptablecolor.com^ ||acceptableserver.com^ ||acceptancecedehumorous.com^ @@ -2335,14 +2494,12 @@ ||acxiom-online.com^ ||acxiomapac.com^ ||acybrccvwoftb.com^ -||ad-*.net^ ||ad-cloud.jp^ ||ad-m.asia^ ||ad-plus.cn^ ||ad-server.co.za^ ||ad-serverparc.nl^ ||ad-vice.biz^ -/^(\S+\.)?ad[0-9]{3,}m.com$/ ||ad1data.com^ ||ad1rtb.com^ ||ad2adnetwork.biz^ @@ -2677,8 +2834,6 @@ ||admarket.mobi^ ||admarketplace.net^ ||admartzone.com^ -||admarvel*.*^ -||admaster*.*^ ||admatrix.jp^ ||admaxim.com^ ||admaya.in^ @@ -2709,7 +2864,6 @@ ||admjmp.com^ ||admngronline.com^ ||admo.tv^ -||admob.*^ ||admobile.top^ ||admon.cn^ ||admother.com^ @@ -2885,14 +3039,12 @@ ||ads-for-free.com^ ||ads-pixiv.net^ ||ads-twitter.com^ -||ads*-adnow.com^ ||ads2ads.net^ ||ads2srv.com^ ||ads4cheap.com^ ||ads4xxx.com^ ||adsafeprotected.com^ ||adsafety.net^ -||adsage*.*^ ||adsagony.com^ ||adsalvo.com^ ||adsame.com^ @@ -2915,7 +3067,6 @@ ||adsdot.ph^ ||adsensecamp.com^ ||adsensedetective.com^ -||adsensor*.*^ ||adser.io^ ||adserve.com^ ||adserve.ph^ @@ -2923,7 +3074,6 @@ ||adserverplus.com^ ||adserverpub.com^ ||adservi.com^ -||adservice*.*^ ||adservingfactory.com^ ||adservinginternational.com^ ||adservme.com^ @@ -2961,7 +3111,6 @@ ||adslot.com^ ||adslvr.com^ ||adsmarket.com^ -||adsmogo*.*^ ||adsmoon.com^ ||adsnative.com^ ||adsnetworkserver.com^ @@ -2988,7 +3137,6 @@ ||adsrv.me^ ||adsrv.us^ ||adsrv4k.com^ -||adsrvmedia*.*^ ||adsrvr.org^ ||adssend.net^ ||adstarget.net^ @@ -3169,7 +3317,6 @@ ||advertur.ru^ ||advfeeds.com^ ||advg.jp^ -/^(\S+\.)?widgets?\./ ||widgetcf.adviceiq.com^ ||advideum.com^ ||adview.cn^ @@ -3290,7 +3437,6 @@ ||aeoprw.cn^ ||som.aeroplan.com^ ||pzxhyp.aeropostale.com^ -||aeros*.tk^ ||cookie.aerostatonet.it^ ||adobeanalytics.aerotek.com^ ||aes01.com^ @@ -3325,7 +3471,6 @@ ||affili.st^ ||affiliate-b.com^ ||affiliate-robot.com^ -/^(\S+\.)?affiliat(es?[0-9a-z]*?|ion[0-9\-a-z]*?|ly[0-9a-z\-]*?)\./ ||imp.affiliator.com^ ||affiliaxe.com^ ||affiliclk.org^ @@ -3347,7 +3492,6 @@ ||afftrack.com^ ||afftrack.pro^ ||afftrk.online^ -/afgr[\d]{1,2}\.com$/ ||afi-b.com^ ||afj0.com^ ||afjlb.com^ @@ -3578,7 +3722,6 @@ ||dmm.aizhan.com^ ||fpbb.aizhan.com^ ||aizhigu.com.cn^ -/^(\S+\.)?aj[0-9]{4,}.online$/ ||ajapk.com^ ||ajarsubscriber.com^ ||ajaxcdn.org^ @@ -3701,7 +3844,6 @@ ||bmp.ali213.net^ ||bmp1.ali213.net^ ||web.ali213.net^ -/^(\S+\.)?ali2[a-z]\.xyz$/ ||aliadvert.ru^ ||aliapp.org^ ||acookie.alibaba.com^ @@ -4222,7 +4364,6 @@ ||dynamic.aol.com^ ||free.aol.com^ ||im.aol.de^ -||adserver.*^ ||aombjl099.com^ ||aomde.com^ ||aomeng.net^ @@ -4328,7 +4469,6 @@ ||applift.com^ ||crwan.applinzi.com^ ||applk.cn^ -||applovin*.*^ ||appn.center^ ||appnext.com^ ||api.appodeal.com^ @@ -4343,7 +4483,6 @@ ||approvalglamourduly.com^ ||apprupt.com^ ||adx.appsdk.com.cn^ -||appsflyer*.*^ ||appsmall.mobi^ ||advancedtracker.appspot.com^ ||amp-error-reporting.appspot.com^ @@ -4513,7 +4652,6 @@ ||artgullyhep.com^ ||articismstre.fun^ ||stats.articlesbase.com^ -||omniture*.*^ ||log.artipbox.net^ ||a.artistasdigitais.net^ ||artisticdisgraceevidently.com^ @@ -4606,7 +4744,6 @@ ||assignedlikecrawford.com^ ||assimilatesmartlyawfully.com^ ||assionwreckl.top^ -||assoc-amazon.*^ ||assoctrac.com^ ||assumineuron.site^ ||assumptivestation.com^ @@ -4666,7 +4803,6 @@ ||btrace.play.aiseet.atianqi.com^ ||mtrace.play.aiseet.atianqi.com^ ||news-l.play.aiseet.atianqi.com^ -||omgmta*.*^ ||otheve.play.aiseet.atianqi.com^ ||othstr.play.aiseet.atianqi.com^ ||p-l.play.aiseet.atianqi.com^ @@ -4843,7 +4979,6 @@ ||rd.autohome.com.cn^ ||rdx.autohome.com.cn^ ||autoid.com^ -||adm*.autoimg.cn^ ||autoline-top.com^ ||automatad.com^ ||automatedtraffic.com^ @@ -4896,7 +5031,6 @@ ||averoconnector.com^ ||avfgoatbyyerys.com^ ||stats.avg.com^ -/^(\S+\.)?toolbar\./ ||oqbimz.aviasales.ru^ ||pgs.aviationweek.com^ ||avis-verifies.com^ @@ -6745,7 +6879,6 @@ ||c0012.brsimg.com^ ||brsrvr.com^ ||brtsumthree.com^ -||brucelead*.com^ ||mbns.bruker.com^ ||mc.bruker.com^ ||dtch.brunel.nl^ @@ -7035,7 +7168,6 @@ ||cadfixbig.site^ ||pdmsmrt.cadillac.com^ ||cadreon.com^ -/^(\S+\.)?[c-s]ads(abs|abz|ans|anz|ats|atz|del|ecs|ecz|ims|imz|ips|ipz|kis|kiz|oks|okz|one|pms|pmz)\.com/ ||cadslimz.com^ ||caduka.cn^ ||cafe58cc6d0ac.com^ @@ -8667,7 +8799,6 @@ ||push.cnnindonesia.com^ ||cnnywz.cn^ ||adp.cnool.net^ -||adi*.cnool.net^ ||adp1.cnool.net^ ||ida.cnool.net^ ||cnoufangfeng.cn^ @@ -10169,7 +10300,6 @@ ||g.delivery.net^ ||open.delivery.net^ ||p.delivery.net^ -/delivery([\d]{2}|dom|modo).com$/ ||boomerang.dell.com^ ||nsm.dell.com^ ||sp.delmarvanow.com^ @@ -10792,7 +10922,6 @@ ||b.your.offers.dominos.com^ ||domnlk.com^ ||secure.info.domo.com^ -||domob*.*^ ||domodomain.com^ ||tr.notification-gdpr.domofinance.fr^ ||domparce.pro^ @@ -10851,7 +10980,6 @@ ||dotui.cn^ ||dou777.com^ ||erebor.douban.com^ -||at*.doubanio.com^ ||5.douben8.com^ ||xingyao.doubiy.com^ ||double-check.com^ @@ -10861,7 +10989,6 @@ ||doubleclick-net.com^ ||doubleclick.com^ ||doubleclick.net^ -||doubleclick*.xyz^ ||doubleclickbygoogle.com^ ||doubledeepclick.com^ ||doublegear.com^ @@ -10991,7 +11118,6 @@ ||qhzefk.drmartens.com^ ||drmfslx.cn^ ||fzexkf.drogaraia.com.br^ -||*log.droid4x.cn^ ||a02342.droitwichadvertiser.co.uk^ ||marketing.dropbox.com^ ||dropsymooant.com^ @@ -11118,7 +11244,6 @@ ||picture.duokan.com^ ||v2.fm.n.duokanbox.com^ ||duomai.com^ -||duomeng*.*^ ||duomilm.com^ ||duoroumao.cn^ ||wl.duoshitong.com^ @@ -11286,7 +11411,6 @@ ||e399.com^ ||e521d17fa185a2.com^ ||e5d944a25e468d.com^ -/^(\S+\.)?e7[0-9]{2,4}\.(net|com)?$/ ||e7594ca72746.com^ ||e8934fbbed0495.com^ ||e94a941778d.com^ @@ -11340,7 +11464,6 @@ ||mdws.eastcoastcu.ca^ ||afpimages.eastday.com^ ||mini.eastday.com^ -/^(\S+\.)?tongji\./ ||admissions.easterncollege.ca^ ||easternpush.xyz^ ||bdstatic.eastmoney.com^ @@ -12135,7 +12258,6 @@ ||esm1.net^ ||esmcaverag.club^ ||esomniture.com^ -||tr.*.espmp-*fr.net^ ||w88.espn.com^ ||espreditionm.club^ ||aktion.esprit-club.com^ @@ -12694,7 +12816,6 @@ ||faunlesnuff.co^ ||click.favordelivery.com^ ||fawhuksy.com^ -||ac*.faxingchina.com^ ||bdjs.faxingzhan.com^ ||bjs.faxingzhan.com^ ||consent.faz.net^ @@ -12716,7 +12837,6 @@ ||fbufrl15br.com^ ||dvrxgs.fc-moto.de^ ||js.fc090.com^ -||analyzer*.fc2.com^ ||fc2b9b7ce3165.com^ ||fccinteractive.com^ ||fccxgjg.com^ @@ -13437,7 +13557,6 @@ ||freebitco.in^ ||freebloghitcounter.com^ ||content.freeconference.com^ -||freecontent.*^ ||freecounter.it^ ||freecounter.ovh^ ||freecountercode.com^ @@ -13742,7 +13861,6 @@ ||g1mm3d.cn^ ||g1psz5.cn^ ||g1thub.com^ -/^(\S+\.)?g[1-4][0-9]{8,9}\.com?$/ ||g22rbb7.com^ ||g27zkdvsxl.com^ ||g35.cc^ @@ -13840,7 +13958,6 @@ ||gamersad.com^ ||gamersbanner.com^ ||click.gamersky.com^ -||ja*.gamersky.com^ ||gamescarousel.com^ ||gamesims.ru^ ||saa.gamespot.com^ @@ -14507,7 +14624,6 @@ ||goofypismica.com^ ||google-analytics.com^ ||google-rank.org^ -/^(\S+\.)?adservice\.google\./ ||fcmatch.google.com^ ||mail-ads.google.com^ ||plusone.google.com^ @@ -14518,7 +14634,6 @@ ||pagead-tpc.l.google.com^ ||pagead.google.com^ ||pagead.l.google.com^ -||partnerad*.*^ ||googleadservices.com^ ||googleadsl.com^ ||googleadsserving.cn^ @@ -14567,7 +14682,6 @@ ||goslavispro.info^ ||gospecularavch.site^ ||gosquared.com^ -||gostats.*^ ||got-money.online^ ||gotagy.com^ ||gotchosen.com^ @@ -14651,9 +14765,7 @@ ||grairsoa.com^ ||graivaik.com^ ||graizoah.com^ -||gralfusnzpo*.top^ ||gnar.grammarly.com^ -||f-log*.grammarly.io^ ||gramombird.com^ ||grampouz.net^ ||sadbmetrics.granadablogs.com^ @@ -14748,7 +14860,6 @@ ||gripdownload.co^ ||grirault.net^ ||gritchuw.com^ -||grjs0*.com^ ||grmtas.com^ ||grmtech.net^ ||groackam.com^ @@ -14862,7 +14973,6 @@ ||srepdata.guampdn.com^ ||bd1.guancha.cn^ ||guang8.cc^ -||guanggao*.*^ ||guangsss1999.com^ ||guangweixinxi345.cn^ ||bdjs.guangyuanol.cn^ @@ -15546,7 +15656,6 @@ ||hg-labs.com^ ||hg417.bet^ ||hg5858.net^ -/^(\S+\.)?hg[0-9]{4,5}\.com?$/ ||hg8dc7bm.com^ ||hgbasics.com^ ||hgbn.rocks^ @@ -15944,7 +16053,6 @@ ||horiticaldist.fun^ ||horizonattendant.com^ ||info.horizononline.com^ -||da.hornbach.*^ ||hornsboast.com^ ||hornsbundlebetter.com^ ||hornsgrid.com^ @@ -15974,7 +16082,6 @@ ||sstats.hostelbookers.com^ ||sstats.hostelworld.com^ ||hosticanaffiliate.com^ -||hostingcloud.*^ ||hostip.info^ ||hostpush.info^ ||hot-3d-girls.com^ @@ -16156,7 +16263,6 @@ ||huafangzhou.com^ ||huafujr.com^ ||huahuaka.com^ -||*-analytics*.huami.com^ ||huanbao110.com.cn^ ||huanbaoxiangmu.xyz^ ||huangdao.info^ @@ -16252,7 +16358,6 @@ ||da.hunantv.com^ ||res.hunantv.com^ ||click.hunantv.com^ -||log.*.hunantv.com^ ||log.hunantv.com^ ||p2.hunantv.com^ ||hundun.mobi^ @@ -16793,7 +16898,6 @@ ||ak.imgaft.com^ ||ak1.imgaft.com^ ||imgfeedget.com^ -||imglnk*.com^ ||imglt.com^ ||imgpak.xyz^ ||likemore-go.imgsmail.ru^ @@ -18226,7 +18330,6 @@ ||jsfuz.com^ ||jsgo979.com^ ||jshonghuadq.com^ -||jshosting.*^ ||jsinfo.net^ ||jsjs.pro^ ||jsjxhd.com^ @@ -18768,7 +18871,6 @@ ||kingpolo.com.cn^ ||kingshape.top^ ||abroad-ad.kingsoft-office-service.com^ -||cloudservice*.kingsoft-office-service.com^ ||bannera.kingsoft-office-service.com^ ||moupdate1.kingsoft-office-service.com^ ||rating6.kingsoft-office-service.com^ @@ -21571,7 +21673,6 @@ ||metok.sys.miui.com^ ||proxy.sec.miui.com^ ||hot.browser.intl.miui.com^ -||activity.*.miui.com^ ||api.brs.intl.miui.com^ ||api.newsfeed.intl.miui.com^ ||huangye.miui.com^ @@ -21669,7 +21770,6 @@ ||mmotraffic.com^ ||mmpcqstnkcelx.com^ ||mmpool.org^ -||*.mmstat.com^ ||mmszxc.top^ ||mmtro.com^ ||add.mmyuer.com^ @@ -21802,8 +21902,6 @@ ||mokuz.ru^ ||mol18.biz^ ||molfkqiw.com^ -||ad*.molitv.cn^ -||log*.molitv.cn^ ||log.tv.moliv.cn^ ||mollnia.com^ ||momdanwillingness.com^ @@ -23325,7 +23423,6 @@ ||cpms.now.com^ ||party-vqgdyvoycc.now.sh^ ||coin-hive-proxy-ybydcnjgkl.now.sh^ -||minero-proxy-*.sh^ ||mxcdn1.now.sh^ ||mxcdn2.now.sh^ ||npcdn1.now.sh^ @@ -23795,7 +23892,6 @@ ||oihudydlsvxsi.com^ ||oinvalentpriv.top^ ||oita4bali.com^ -||oiwjcsh*.top^ ||oiycak.com^ ||ojbhoukw.com^ ||ojeergoy.com^ @@ -24060,7 +24156,6 @@ ||openmindedisabella.com^ ||opensharecount.com^ ||openstat.net^ -||iflyad.*.openstorage.cn^ ||o.opentable.com^ ||resources.opentext.com^ ||resources.opentext.de^ @@ -24070,7 +24165,6 @@ ||uniclick.openv.com^ ||m.openv.tv^ ||openvenue.com^ -||openx*.*^ ||operaserver.com^ ||operatedelivery.com^ ||operateprojectioninvest.com^ @@ -24722,7 +24816,6 @@ ||pcommaging.site^ ||pcon.space^ ||bestpush.pconline.com.cn^ -||count*.pconline.com.cn^ ||ivy.pconline.com.cn^ ||imgad0.pconline.com.cn^ ||33.pcpop.com^ @@ -26250,7 +26343,6 @@ ||pushwhy.com^ ||pushwoosh.com^ ||pushworldtool.com^ -||pussl*.com^ ||pussy-pics.net^ ||media.pussycash.com^ ||pussyeatingclub.com^ @@ -26258,7 +26350,6 @@ ||putags.com^ ||putanapartners.com^ ||putfeepea.site^ -||putrr*.com^ ||putstairboor.com^ ||puttrotgob.com^ ||puuvpsveaskxzb.com^ @@ -26352,7 +26443,6 @@ ||qbop.com^ ||dn-growing.qbox.me^ ||qcgg.net^ -||qchannel*.cn^ ||qcjslm.com^ ||qcl777.com^ ||log.qvb.qcloud.com^ @@ -26452,7 +26542,6 @@ ||path.qidian.com^ ||qdp.qidian.com^ ||cj.qidian.com^ -||dwtrack*.*^ ||game.qidian.com^ ||o.if.qidian.com^ ||uedas.qidian.com^ @@ -26677,7 +26766,6 @@ ||otheve.beacon.qq.com^ ||othstr.beacon.qq.com^ ||buluo.qq.com^ -||pingfore*.*^ ||pingjs.qq.com^ ||pingma.qq.com^ ||pingmid.qq.com^ @@ -28606,7 +28694,6 @@ ||sdabfw.cn^ ||m.sdaih.com^ ||sdaiv.com^ -||sda*.xyz^ ||sdasasyydd.com^ ||mdws.sdcu.com^ ||sddan.com^ @@ -28758,7 +28845,6 @@ ||segs.jp^ ||sehiba.com^ ||sehoweve.fun^ -||usage*.*^ ||ebis.seibu-k.co.jp^ ||seislational.club^ ||seitentipp.com^ @@ -29404,12 +29490,10 @@ ||adbox.sina.com.cn^ ||beacon.sina.com.cn^ ||count.video.sina.com.cn^ -/^(\S+\.)?d[\d]+\.sina(img)?(\.com)?\.cn/ ||log.interest.mix.sina.com.cn^ ||matwbp.iask.sina.com.cn^ ||p4p.sina.com.cn^ ||pfp.sina.com.cn^ -/^(\S+\.)?sax[\dns]?\.sina\.com\.cn/ ||add.sina.com.cn^ ||leju.sina.com.cn^ ||cre.mix.sina.com.cn^ @@ -29859,7 +29943,6 @@ ||socalledsteadilyeducated.com^ ||hiuplq.soccer24.com^ ||hiuplq.soccerstand.com^ -||socdm*.*^ ||sochr.com^ ||social-bookmarking-tools.de^ ||social-sb.com^ @@ -29964,7 +30047,6 @@ ||p3p.sogou.com^ ||pbd.sogou.com^ ||pd.sogou.com^ -||ping.*.sogou.com^ ||psfq.gou.sogou.com^ ||pull.push.sogou.com^ ||pv.sogou.com^ @@ -30133,7 +30215,6 @@ ||southene.club^ ||cod.southmoney.com^ ||icn.southmoney.com^ -||ssc.southpark*^ ||sanalytics.southpointcasino.com^ ||stats.southswindon-pc.gov.uk^ ||southvane.com^ @@ -30632,7 +30713,6 @@ ||stoassod.com^ ||stocksbsc.com^ ||info.stockstar.com^ -||same*.stockstar.com^ ||ydrboq.stockx.com^ ||stoffickiesolding.site^ ||stokehovemade.work^ @@ -30852,7 +30932,6 @@ ||sunjianlong.com^ ||sunmedia.net^ ||creatives.sunmedia.tv^ -||sunnimiq*.cf^ ||marketing.sunny.org^ ||sunnybluecoral.com^ ||sunnysmedia.com^ @@ -30893,7 +30972,6 @@ ||sadb.superrtl.de^ ||supersitetime.com^ ||supersonic.com^ -||supersonicads*.*^ ||yajkhd.supersports.com^ ||superstat.info^ ||superstats.com^ @@ -31072,7 +31150,6 @@ ||syiae.com^ ||syjuyyfi.xyz^ ||sykty.com^ -/syma[a-z]\.cn$/ ||clicktime.symantec.com^ ||elq.symantec.com^ ||nsg.symantec.com^ @@ -31905,7 +31982,6 @@ ||imgad.thepaper.cn^ ||imgadpai.thepaper.cn^ ||thepayporn.com^ -||thepiratebay.*^ ||theplayadvisor.com^ ||go.theregister.com^ ||therejockeryfu.fun^ @@ -32057,7 +32133,6 @@ ||tianwenhu.com^ ||collect.tianya.cn^ ||stat.tianya.cn^ -||8*.tianya.cn^ ||bdj.tianya.cn^ ||click.tianya.cn^ ||dol.tianya.cn^ @@ -32477,7 +32552,6 @@ ||toufangzhe.cn^ ||toughopponent.com^ ||touglesy.net^ -||toujing*.top^ ||toukeedo.com^ ||touphipt.com^ ||hk2d.tourismemauricie.com^ @@ -33443,7 +33517,6 @@ ||umrrcta.cn^ ||umsns.com^ ||stat.umsu.de^ -||umtrack*.com^ ||umv0.com^ ||umv5.com^ ||umwyfqgsg.com^ @@ -33878,7 +33951,6 @@ ||v9wuyulou.com^ ||va-endpoint.com^ ||vacaneedasap.com^ -||tdep.vacansoleil.*^ ||vaccnavalcod.website^ ||vacwrite.com^ ||vadpay.com^ @@ -33965,7 +34037,6 @@ ||vchiy.com^ ||impress.vcita.com^ ||vcmedia.com^ -||admicro*.vcmedia.vn^ ||vcmrlwcafliaa.com^ ||vcommission.com^ ||vcrypt.net^ @@ -33986,7 +34057,6 @@ ||veduy.com^ ||k.veepee.it^ ||veewakim.net^ -||vegaoo*.*^ ||vegaschina.cn^ ||feedback.vegasgoldenknights.com^ ||vehemenceclung.com^ @@ -34011,7 +34081,6 @@ ||venonita.com^ ||venotrouble.biz^ ||ea.venta-unica.com^ -||vente-unique.*^ ||ventilatorvisitedgrain.com^ ||ventivmedia.com^ ||ventrequmus.com^ @@ -34320,7 +34389,6 @@ ||adsdk.vivo.com.cn^ ||adsstatic.vivo.com.cn^ ||adxlog.vivo.com.cn^ -||*tsdk.vivo.com.cn^ ||stnetsdk.appstore.vivo.com.cn^ ||vcardsdkservice.vivo.com.cn^ ||vivocha.com^ @@ -34367,7 +34435,6 @@ ||vmhzvqzx.com^ ||logs.vmixcore.com^ ||vmjjzk.cn^ -||vmm-satellite*.com^ ||vmmpxl.com^ ||vmqgouvq.com^ ||vmraahnmspzy.com^ @@ -34439,7 +34506,6 @@ ||volumegently.com^ ||volutionorigi.site^ ||voluumtracker.com^ -||voluumtrk*.com^ ||volvelle.tech^ ||volyze.com^ ||vonvthodzhxz.com^ @@ -34470,7 +34536,6 @@ ||phonograph2.voxmedia.com^ ||providence.voxmedia.com^ ||targeting.voxus.tv^ -/^(\S+\.)?voyage-prive\.[a-z]+(\.uk)?$/ ||stats.voyages-sncf.com^ ||t.voyages-sncf.com^ ||tr.email.voyagesleclerc.com^ @@ -34599,8 +34664,6 @@ ||a.waczt.cn^ ||wadsotch.com^ ||wafflesgenuine.com^ -||wafmedia*.*^ -||waframedia*.*^ ||wagenlux.cn^ ||wagerestrictedrebuild.com^ ||wagerjoint.com^ @@ -34715,7 +34778,6 @@ ||adsc.wasu.tv^ ||vali.cp12.wasu.tv^ ||acsystem.wasu.tv^ -||adsystem*.*^ ||adwasu.wasu.tv^ ||afp.wasu.tv^ ||ems.cp12.wasu.tv^ @@ -34834,13 +34896,11 @@ ||web-boosting.net^ ||web-counter.net^ ||stat.web-regie.com^ -||web-stat.*^ ||web-visor.com^ ||pm.web.com^ ||ymprove.web.de^ ||web605.cn^ ||web8.net^ -||webads.*^ ||tr.webantenna.info^ ||webassembly.st^ ||webassembly.stream^ @@ -35231,7 +35291,6 @@ ||wigetmedia.com^ ||wigglecrisis.com^ ||tracker.wigzopush.com^ -||ad-*.wikawika.xyz^ ||wikia-beacon.com^ ||beacon.wikia-services.com^ ||speed.wikia.net^ @@ -35284,7 +35343,6 @@ ||encoderfarmstatsnew.servicebus.windows.net^ ||insitez.blob.core.windows.net^ ||optanon.blob.core.windows.net^ -||*us*watcab*.blob.core.windows.net^ ||telemetry.remoteapp.windowsazure.com^ ||windowsxi.com^ ||windzq.com^ @@ -35403,7 +35461,6 @@ ||wnprot.com^ ||wnsoth.cn^ ||wo-x.cn^ -||*serror*.wo.com.cn^ ||wo19.top^ ||wo685.com^ ||woafujoa.com^ @@ -35946,7 +36003,6 @@ ||xiaomeihq.info^ ||xiaomengquan.cn^ ||a.market.xiaomi.com^ -||*mistat*.xiaomi.com^ ||bss.pandora.xiaomi.com^ ||de.pandora.xiaomi.com^ ||dvb.pandora.xiaomi.com^ @@ -36062,7 +36118,6 @@ ||xinshengchuanmei.cn^ ||v.xinshide.cn^ ||jiaoben.xinshipu.cn^ -||d*.xinshipu.com^ ||j.xinshipu.com^ ||xintaizhaoming.com^ ||xinterface.cn^ @@ -36196,8 +36251,6 @@ ||xn--wcsy74a6d835f5lf.com^ ||xn--wxt79hbyb675a.online^ ||xn--wxtr44c.video^ -||xn--wxtr9fwyxk9c.*^ -||xn--xhq9mt12cf5v.*^ ||xn01.xyz^ ||xncgroup.cn^ ||xncyiwbwfuqx.com^ @@ -36229,7 +36282,6 @@ ||secureforms.xperthr.com^ ||partners.xpertmarket.com^ ||xpigohyzfdcgp.com^ -/^(\S+\.)?xpj[0-9]\.net$/ ||xpj8088.com^ ||xpjkf888.com^ ||xpjylc9977.com^ @@ -36911,7 +36963,6 @@ ||ylvessovi.pro^ ||ylwu7xm3a1wv.com^ ||ylwy168.com^ -/^(\S+\.)?ylx-[0-9].com$/ ||ylykd.cn^ ||ylzx.net^ ||ym-a.cc^ @@ -36989,13 +37040,10 @@ ||youboranqs01.com^ ||youboranqs02.com^ ||a.youdao.com^ -||clkservice*.youdao.com^ ||c.youdao.com^ ||union.youdao.com^ ||conv.youdao.com^ -||dsp*.youdao.com^ ||gorgon.youdao.com^ -||impservice*.youdao.com^ ||log.yex.youdao.com^ ||rlogs.youdao.com^ ||corp.youdao.com^ @@ -37304,7 +37352,6 @@ ||yxkhpk.com^ ||yxkobelxlljv.com^ ||bbcc.yxlady.com^ -||dm*.yxlady.com^ ||js50.yxlady.com^ ||mmcc.yxlady.com^ ||yxmspx.com^ @@ -38042,62 +38089,3 @@ ||zzxhx.com^ ||zzyanhushi.com^ ||zzyonghao.com^ -@@||ad.10010.com^ -@@||ad.abchina.com^ -@@||ad.kazakinfo.com^ -@@||ad.ourgame.com^ -@@||ad2.uoocuniversity.com^ -@@||ads.amazon^ -@@||ads.askgamblers.com^ -@@||ads.com^ -@@||ads.instacart.com^ -@@||ads.pinterest.com^ -@@||ads.spotify.com^ -@@||ads.taboola.com^ -@@||ads.tiktok.com^ -@@||analytics.amplitude.com^ -@@||api.ad-gone.com^ -@@||api.ads.tvb.com^ -@@||img.ads.tvb.com^ -@@||metrics.torproject.org^ -@@||widget.myrentacar.me^ -@@||tongji.*kuwo.cn^ -@@||tracking.epicgames.com^ -@@||tracker.eu.org^ -@@||track.sendcloud.org^ -@@||log.mmstat.com^ -@@||adm.10jqka.com.cn^ -@@||center-h5api.m.taobao.com^ -@@||app.adjust.com^ -@@||widget.weibo.com^ -@@||uland.taobao.com^ -@@||advertisement.taobao.com^ -@@||baozhang.baidu.com^ -@@||tongji.edu.cn^ -@@||tongji.cn^ -@@||ad.siemens.com.cn^ -@@||sdkapi.sms.mob.com^ -@@||stats.gov.cn^ -@@||tj.gov.cn^ -@@||sax.sina.com.cn^ -@@||news-app.abumedia.yql.yahoo.com^ -@@||meizu.coapi.moji.com^ -@@||track.cpau.info^ -@@||passport.bobo.com^ -@@||stat.jseea.cn^ -@@||widget.intercom.io^ -@@||track.toggl.com^ -@@||www.msftconnecttest.com^ -@@||storage.live.com^ -@@||skyapi.onedrive.live.com^ -@@||counter-strike.net^ -@@||ftp.bmp.ovh^ -@@||profile*.se.360.cn^ -@@||pic.iask.cn^ -@@||ad.jp^ -@@||ad.azure.com^ -@@||ad.cityu.edu.hk^ -@@||edge-enterprise.activity.windows.com^ -@@||edge.activity.windows.com^ -@@||tracking-protection.cdn.mozilla.net^ -@@||skydrivesync.policies.live.net^ diff --git a/anti-ad-easylist.txt.md5 b/anti-ad-easylist.txt.md5 index 0b5d86d2..d498df8b 100644 --- a/anti-ad-easylist.txt.md5 +++ b/anti-ad-easylist.txt.md5 @@ -1 +1 @@ -5e1384b4873d4ff974184e4b8ed7908d \ No newline at end of file +cd07037f1525893c9abaeee5883d4a78 \ No newline at end of file diff --git a/changelog.md b/changelog.md index af7c72af..633d9a73 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,10 @@ # anti-AD change log +#### v4.5.0 (2021.05.02) +- 重构工具`easylist-extend.php`,优化提升3倍执行效率 +- 修复一部分小bug +- 开始支持[AdGuardHome新的modifiers](https://github.com/AdguardTeam/AdGuardHome/wiki/Hosts-Blocklists#modifiers)语法(目前测试阶段,adgh本身解析还有bug) + #### v4.3 (2020.02.04) - 引入无效域名、无效hosts剔除机制,大幅提升各过滤列表命中率 - 为了更好的支持pi-hole,加入一个新的全域名列表 - `anti-ad-domains.txt` diff --git a/scripts/tools/easylist-extend.php b/scripts/tools/easylist-extend.php index 2860ac47..9bb01b4b 100644 --- a/scripts/tools/easylist-extend.php +++ b/scripts/tools/easylist-extend.php @@ -3,14 +3,14 @@ * easylist extend * * @file easylist-extend.php - * @date 2019-12-24 + * @date 2021-05-01 23:14:30 * @author gently * */ set_time_limit(0); error_reporting(7); - +date_default_timezone_set('Asia/Shanghai'); define('START_TIME', microtime(true)); define('ROOT_DIR', dirname(__DIR__) . '/'); define('LIB_DIR', ROOT_DIR . 'lib/'); @@ -26,7 +26,7 @@ $ARR_MERGED_WILD_LIST = array( 'vs*.gzcu.u3.ucweb.com' => null, 'ad*.goforandroid.com' => null, 'bs*.9669.cn' => null, - '*serror*.wo.com.cn' => null, + '*serror*.wo.com.cn' => ['m' => '$dnstype=A|CNAME'], '*mistat*.xiaomi.com' => null, 'affrh20*.com' => null, 'assoc-amazon.*' => null, @@ -136,16 +136,16 @@ $ARR_MERGED_WILD_LIST = array( ); $ARR_REGEX_LIST = array( - '/9377[a-z]{2}\.com$/' => null, + '/^(\S+\.)?9377[a-z0-9]{2}\.com$/' => ['m' => '$dnstype=A'], '/^(\S+\.)?ad(s?[\d]+|m|s)?\./' => null, // '/^(\S+\.)?advert/$dnstype=~CNAME' => null, // TODO dnstype工作不正常,暂时关闭此规则 '/^(\S+\.)?affiliat(es?[0-9a-z]*?|ion[0-9\-a-z]*?|ly[0-9a-z\-]*?)\./' => null, // fixed #406 '/^(\S+\.)?s?metrics\./' => null, // TODO 覆盖面很大 - '/afgr[\d]{1,2}\.com$/' => null, + '/^(\S+\.)?afgr[\d]{1,2}\.com$/' => null, '/^(\S+\.)?analytics(\-|\.)/' => null, '/^(\S+\.)?counter(\-|\.)/' => null, '/^(\S+\.)?pixels?\./' => null, - '/syma[a-z]\.cn$/' => null, + '/^(\S+\.)?syma[a-z]\.cn$/' => null, '/^(\S+\.)?widgets?\./' => null, '/^(\S+\.)?(webstats?|swebstats?|mywebstats?)\./' => null, // '/^(\S+\.)?stat\..+?\.(com|cn|ru|it|de|cz|net|kr|ai|pl|th|fi|fr|jp|hu|bz|sk|se)$/' => null, @@ -155,9 +155,9 @@ $ARR_REGEX_LIST = array( '/^(\S+\.)?adservice\.google\./' => null, '/^(\S+\.)?d[\d]+\.sina(img)?(\.com)?\.cn/' => null, '/^(\S+\.)?sax[\dns]?\.sina\.com\.cn/' => null, - '/delivery([\d]{2}|dom|modo).com$/' => null, + '/^(\S+\.)?delivery([\d]{2}|dom|modo).com$/' => null, '/^(\S+\.)?[c-s]ads(abs|abz|ans|anz|ats|atz|del|ecs|ecz|ims|imz|ips|ipz|kis|kiz|oks|okz|one|pms|pmz)\.com/' => null, - '/^(\S+\.)?([a-z\d\-]+\.)?(?!xn--)[^\.\/]{26,}\.(com|net|cn)(\.cn)?$/' => null, //超长域名 + '/^(\S+\.)?[0-9a-z\-]{26,}\.(com|net|cn)(\.cn)?$/' => null, //超长域名 '/^(\S+\.)?11599[\da-z]{2,20}\.com$/' => null, //"澳门新葡京"系列 '/^(\S+\.)?61677[\da-z]{0,20}\.com$/' => null, //"澳门新葡京"系列 '/^(\S+\.)?[0-9a-f]{15,}\.com$/' => null, //15个字符以上的16进制域名 @@ -185,7 +185,7 @@ $ARR_WHITE_RULE_LIST = array( '@@||tongji.*kuwo.cn^' => 0, '@@||tracking.epicgames.com^' => 0, '@@||tracker.eu.org^' => 1, //强制加白,BT tracker,有形如2.tracker.eu.org的域 - '@@||stats.uptimerobot.com^' => 0, //uptimerobot监测相关 + '@@||stats.uptimerobot.com^' => 1, //uptimerobot监测相关 #38 '@@||track.sendcloud.org^' => 0, //邮件退订域名 '@@||log.mmstat.com^' => 0, //修复优酷视频显示禁用了cookie '@@||adm.10jqka.com.cn^' => 0, //同花顺 @@ -194,7 +194,7 @@ $ARR_WHITE_RULE_LIST = array( '@@||widget.weibo.com^' => 0, //微博外链 '@@||uland.taobao.com^' => 1, //淘宝coupon #83 '@@||advertisement.taobao.com^' => 1, //CNAME 被杀,导致s.click.taobao.com等服务异常 - '@@||baozhang.baidu.com^' => 1, //CNAME e.shifen.com + '@@||baozhang.baidu.com^' => 1, //CNAME e.shifen.com '@@||tongji.edu.cn^' => 1, // 同济大学 '@@||tongji.cn^' => 1, // 同济大学 #281 '@@||ad.siemens.com.cn^' => 1, // 西门子下载中心 @@ -229,7 +229,322 @@ $ARR_WHITE_RULE_LIST = array( //针对上游赦免规则anti-AD不予赦免的规则,即赦免名单的黑名单 $ARR_WHITE_RULE_BLK_LIST = array( + '@@||github.com^' => null, + '@@||github.io^' => null, '@@||ads.nipr.ac.jp^' => null, + '@@||10010.com^' => null, + '@@||10086.cn^' => null, + '@@||17173im.allyes.com^' => null, + '@@||199it.com^' => null, + '@@||1point3acres.com^' => null, + '@@||3dpchip.com^' => null, + '@@||4horlover.com^' => null, + '@@||51job.com^' => null, + '@@||520call.me^' => null, + '@@||5278.cool^' => null, + '@@||58b.tv^' => null, + '@@||5qidgde.com^' => null, + '@@||85po.com^' => null, + '@@||85porn.net^' => null, + '@@||99wbwc.com^' => null, + '@@||99ybcc.com^' => null, + '@@||9zvip.net^' => null, + '@@||abril.com.br^' => null, + '@@||ad.10010.com^' => null, + '@@||ad.abchina.com^' => null, + '@@||ad.alimama.com^' => null, + '@@||ad.kazakinfo.com^' => null, + '@@||ad.ourgame.com^' => null, + '@@||ad2.uoocuniversity.com^' => null, + '@@||adf.ly^' => null, + '@@||adfox.ru^' => null, + '@@||adjs.8591.com.tw^' => null, + '@@||admin.mgid.com^' => null, + '@@||ads.askgamblers.com^' => null, + '@@||ads.com^' => null, + '@@||adsense.woso.cn^' => null, + '@@||adv.blogupp.com^' => null, + '@@||adv.cr^' => null, + '@@||adv.gg^' => null, + '@@||adv.welaika.com^' => null, + '@@||advert.kf5.com^' => null, + '@@||aetv.com^' => null, + '@@||affyun.com^' => null, + '@@||ak77now.pixnet.net^' => null, + '@@||analytics.amplitude.com^' => null, + '@@||annhe.net^' => null, + '@@||anyknew.com^' => null, + '@@||api-merchants.skimlinks.com^' => null, + '@@||api.ad-gone.com^' => null, + '@@||api.ads.tvb.com^' => null, + '@@||api.nyda.pro^' => null, + '@@||api.recaptcha.net^' => null, + '@@||apk.tw^' => null, + '@@||app-advertise.zhihuishu.com^' => null, + '@@||app.adroll.com^' => null, + '@@||archiveteam.org^' => null, + '@@||arstechnica.com^' => null, + '@@||aternos.org^' => null, + '@@||bde4.cc^' => null, + '@@||beta.bugly.qq.com^' => null, + '@@||bingfeng.tw^' => null, + '@@||blackmod.net^' => null, + '@@||blog.ztjal.info^' => null, + '@@||brighteon.com^' => null, + '@@||browser.cloud.ucweb.com^' => null, + '@@||btsax.info^' => null, + '@@||buyad.bi-xenon.cn^' => null, + '@@||captcha.su.baidu.com^' => null, + '@@||ccllaa.com^' => null, + '@@||centro.co.il^' => null, + '@@||changyou.com^' => null, + '@@||chinamobile.com^' => null, + '@@||chinatelecom.com.cn^' => null, + '@@||chuangkit.com^' => null, + '@@||cloud.mail.ru^' => null, + '@@||club.tgfcer.com^' => null, + '@@||cmechina.net^' => null, + '@@||cnprint.org^' => null, + '@@||cocomanhua.com^' => null, + '@@||colatour.com.tw^' => null, + '@@||consent-pref.trustarc.com^' => null, + '@@||consent.trustarc.com^' => null, + '@@||cookielawinfo.com^' => null, + '@@||coolinet.com^' => null, + '@@||cwtv.com^' => null, + '@@||cy.com^' => null, + '@@||d1-dm.com^' => null, + '@@||dailymail.co.uk^' => null, + '@@||dashboard.idealmedia.com^' => null, + '@@||dashboard.lentainform.com^' => null, + '@@||dashboard.marketgid.com^' => null, + '@@||dashboard.mgid.com^' => null, + '@@||dashboard.tovarro.com^' => null, + '@@||destinationamerica.com^' => null, + '@@||digit77.com^' => null, + '@@||dilidili.one^' => null, + '@@||displayad.naver.com^' => null, + '@@||dizhi99.com^' => null, + '@@||dlkoo.cc^' => null, + '@@||dlkoo.com^' => null, + '@@||dmhy.b168.net^' => null, + '@@||doubibackup.com^' => null, + '@@||download.jumpw.com^' => null, + '@@||download.mokeedev.com^' => null, + '@@||e9china.net^' => null, + '@@||easylife.tw^' => null, + '@@||ecitic.com^' => null, + '@@||edmondpoon.com^' => null, + '@@||elife-cloud.blogspot.com^' => null, + '@@||eolinker.com^' => null, + '@@||eucookiedirective.com^' => null, + '@@||experienceleague.adobe.com^' => null, + '@@||experienceleague.corp.adobe.com^' => null, + '@@||ez3c.tw^' => null, + '@@||fangcloud.com^' => null, + '@@||feed.mix.sina.com.cn^' => null, + '@@||fharr.com^' => null, + '@@||flattr.com^' => null, + '@@||fontawesome.com^' => null, + '@@||front-go.lemall.com^' => null, + '@@||fullmatchesandshows.com^' => null, + '@@||game735.com^' => null, + '@@||games.pch.com^' => null, + '@@||gaus.ee^' => null, + '@@||gaybeeg.info^' => null, + '@@||gelbooru.com^' => null, + '@@||getrelax.cc^' => null, + '@@||ggg50.pw^' => null, + '@@||golangnote.com^' => null, + '@@||gooogle.how^' => null, + '@@||hanjubaike.com^' => null, + '@@||hanjuwang.com^' => null, + '@@||hanjuwang.net^' => null, + '@@||healthyadvertising.es^' => null, + '@@||hh010.com^' => null, + '@@||history.com^' => null, + '@@||ibf.tw^' => null, + '@@||identity.mparticle.com^' => null, + '@@||img.ads.tvb.com^' => null, + '@@||informer.com^' => null, + '@@||inoreader.com^' => null, + '@@||ipfs-lab.com^' => null, + '@@||jetzt.de^' => null, + '@@||jin10.com^' => null, + '@@||jinyongci.com^' => null, + '@@||jjkmn.com^' => null, + '@@||jlthjy.com^' => null, + '@@||joyk.com^' => null, + '@@||jsfiddle.net^' => null, + '@@||jsjiami.com^' => null, + '@@||kissjav.com^' => null, + '@@||kk665403.pixnet.net^' => null, + '@@||laotiesao.vip^' => null, + '@@||ldxinyong.com^' => null, + '@@||league-funny.com^' => null, + '@@||leagueofmovie.com^' => null, + '@@||lemon.baidu.com^' => null, + '@@||liumingye.cn^' => null, + '@@||lnk2.cc^' => null, + '@@||login.mos.ru^' => null, + '@@||ltzn.9377.com^' => null, + '@@||mcbar.cn^' => null, + '@@||mccc11.com^' => null, + '@@||mccm88.com^' => null, + '@@||media-cache*.pinimg.com^' => null, + '@@||megaup.net^' => null, + '@@||metrics.torproject.org^' => null, + '@@||mi.cn^' => null, + '@@||milfzr.com^' => null, + '@@||minigame.qq.com^' => null, + '@@||mmaa99.xyz^' => null, + '@@||mmee04.com^' => null, + '@@||mmff30.com^' => null, + '@@||mmgd.xyz^' => null, + '@@||mmuu22.link^' => null, + '@@||mnighthk.net^' => null, + '@@||monnsutogatya.com^' => null, + '@@||moviesunusa.net^' => null, + '@@||ms332.com^' => null, + '@@||msn.com^' => null, + '@@||msn.wrating.com^' => null, + '@@||muzlan.top^' => null, + '@@||myqqjd.com^' => null, + '@@||namechk.com^' => null, + '@@||netflav.com^' => null, + '@@||newad.mail.wo.cn^' => null, + '@@||niotv.com^' => null, + '@@||nobugin.com^' => null, + '@@||nodkey.xyz^' => null, + '@@||oiihk.com^' => null, + '@@||olgame.tw^' => null, + '@@||ondemand.sas.com^' => null, + '@@||optout.networkadvertising.org^' => null, + '@@||panjiachen.github.io^' => null, + '@@||pass.1688.com^' => null, + '@@||passets-cdn.pinterest.com^' => null, + '@@||passiontimes.hk^' => null, + '@@||payload.cargocollective.com^' => null, + '@@||pg-wuming.com^' => null, + '@@||phs.tanx.com^' => null, + '@@||pingjs.qq.com^' => null, + '@@||pixelexperience.org^' => null, + '@@||player.sundaysky.com^' => null, + '@@||plugins.matomo.org^' => null, + '@@||poedb.tw^' => null, + '@@||pornbraze.com^' => null, + '@@||premiumleecher.com^' => null, + '@@||profile.getyounity.com^' => null, + '@@||publisher.adservice.com^' => null, + '@@||qqdie.com^' => null, + '@@||r3sub.com^' => null, + '@@||receive-a-sms.com^' => null, + '@@||redditarchive.com^' => null, + '@@||restream.io^' => null, + '@@||reuters.com^' => null, + '@@||rojadirecta.me^' => null, + '@@||rule34hentai.net^' => null, +// '@@||s-media*.pinimg.com^' => null, + '@@||sakai-hk.com^' => null, + '@@||sc2casts.com^' => null, + '@@||sciencechannel.com^' => null, + '@@||scyts.com^' => null, + '@@||sdc.pingan.com^' => null, + '@@||searchad.naver.com^' => null, + '@@||seedingup.com^' => null, + '@@||seedingup.de^' => null, + '@@||seedingup.es^' => null, + '@@||seedingup.fr^' => null, + '@@||seedingup.it^' => null, + '@@||serve.netsh.org^' => null, + '@@||services.pornhub.com^' => null, + '@@||seselah.com^' => null, + '@@||sexylove.club^' => null, + '@@||seyise8.com^' => null, + '@@||seyy66.space^' => null, + '@@||share1223.com^' => null, + '@@||shopback.com.tw^' => null, + '@@||slack.com^' => null, + '@@||smallseotools.com^' => null, + '@@||smtcaw.com^' => null, + '@@||social.krunker.io^' => null, + '@@||socialmedia.by^' => null, + '@@||softwarebrother.com^' => null, + '@@||sourcepoint.telegraph.co.uk^' => null, + '@@||spanishdict.com^' => null, + '@@||speedtest.net^' => null, + '@@||spiegel.de^' => null, + '@@||sssbozh.com^' => null, + '@@||stream4free.live^' => null, + '@@||swiso.org^' => null, + '@@||switching.software^' => null, + '@@||swjoy.com^' => null, + '@@||szhr.com.cn^' => null, + '@@||szhr.com^' => null, + '@@||technews.tw^' => null, + '@@||television-envivo.com^' => null, + '@@||teliad.com^' => null, + '@@||teliad.de^' => null, + '@@||teliad.es^' => null, + '@@||teliad.fr^' => null, + '@@||teliad.it^' => null, + '@@||th-sjy.com^' => null, + '@@||thefreedictionary.com^' => null, + '@@||thimble.mozilla.org^' => null, + '@@||thisav.com^' => null, + '@@||tiktok.com^' => null, + '@@||tlc.com^' => null, + '@@||tomshardware.co.uk^' => null, + '@@||tomshardware.com^' => null, + '@@||transferwise.com^' => null, + '@@||trip.cmbchina.com^' => null, + '@@||ttkdex.com^' => null, + '@@||tuhu.cn^' => null, + '@@||tui.click^' => null, + '@@||tweaktown.com^' => null, + '@@||twofactorauth.org^' => null, + '@@||udp2p.com^' => null, + '@@||upload.tube8.com^' => null, + '@@||uptostream.com^' => null, + '@@||upxin.net^' => null, + '@@||urlgalleries.net^' => null, + '@@||v2rayssr.com^' => null, + '@@||vd.l.qq.com^' => null, + '@@||viu.tv^' => null, + '@@||ware.shop.jd.com^' => null, + '@@||wavebox.io^' => null, + '@@||web.archive.org^' => null, + '@@||websetnet.com^' => null, + '@@||weithenn.org^' => null, + '@@||wenxuecity.com^' => null, + '@@||wgun.net^' => null, + '@@||wholehk.com^' => null, + '@@||widget.myrentacar.me^' => null, + '@@||wikia.nocookie.net^' => null, + '@@||wikibooks.org^' => null, + '@@||wikidata.org^' => null, + '@@||wikinews.org^' => null, + '@@||wikipedia.org^' => null, + '@@||wikiquote.org^' => null, + '@@||wikiversity.org^' => null, + '@@||wiktionary.org^' => null, + '@@||ws.webcaster.pro^' => null, + '@@||www.gsxt.gov.cn^' => null, + '@@||xia1ge.com^' => null, + '@@||xianzhenyuan.cn^' => null, + '@@||xidian.edu.cn^' => null, + '@@||xilinjie.com^' => null, + '@@||xiuren.org^' => null, + '@@||xmpp-chat.pornhub.com^' => null, + '@@||xmxing.net^' => null, + '@@||yellowbridge.com^' => null, + '@@||yesiget.i234.me^' => null, + '@@||yibada.com^' => null, + '@@||ymso.cc^' => null, + '@@||yygsz.com^' => null, + '@@||zbj.com^' => null, + '@@||zeplin.io^' => null, + '@@||zippyshare.com^' => null, ); //针对上游通配符规则中anti-AD不予采信的规则,即通配符黑名单 @@ -261,11 +576,7 @@ if(!is_file(WILDCARD_SRC) || !is_file(WHITERULE_SRC)){ die(0); } -$src_fp = fopen($src_file, 'r'); $wild_fp = fopen(WILDCARD_SRC, 'r'); -$new_fp = fopen($src_file . '.txt', 'w'); - -$wrote_wild = array(); $arr_wild_src = array(); while(!feof($wild_fp)){ @@ -282,14 +593,11 @@ while(!feof($wild_fp)){ } $matched = false; + // TODO 此处匹配似乎还不够完美,需再次斟酌 foreach($ARR_REGEX_LIST as $regex_str => $regex_row){ - $arr_regex = explode('/$', $regex_str); - $final_regex = $regex_str; - if(count($arr_regex) > 1){ - $final_regex = $arr_regex[0] . '/'; - } - if(preg_match($final_regex, str_replace('*', '',$matches[1]))){ + if(preg_match($regex_str, str_replace('*', '', $matches[1]))){ $matched = true; + break; } } if($matched){ @@ -301,143 +609,130 @@ fclose($wild_fp); $arr_wild_src = array_merge($arr_wild_src, $ARR_MERGED_WILD_LIST); -$insert_pos = $written_size = $line_count = 0; -while(!feof($src_fp)){ - $row = fgets($src_fp, 512); - if(empty($row)){ - continue; - } +$written_size = $line_count = 0; - if((substr($row, 0, 1) === '!')){ - if(substr($row, 0, 13) === '!Total lines:'){ - $insert_pos = $written_size; - } - $written_size += fwrite($new_fp, $row); - continue; - } - -// if(!preg_match('/^\|.+?/', $row)){ -// $written_size += fwrite($new_fp, $row); -// continue; -// } - - $matched = false; - foreach($ARR_REGEX_LIST as $regex_str => $regex_row){ - $arr_regex = explode('/$', $regex_str); - $final_regex = $regex_str; - if(count($arr_regex) > 1){ - $final_regex = $arr_regex[0] . '/'; - } - if(preg_match($final_regex, substr(trim($row), 2, -1))){ - $matched = true; - if(!array_key_exists($regex_str, $wrote_wild)){ - $written_size += fwrite($new_fp, "${regex_str}\n"); - $line_count++; - $wrote_wild[$regex_str] = 1; - } - break; - } - } - - if($matched){ - continue; - } - - foreach($arr_wild_src as $core_str => $wild_row){ - $arr_wild_sub = explode('$', $core_str); - $match_rule = ''; - if(count($arr_wild_sub) > 1){ - $match_rule = str_replace(array('.', '*', '-'), array('\\.', '.*', '\\-'), $arr_wild_sub[0]); - }else{ - $match_rule = str_replace(array('.', '*', '-'), array('\\.', '.*', '\\-'), $core_str); - } - - if(preg_match("/\|(\S+\.)?${match_rule}/", $row)){ - if(!array_key_exists($core_str, $wrote_wild)){ - if(count($arr_wild_sub) > 1){ - $written_size += fwrite($new_fp, "||${arr_wild_sub[0]}^\$${arr_wild_sub[1]}\n"); - }else{ - $written_size += fwrite($new_fp, "||${core_str}^\n"); - } - - $line_count++; - $wrote_wild[$core_str] = 1; - } - $matched = true; - break; - } - } - - if($matched){ - continue; - } - $written_size += fwrite($new_fp, $row); - $line_count++; -} +$src_content = file_get_contents($src_file); +$attached_content = ''; +$tmp_replaced_content = ''; //按需写入白名单规则 -$wrote_whitelist = array(); $whiterule = file(WHITERULE_SRC, FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); $whiterule = array_fill_keys($whiterule, 0); $ARR_WHITE_RULE_LIST = array_merge($whiterule, $ARR_WHITE_RULE_LIST); +$wrote_whitelist = []; +$remained_white_rule = []; foreach($ARR_WHITE_RULE_LIST as $row => $v){ if(empty($row) || substr($row, 0, 1) !== '@' || substr($row, 1, 1) !== '@'){ continue; } $matches = array(); - if(!preg_match('/@@\|\|([0-9a-z\.\-\*]+?)\^/', $row, $matches)){ + if(!preg_match('/^@@\|\|([0-9a-z\.\-\*]+?)\^/', $row, $matches)){ continue; } if(array_key_exists("@@||${matches[1]}^", $ARR_WHITE_RULE_BLK_LIST)){ continue; } + + if(array_key_exists($matches[1], $wrote_whitelist)){ + continue; + } + if($v === 1){ $wrote_whitelist[$matches[1]] = null; - fwrite($new_fp, "@@||${matches[1]}^\n"); + $attached_content .= "@@||${matches[1]}^\n"; $line_count++; continue; } - foreach($wrote_wild as $core_str => $val){ - if(substr($core_str, 0, 1) === '/'){ - $match_rule = $core_str; - $arr_regex = explode('/$', $match_rule); - }else{ - $match_rule = str_replace(array('.', '*'), array('\\.', '.*'), $core_str); - $match_rule = "/^${match_rule}/"; - } + $origin_white_rule = $matches[1]; + $wrote_whitelist[$origin_white_rule] = null; + $matches[1] = str_replace('*', '.abc.', $matches[1]); + $matches[1] = str_replace('..', '.', $matches[1]); + $extract_domain = addressMaker::extract_main_domain($matches[1]); + if(!$extract_domain){ + $extract_domain = $matches[1]; + } + // TODO 3级或以上域名加白2级域名的情况未纳入 + if(strpos($src_content, '|' . $extract_domain) === false){ + $remained_white_rule[$origin_white_rule] = 1; + continue; + } - $final_regex = $match_rule; - if(count($arr_regex) > 1){ - $final_regex = $arr_regex[0] . '/'; - } + $attached_content .= "@@||${origin_white_rule}^\n"; + $line_count++; +} +unset($wrote_whitelist); - if(preg_match($final_regex, $matches[1])){ - $domain = addressMaker::extract_main_domain($matches[1]); - if(array_key_exists($domain, $black_domain_list) || - (is_array($black_domain_list[$domain]) && in_array($matches[1], $black_domain_list[$domain])) - ){ - continue; - } - if(array_key_exists($matches[1], $wrote_whitelist)){ - continue; - } - $wrote_whitelist[$matches[1]] = null; - fwrite($new_fp, "@@||${matches[1]}^\n"); +// 清洗正则表达式匹配 +foreach($ARR_REGEX_LIST as $regex_str => $regex_row){ + $php_regex = str_replace(array('/^', '$/'), array('/^\|\|', '\^'), $regex_str); + $php_regex = preg_replace('/(.+?[^$])\/$/', '\1.*\^', $php_regex); + $php_regex .= "\n/m"; + + $tmp_replaced_content = preg_replace($php_regex, '', $src_content); + if($tmp_replaced_content === $src_content){ + continue; + } + $src_content = $tmp_replaced_content; + $tmp_replaced_content = ''; + $attached_content .= $regex_str; + if($regex_row && is_array($regex_row) && $regex_row['m']){ + $attached_content .= $regex_row['m']; + } + $attached_content .= "\n"; + $line_count++; + + foreach($remained_white_rule as $rmk => $rmv){ + if(preg_match($php_regex, '||' . str_replace('*', '123', $rmk) . "^\n\n")){ + $attached_content .= '@@||' . $rmk . "^\n"; $line_count++; + unset($remained_white_rule[$rmk]); } } } -if(($insert_pos > 0) && (fseek($new_fp, $insert_pos) === 0)){ - fwrite($new_fp, "!Total lines: {$line_count}\n"); +// 清洗*号模糊匹配 +$wrote_wild_list = array(); +foreach($arr_wild_src as $wild_rule => $wild_value){ + + if(array_key_exists($wild_rule, $wrote_wild_list)){ + continue; + } + + $php_regex = '/^\|\|(\S+\.)?' . str_replace(array('.', '*', '-'), array('\\.', '.*', '\\-'), $wild_rule) . "\^\n/m"; + $tmp_replaced_content = preg_replace($php_regex, '', $src_content); + if($tmp_replaced_content == $src_content){ + continue; + } + + $wrote_wild_list[$wild_rule] = 1; + + $src_content = $tmp_replaced_content; + $tmp_replaced_content = ''; + $attached_content .= '||' . $wild_rule; + if($wild_value && is_array($wild_value) && $wild_value['m']){ + $attached_content .= $wild_value['m']; + } + + $attached_content .= "^\n"; + + $line_count++; + + foreach($remained_white_rule as $rmk => $rmv){ + if(preg_match($php_regex, '||' . str_replace('*', '123', $rmk) . "^\n\n")){ + $attached_content .= '@@||' . $rmk . "^\n"; + $line_count++; + unset($remained_white_rule[$rmk]); + } + } } -fclose($src_fp); -fclose($new_fp); -rename($src_file . '.txt', $src_file); +$line_count += substr_count($src_content, "\n"); +$src_content = str_replace("!Total lines: 00000\n", '!Total lines: ' . $line_count . "\n" . $attached_content, $src_content); + +file_put_contents($src_file, $src_content); file_put_contents($src_file . '.md5', md5_file($src_file)); echo 'Time cost:', microtime(true) - START_TIME, "s, at ", date('m-d H:i:s'), "\n";