diff --git a/adblock-for-dnsmasq.conf b/adblock-for-dnsmasq.conf index 0e80430c..9bb3262e 100644 --- a/adblock-for-dnsmasq.conf +++ b/adblock-for-dnsmasq.conf @@ -1,5 +1,6 @@ -#VER=20200211051637 +#VER=20200211053020 #URL=https://github.com/privacy-protection-tools/anti-AD +#TOTAL_COUNT=31363 address=/0024aaaa.com/ address=/0026645142c89aeb1.com/ address=/003store.com/ @@ -1474,9 +1475,18 @@ address=/snbnhngl.ifeng.com/ address=/stadig.ifeng.com/ address=/ztyumn.ifeng.com/ address=/api.iapps.ifeng.com/ +address=/api.newad.ifeng.com/ +address=/dmpclick.deliver.ifeng.com/ +address=/dol.deliver.ifeng.com/ +address=/dolphin.deliver.ifeng.com/ address=/err.ifengcloud.ifeng.com/ address=/exp.3g.ifeng.com/ +address=/ids.deliver.ifeng.com/ +address=/ids1.deliver.ifeng.com/ address=/ifengad.3g.ifeng.com/ +address=/iis1.deliver.ifeng.com/ +address=/iis3g.deliver.ifeng.com/ +address=/mfp.deliver.ifeng.com/ address=/stadig0.ifeng.com/ address=/aa24h.com/ address=/aa53df329975c325.com/ @@ -4351,14 +4361,28 @@ address=/mlog.aipai.com/ address=/apas.aipai.com/ address=/atlas.astrology.com/ address=/cmstool.youku.com/ +address=/adp.atm.youku.com/ +address=/bsv.atm.youku.com/ +address=/count.atm.youku.com/ address=/dmapp.youku.com/ +address=/html.atm.youku.com/ +address=/ipm.atm.youku.com/ address=/iyes.youku.com/ +address=/m.atm.youku.com/ +address=/mf.atm.youku.com/ address=/mobilemsg.youku.com/ address=/myes.youku.com/ address=/push.m.youku.com/ address=/r.l.youku.com/ address=/service.danmu.youku.com/ address=/statis.mobile.youku.com/ +address=/v2html.atm.youku.com/ +address=/val.atm.youku.com/ +address=/valb.atm.youku.com/ +address=/valc.atm.youku.com/ +address=/valf.atm.youku.com/ +address=/valp.atm.youku.com/ +address=/valt.atm.youku.com/ address=/ad.api.3g.tudou.com/ address=/ad.api.mobile.youku.com/ address=/atmalinks.com/ @@ -7486,6 +7510,7 @@ address=/cpl1.ru/ address=/cpm.amateurcommunity.com/ address=/cpm.amateurcommunity.de/ address=/cpm.biz/ +address=/cpm.cm.kankan.com/ address=/biz5.kankan.com/ address=/stat.kankan.com/ address=/kkpgv.kankan.com/ @@ -8149,14 +8174,27 @@ address=/da-ads.com/ address=/as.mgtv.com/ address=/audit.aaa.mgtv.com/ address=/cmop.mgtv.com/ +address=/imgaliyun.da.mgtv.com/ address=/imgaliyun.res.mgtv.com/ +address=/m2.da.mgtv.com/ address=/mobaliyun.res.mgtv.com/ +address=/mobile.da.mgtv.com/ +address=/mobile2.da.mgtv.com/ +address=/pc.da.mgtv.com/ +address=/pc1.da.mgtv.com/ address=/pcvideoaliyun.titan.mgtv.com/ address=/pcvideoyd.titan.mgtv.com/ address=/pcweb-v1.log.mgtv.com/ address=/pcweb.v1.mgtv.com/ +address=/py.da.mgtv.com/ address=/v1-play.log.mgtv.com/ +address=/v2.da.mgtv.com/ address=/v2.log.mgtv.com/ +address=/web.da.mgtv.com/ +address=/web2.da.mgtv.com/ +address=/x.da.mgtv.com/ +address=/y.da.mgtv.com/ +address=/ys.da.mgtv.com/ address=/da.netease.com/ address=/analytics.hz.netease.com/ address=/statis.push.netease.com/ @@ -15967,8 +16005,6 @@ address=/mindlytix.com/ address=/mindopu.com/ address=/mindrook.com/ address=/mindtake.com/ -address=/mine.nahnoji.cz/ -address=/js.nahnoji.cz/ address=/torrent.pw/ address=/minemytraffic.com/ address=/minerad.com/ @@ -27870,7 +27906,6 @@ address=/valf.atm.cp31.ott.cibntv.net/ address=/adinf.voole.com/ address=/apkinfo.voole.com/ address=/adinfo.ra1.xlmc.sec.miui.com/ -address=/adv.sec.miui.com/ address=/api.ra2.xlmc.sec.miui.com/ address=/api.sec.miui.com/ address=/api.tw06.xlmc.sec.miui.com/ @@ -31023,7 +31058,6 @@ address=/crosspromo.voodoo.io/ address=/adtilt.com/ address=/activity.m.duiba.com.cn/ address=/activity.tuiapple.com/ -address=/ad.api.3g.tudou.com/ address=/api.tatagou.com.cn/ address=/app.shandjj.com/ address=/tj.koudaitong.com/ diff --git a/anti-ad-domains.txt b/anti-ad-domains.txt index 8f7a5219..c88d431f 100644 --- a/anti-ad-domains.txt +++ b/anti-ad-domains.txt @@ -1,5 +1,6 @@ -#VER=20200211051637 +#VER=20200211053021 #URL=https://github.com/privacy-protection-tools/anti-AD +#TOTAL_COUNT=35852 0024aaaa.com 0026645142c89aeb1.com 003store.com @@ -795,9 +796,9 @@ m.4qn1k.cn 50258bd2b243b24df.com 50bang.org app.50bang.org +union2.50bang.org guess.union2.50bang.org js.50bang.org -union2.50bang.org 50zera.com 51.la ia.51.la @@ -1609,10 +1610,10 @@ img.yangshengtang123.com a.yixie8.com a.yl-taikang.com a.youdao.com +clkservice.youdao.com b.clkservice.youdao.com clkservice.mail.youdao.com clkservice.union.youdao.com -clkservice.youdao.com clkservice2.dict.youdao.com conv.youdao.com d.clkservice.youdao.com @@ -1635,6 +1636,7 @@ impservice.youdao.com impservice2.youdao.com log.yex.youdao.com m.clkservice.youdao.com +corp.youdao.com nc004x.corp.youdao.com nc045x.corp.youdao.com p.clkservice.youdao.com @@ -1644,7 +1646,6 @@ s.clkservice.youdao.com tb060x.corp.youdao.com tb104x.corp.youdao.com ydpushserver.youdao.com -corp.youdao.com a.yuzhainan.com a.zuowenxuan.cn a013.com @@ -1986,11 +1987,11 @@ acxiomapac.com ad-apac.doubleclick.net ad-emea.doubleclick.net ad.doubleclick.net +g.doubleclick.net bid.g.doubleclick.net cm.g.doubleclick.net doubleclick.net ff.doubleclick.net -g.doubleclick.net gan.doubleclick.net googleads.g.doubleclick.net iv.doubleclick.net @@ -2874,9 +2875,9 @@ img-x.jd.com jrad.jd.com stat.m.jd.com u-x.jd.com +x.jd.com u.x.jd.com wn.x.jd.com -x.jd.com mercury.jd.com ads.bridgetrack.com bridgetrack.com @@ -2887,12 +2888,12 @@ dc.ads.linkedin.com px.ads.linkedin.com ads.mp.mydas.mobi ads.mydas.mobi +lp.mydas.mobi aio.lp.mydas.mobi androidsdk.ads.mp.mydas.mobi cvt.mydas.mobi golds.lp.mydas.mobi lp.mp.mydas.mobi -lp.mydas.mobi media.mydas.mobi suo.lp.mydas.mobi mydas.mobi @@ -2957,6 +2958,7 @@ adss.yahoo.com analytics.yahoo.com bats.video.yahoo.com beap-bc.yahoo.com +gemini.yahoo.com beap.gemini.yahoo.com cookiex.ngd.yahoo.com ganon.yahoo.com @@ -2975,7 +2977,6 @@ aliunion.cn.yahoo.com analytics.query.yahoo.com beap.adss.yahoo.com cm.p4p.cn.yahoo.com -gemini.yahoo.com js-apac-ss.ysm.yahoo.com n.gemini.yahoo.com na.ads.yahoo.com @@ -3962,8 +3963,8 @@ c.autohome.com.cn cmx.autohome.com.cn comm.app.autohome.com.cn dspmnt.autohome.com.cn -h.pcd.autohome.com.cn pcd.autohome.com.cn +h.pcd.autohome.com.cn pcmx.autohome.com.cn public.app.autohome.com.cn push.app.autohome.com.cn @@ -4082,6 +4083,7 @@ alltagcloud.info alltracked.com allxin.com allyes.com +adsina.allyes.com 1100.adsina.allyes.com 114.allyes.com 1148.adsina.allyes.com @@ -4094,7 +4096,6 @@ allyes.com 45.adsina.allyes.com 60.adsina.allyes.com a3.allyes.com -adsina.allyes.com adzjvnet.allyes.com allyesbjafa.allyes.com allyesshafa.allyes.com @@ -4276,6 +4277,7 @@ adsview2.qq.com adv.app.qq.com adver.qq.com aeventlog.beacon.qq.com +bugly.qq.com aexception.bugly.qq.com android.bugly.qq.com android.rqd.qq.com @@ -4294,6 +4296,7 @@ cb.l.qq.com cdn.ark.qq.com cfg.imtt.qq.com client.show.qq.com +e.qq.com cm.e.qq.com cm.l.qq.com d.gdt.qq.com @@ -4301,7 +4304,6 @@ d3g.qq.com dir.minigame.qq.com download.sj.qq.com dp3.qq.com -e.qq.com etg.qq.com eventlog.beacon.qq.com ex.qq.com @@ -4407,13 +4409,13 @@ v.gdt.qq.com v2.gdt.qq.com vd.l.qq.com video.ureport.push.qq.com +wap.mpush.qq.com video.wap.mpush.qq.com vlive.qqvideo.tc.qq.com vmindhls.tc.qq.com vpic.video.qq.com vr.gdt.qq.com w.l.qq.com -wap.mpush.qq.com win.gdt.qq.com ws.sj.qq.com wxa.wxs.qq.com @@ -4423,7 +4425,6 @@ wxsnsdy.wxs.qq.com wxsnsdythumb.wxs.qq.com x.adnet.qq.com xc.gdt.qq.com -bugly.qq.com openmsf.3g.qq.com mtrace.qq.com mark.l.qq.com @@ -4467,9 +4468,9 @@ record.kuai.xunlei.com stat.download.xunlei.com adsp.xunlei.com api-shoulei-ssl.xunlei.com +live.xunlei.com biz.live.xunlei.com ct.niu.xunlei.com -live.xunlei.com mou.niu.xunlei.com scene.vip.xunlei.com analytics.30m.com @@ -4808,6 +4809,7 @@ anquan.baidu.com antivirus.baidu.com api.cpu.baidu.com api.share.baidu.com +tuisong.baidu.com api.tuisong.baidu.com api0.tuisong.baidu.com api1.tuisong.baidu.com @@ -4925,7 +4927,6 @@ wm.baidu.com wn.pos.baidu.com yingxiao.baidu.com znsv.baidu.com -tuisong.baidu.com usp1.baidu.com plugin.mobopay.baidu.com anti-cheat.info @@ -5621,12 +5622,12 @@ dressimage.img-cn-beijing.aliyuncs.com fs-uc-nearme-com-cn.oss-cn-hangzhou.aliyuncs.com img-dsp.oss-cn-beijing.aliyuncs.com jiayi1.oss-cn-shanghai.aliyuncs.com +log.aliyuncs.com jsadsdisplay.cn-beijing.log.aliyuncs.com mobaders.oss-cn-beijing.aliyuncs.com ruikeja-mobileoffice.oss-cn-hangzhou.aliyuncs.com ttjx-online.cn-hangzhou.log.aliyuncs.com xz-development.oss-cn-beijing.aliyuncs.com -log.aliyuncs.com badge.facebook.com pixel.facebook.com badges.alltop.com @@ -5660,8 +5661,8 @@ baiduace.com baiduada.babihu.com baiduappu.top baiduccdn1.com -baiducom.bj.bcebos.com bj.bcebos.com +baiducom.bj.bcebos.com cpu-baidu-com-block.cdn.bcebos.com dd713.bj.bcebos.com hzyd.cdn.bcebos.com @@ -5919,13 +5920,13 @@ ggcode.2345.com bdsearch.2345.com dl.2345.com download.2345.com +wan.2345.com g.wan.2345.com houtai.2345.com jifen.2345.com minipage.2345.com tg.jifen.2345.com update.minipage.2345.com -wan.2345.com zhushou.2345.com 2345.com bdcode.35d1.com @@ -6037,10 +6038,12 @@ d2.sina.com.cn d3.sina.com.cn d4.sina.com.cn d5.sina.com.cn +interest.mix.sina.com.cn log.interest.mix.sina.com.cn matwbp.iask.sina.com.cn p4p.sina.com.cn pfp.sina.com.cn +sax.sina.com.cn r.sax.sina.com.cn ad2.sina.com.cn ad3.sina.com.cn @@ -6058,7 +6061,6 @@ dcads.sina.com.cn img.adbox.sina.com.cn img.amp.ad.sina.com.cn int.dpool.sina.com.cn -interest.mix.sina.com.cn log.mix.sina.com.cn m.beacon.sina.com.cn mg.games.sina.com.cn @@ -6066,7 +6068,6 @@ motu.p4p.sina.com.cn r.dmp.sina.com.cn rm.sina.com.cn s.img.mix.sina.com.cn -sax.sina.com.cn sax1.sina.com.cn sax2.sina.com.cn sax3.sina.com.cn @@ -6117,8 +6118,8 @@ becode.qiushibaike.com fzb01.qiushibaike.com becode.xiao84.com salary.xiao84.com -become.successfultogether.co.uk successfultogether.co.uk +become.successfultogether.co.uk becoquin.com bedhdig.cn m.bedhdig.cn @@ -7045,13 +7046,13 @@ r.msn.com rel.msn.com srtb.msn.com 0.r.msn.com +ads1.msn.com a.ads1.msn.com +ads2.msn.com a.ads2.msn.com ac3.msn.com ads.eu.msn.com ads.msn.com -ads1.msn.com -ads2.msn.com adsyndication.msn.com analytics.msn.com analytics.msnbc.msn.com @@ -7899,6 +7900,7 @@ acs.wapa.taobao.com openjmacs.m.taobao.com click.tv.repubblica.it click.udimg.com +uol.com.br click.uol.com.br dna.uol.com.br logger.rm.uol.com.br @@ -7906,7 +7908,6 @@ logger.uol.com.br metrics.uol.com.br tm.uol.com.br tracker.bt.uol.com.br -uol.com.br click.vgnett.no click2.cafepress.com click4assistance.co.uk @@ -9009,6 +9010,7 @@ cpl1.ru cpm.amateurcommunity.com cpm.amateurcommunity.de cpm.biz +cpm.cm.kankan.com 20200201.logic.cpm.cm.kankan.com 20200202.logic.cpm.cm.kankan.com 20200203.logic.cpm.cm.kankan.com @@ -9042,11 +9044,11 @@ cpm.biz 20200231.logic.cpm.cm.kankan.com biz5.kankan.com count.cpm.cm.kankan.com +stat.kankan.com distf.stat.kankan.com kkpgv.kankan.com kkpgv2.kankan.com float.kankan.com -stat.kankan.com cpm10.com cpm360.com cpmadvisors.com @@ -9120,8 +9122,8 @@ cqwqxapujf.com cqyfjodshwuici.com cqyhd.com cr-nielsen.com -q.s.cr-nielsen.com s.cr-nielsen.com +q.s.cr-nielsen.com t.cr-nielsen.com crabbychin.com cracataum.com @@ -9137,11 +9139,11 @@ crayon.meishichina.com crazyad.net crazyclickstats.com crazyegg.com +staging2.crazyegg.com editor.staging2.crazyegg.com player.staging2.crazyegg.com script.crazyegg.com shopify.staging2.crazyegg.com -staging2.crazyegg.com vcr.staging2.crazyegg.com youso.crazyegg.com crazyhell.com @@ -9775,8 +9777,8 @@ d93nzb.cn da-ads.com as.mgtv.com audit.aaa.mgtv.com -cdn.cmop.mgtv.com cmop.mgtv.com +cdn.cmop.mgtv.com imgaliyun.da.mgtv.com imgaliyun.res.mgtv.com m2.da.mgtv.com @@ -10388,9 +10390,9 @@ dj-updates.com dj.renren.com ebp.renren.com s.renren.com +jebe.renren.com bolt.jebe.renren.com click.jebe.renren.com -jebe.renren.com shaft.jebe.renren.com static.jebe.renren.com xray.jebe.renren.com @@ -11419,17 +11421,18 @@ pb.i.sogou.com pingback.sogou.com wuliao.epro.sogou.com 123.sogou.com +cpc.sogou.com a1click.cpc.sogou.com adsence.sogou.com +brand.sogou.com alpha.brand.sogou.com +wan.sogou.com athena.wan.sogou.com bazinga.mse.sogou.com -brand.sogou.com bsiet.husky.sogou.com cjroq.bealge.sogou.com config.push.sogou.com cpc.brand.sogou.com -cpc.sogou.com data.haoma.sogou.com download.zhushou.sogou.com dsp.brand.sogou.com @@ -11482,7 +11485,6 @@ sy.brand.sogou.com union.sogou.com vjoz.lu.sogou.com vps.inte.sogou.com -wan.sogou.com wb.brand.sogou.com web.sogou.com xtruh.uranus.sogou.com @@ -13179,9 +13181,9 @@ gg.gw032.com gg.jkmeishi.com ads.service.kugou.com adserviceretry.kugou.com +fanxing.kugou.com channel.fanxing.kugou.com d.kugou.com -fanxing.kugou.com install.kugou.com install2.kugou.com kgmobilestat.kugou.com @@ -13337,12 +13339,14 @@ glaumtok.com glauptan.net glawheejoushpush.com glbdns.microsoft.com +telemetry.microsoft.com alpha.telemetry.microsoft.com bingads.microsoft.com choice.microsoft.com crl.microsoft.com df.telemetry.microsoft.com diagnostics.support.microsoft.com +vortex-win.data.microsoft.com eu.vortex-win.data.microsoft.com i1.services.social.microsoft.com ieonline.microsoft.com @@ -13357,16 +13361,14 @@ sqm.df.telemetry.microsoft.com sqm.telemetry.microsoft.com statsfe1.ws.microsoft.com statsfe2.ws.microsoft.com +watson.microsoft.com survey.watson.microsoft.com telecommand.telemetry.microsoft.com -telemetry.microsoft.com telemetry.urs.microsoft.com us.vortex-win.data.microsoft.com vortex-sandbox.data.microsoft.com vortex-win-sandbox.data.microsoft.com -vortex-win.data.microsoft.com vortex.data.microsoft.com -watson.microsoft.com watson.ppe.telemetry.microsoft.com watson.telemetry.microsoft.com wes.df.telemetry.microsoft.com @@ -17340,8 +17342,8 @@ lindon-pool.win linezing.com acookie.linezing.com hidden-master.linezing.com -js.tongji.linezing.com tongji.linezing.com +js.tongji.linezing.com www.linezing.com linformanceder.info lingdian98.com @@ -17795,6 +17797,7 @@ ltnkbvcm.com ltnvnvxzetvhk.com ltzjkjxx.com lu.sogoucdn.com +theta.sogoucdn.com art.theta.sogoucdn.com bite.theta.sogoucdn.com cdn.lu.sogoucdn.com @@ -17806,7 +17809,6 @@ jpg.inte.sogoucdn.com moka.inte.sogoucdn.com omg.inte.sogoucdn.com png.lu.sogoucdn.com -theta.sogoucdn.com wds.inte.sogoucdn.com luagrcmjnovjp.com lucidcommerce.com @@ -18573,6 +18575,7 @@ miaozhen.com a.ads.cn.miaozhen.com a.cn.miaozhen.com a.tac.miaozhen.com +sitemonitor.cn.miaozhen.com alicdnv2.sitemonitor.cn.miaozhen.com baofeng.m.cn.miaozhen.com c.m.cn.miaozhen.com @@ -18600,7 +18603,6 @@ msg.cn.miaozhen.com msg.mbm.cn.miaozhen.com pptv.m.cn.miaozhen.com qq.m.cn.miaozhen.com -sitemonitor.cn.miaozhen.com sohutv.m.cn.miaozhen.com stm-cdn.cn.miaozhen.com stm-collect.cn.miaozhen.com @@ -18662,8 +18664,6 @@ mindlytix.com mindopu.com mindrook.com mindtake.com -mine.nahnoji.cz -js.nahnoji.cz mine.torrent.pw torrent.pw minemytraffic.com @@ -19093,10 +19093,10 @@ ms.computerbild.de ms758.com cz01016102.ms758.com msads.net +global.msads.net a.global.msads.net ads1.msads.net ads2.msads.net -global.msads.net msbftyajwu.com mscimg.com mse2v5oglm.com @@ -19120,9 +19120,9 @@ hotchat-im.iqiyi.com ifacelog.iqiyi.com mbdlog.iqiyi.com msga.cupid.iqiyi.com +notice.iqiyi.com nl.notice.iqiyi.com nl.rcd.iqiyi.com -notice.iqiyi.com paopao.iqiyi.com policy.video.iqiyi.com puma-api.iqiyi.com @@ -22971,8 +22971,8 @@ recognified.net recomendedsite.com recommendation.24.com recommendedbookies.co.uk -record.sportsbetaffiliates.com.au sportsbetaffiliates.com.au +record.sportsbetaffiliates.com.au recoset.com recreativ.ru track.recreativ.ru @@ -23162,8 +23162,8 @@ revbigo.com revcatch.com revcontent.com revdepo.com -cdn1.srv.revdepo.com srv.revdepo.com +cdn1.srv.revdepo.com tags4.revdepo.com revdn.net revenue.com @@ -23621,6 +23621,7 @@ s.360.cn s.so.360.cn s.union.360.cn tf.360.cn +shouji.360.cn act.commercial.shouji.360.cn ad.dev.360.cn ad.gamebox.360.cn @@ -23638,6 +23639,7 @@ cpull.360.cn dev.tg.wan.360.cn down.360.cn e.tf.360.cn +sdk.look.360.cn g.sdk.look.360.cn guess.tf.360.cn h5.mse.360.cn @@ -23655,15 +23657,13 @@ pub.se.360.cn qstore.inner.api.sj.360.cn rd.wan.360.cn s.lianmeng.360.cn +stat.lianmeng.360.cn s1.stat.lianmeng.360.cn -sdk.look.360.cn service.jiagu.360.cn shake.360.cn shake.f.360.cn -shouji.360.cn show.look.360.cn soft.data.weather.360.cn -stat.lianmeng.360.cn stat.m.360.cn stat.tf.360.cn stats.guess.tf.360.cn @@ -27766,6 +27766,7 @@ utokapa.com utorido.com utpgxaylxurhbc.com utrack.hexun.com +hxsame.hexun.com h01.hxsame.hexun.com h02.hxsame.hexun.com h03.hxsame.hexun.com @@ -27776,7 +27777,6 @@ h07.hxsame.hexun.com h08.hxsame.hexun.com h09.hxsame.hexun.com h10.hxsame.hexun.com -hxsame.hexun.com itv.hexun.com hexun.com utrehter.com @@ -31199,12 +31199,12 @@ zzwflxs.com zzxlukodff.com zzxosget.com zzyonghao.com +up.qingdaonews.com 0.up.qingdaonews.com 1.up.qingdaonews.com 2.up.qingdaonews.com 3.up.qingdaonews.com 4.up.qingdaonews.com -up.qingdaonews.com 018520.com 01daa.lubih.com 01daa.lutci.com @@ -31214,8 +31214,8 @@ up.qingdaonews.com e98fe.luytr.com 01daa.luzdz.com 0x5.me -1.allyes.com.cn allyes.com.cn +1.allyes.com.cn 1.bashenghuo.com 2.bashenghuo.com 1.chcx.cn @@ -31275,6 +31275,7 @@ www.sinawap.com 3dns-3.adobe.com activate-sea.adobe.com activate-sjc0.adobe.com +wip3.adobe.com activate.wip3.adobe.com adobe-dns-2.adobe.com adobe-dns-3.adobe.com @@ -31284,7 +31285,6 @@ geo2.adobe.com get3.adobe.com hl2rcv.adobe.com practivate.adobe.com -wip3.adobe.com wwis-dubc1-vip60.adobe.com 3gmimo.com product.3gmimo.com @@ -31368,9 +31368,9 @@ cb.alimama.cn img.alimama.cn tw.alimama.cn alimama.cn +api.ad-locus.com a.api.ad-locus.com ad-locus.com -api.ad-locus.com user.ad-locus.com a.appcpa.net a.appjiagu.com @@ -31455,6 +31455,7 @@ mis.g.mi.com mivideo.g.mi.com sg.a.stat.mi.com staging.admin.e.mi.com +static.youmi.net a.img.static.youmi.net a1.img.static.youmi.net a2.img.static.youmi.net @@ -31463,13 +31464,12 @@ aos.wall.youmi.net apk.static.youmi.net au.youmi.net banner.img.static.youmi.net +stat.gw.youmi.net cf8d.stat.gw.youmi.net notifiter.youmi.net pkg-cdn.youmi.net r.youmi.net s.youmi.net -stat.gw.youmi.net -static.youmi.net t.youmi.net track.dmp.youmi.net www.youmi.net @@ -31486,10 +31486,10 @@ qq.irs01.com rest.irs01.com sohu.irs01.com v.irs01.com +z.irs01.com v12-r0566gbscjw.z.irs01.com v13-6173431.z.irs01.com yyt.irs01.com -z.irs01.com a.itiexue.net jph.itiexue.net a.jyeoo.com @@ -31520,6 +31520,7 @@ a.shangz99991.com a.slsbc.cn a.stat.xiaomi.com abtest.mistat.xiaomi.com +ad.xiaomi.com api.ad.xiaomi.com bss.pandora.xiaomi.com cdn.ad.xiaomi.com @@ -31535,6 +31536,7 @@ m.track.ad.xiaomi.com notice.game.xiaomi.com o2o.api.xiaomi.com ppurifier.game.xiaomi.com +ad.intl.xiaomi.com sdkconfig.ad.intl.xiaomi.com sdkconfig.ad.xiaomi.com shenghuo.xiaomi.com @@ -31555,8 +31557,6 @@ wtradv.market.xiaomi.com zeus.ad.xiaomi.com data.mistat.intl.xiaomi.com adv.sec.miui.com -ad.intl.xiaomi.com -ad.xiaomi.com admob.xiaomi.com a.tujidao.com www.tujidao.com @@ -31613,6 +31613,7 @@ houyi.logger.baofeng.com iphonelog.shouji.baofeng.com log.ltype.baofeng.com log.nvwa.baofeng.com +vdinfo.baofeng.com log.vdinfo.baofeng.com logger.treexml.baofeng.com midinfo.baofeng.com @@ -31625,7 +31626,6 @@ subo.logger.baofeng.com timelog.moviebox.baofeng.com tips.logger.baofeng.com tree.logger.baofeng.com -vdinfo.baofeng.com videodown.baofeng.com vvlog.moviebox.baofeng.com track.easeus.com @@ -31887,7 +31887,6 @@ valf.atm.cp31.ott.cibntv.net adinf.voole.com apkinfo.voole.com adinfo.ra1.xlmc.sec.miui.com -adv.sec.miui.com api.ra2.xlmc.sec.miui.com api.sec.miui.com api.tw06.xlmc.sec.miui.com @@ -31895,6 +31894,7 @@ api.xk.miui.com calopenupdate.comm.miui.com etl.xlmc.sec.miui.com fb.xk.miui.com +tracking.miui.com fcanr.tracking.miui.com hot.browser.miui.com info.analysis.kp.sec.miui.com @@ -31905,7 +31905,6 @@ proxy.sec.miui.com r.browser.miui.com reader.browser.miui.com security.browser.miui.com -tracking.miui.com update.avlyun.sec.miui.com hot.browser.intl.miui.com activity.browser.intl.miui.com @@ -32149,8 +32148,8 @@ counter.m1905.com agn.aty.snmsohu.aisee.tv m.aty.snmsohu.aisee.tv mmg.aty.snmsohu.aisee.tv -agtr.ahksqc.com.cn ahksqc.com.cn +agtr.ahksqc.com.cn ahh8.cn ai.yimg.jp yads.c.yimg.jp @@ -32909,8 +32908,8 @@ choice.microsoft.com.nsatc.net sqm.telemetry.microsoft.com.nsatc.net chuantu.biz cilidaquan.pw -cjiv.chengjie168.com.cn chengjie168.com.cn +cjiv.chengjie168.com.cn ckjyck.qxs.la ddkkrrla.m.qxs.la ddrrccck.m.qxs.la @@ -32960,10 +32959,10 @@ clk.uunt.com cloud.codenow.cn codenow.cn www.codenow.cn +dopa.com.cn cloudcdn.dopa.com.cn mm.dopa.com.cn pd.dopa.com.cn -dopa.com.cn cloudservice12.kingsoft-office-service.com cloudservice13.kingsoft-office-service.com cloudservice22.kingsoft-office-service.com @@ -32982,10 +32981,10 @@ cms.quantserve.com edge.quantserve.com pixel.quantserve.com secure.quantserve.com +v5.juzi.cn cms.v5.juzi.cn id.juzi.cn iu.juzi.cn -v5.juzi.cn www.juzi.cn cmshow.gtimg.cn discuz.gtimg.cn @@ -33037,8 +33036,8 @@ coro.benbaisteel.com dfc1.benbaisteel.com hyfh.benbaisteel.com couchcoaster.jp -count.game.pps.tv game.pps.tv +count.game.pps.tv count.knowsky.com count.wk2.com counter.kingsoft.com @@ -33123,8 +33122,8 @@ shouji.yd126.com www.yd126.com db.cjtcc.cn db.xiaoshuofuwuqi.com -dbnw.jyzmsy.com.cn jyzmsy.com.cn +dbnw.jyzmsy.com.cn dc.liuliang100.com dc.meitustat.com mdc.meitustat.com @@ -33158,12 +33157,12 @@ display.adhudong.com dl-vip.pcfaster.baidu.co.th dl.360safe.com down.360safe.com +update.360safe.com ini.update.360safe.com inst.360safe.com kuaikan.netmon.360safe.com -pdown.stat.360safe.com stat.360safe.com -update.360safe.com +pdown.stat.360safe.com dl.jianshunrui.com dl.kinbest.cn dl.sybspools.com @@ -33587,8 +33586,8 @@ g.hutao1.cn g.koowo.com g.szdn1ms.com g.w5b454.com -g.wan.douyu.com wan.douyu.com +g.wan.douyu.com g.x.evolife.cn g.zhangaiwan.com g.zhoukaika.com @@ -34213,11 +34212,11 @@ m.w7xj7.cn m.wbanv.com m.wgewj.cn m.wnxcg.com +wooboo.com.cn m.wooboo.com.cn static.wooboo.com.cn wap.wooboo.com.cn www.wooboo.com.cn -wooboo.com.cn m.wuqutu.com m.wxjrd.cn m.xingxd.com @@ -34470,8 +34469,8 @@ pc.yingshi.tcclick.1kxun.mobi pclog.suishenyun.net pdfexpert.cc www.pdfexpert.cc -www.xiazai.pdfexpert.cc xiazai.pdfexpert.cc +www.xiazai.pdfexpert.cc pgdt.ugdtimg.com pgg.huabojnxdd.com photo.188kc.cn @@ -35548,7 +35547,6 @@ crosspromo.voodoo.io adtilt.com activity.m.duiba.com.cn activity.tuiapple.com -ad.api.3g.tudou.com api.tatagou.com.cn app.shandjj.com tj.koudaitong.com diff --git a/anti-ad-easylist.txt b/anti-ad-easylist.txt index e0921e38..01ea9d25 100644 --- a/anti-ad-easylist.txt +++ b/anti-ad-easylist.txt @@ -1,5 +1,5 @@ !AdBlock-style blocklists -!VER=20200211051637 +!VER=20200211053020 !URL=https://github.com/privacy-protection-tools/anti-AD ||201*.myhard.com^ ||8*.tianya.cn^ @@ -1492,9 +1492,18 @@ ||stadig.ifeng.com^ ||ztyumn.ifeng.com^ ||api.iapps.ifeng.com^ +||api.newad.ifeng.com^ +||dmpclick.deliver.ifeng.com^ +||dol.deliver.ifeng.com^ +||dolphin.deliver.ifeng.com^ ||err.ifengcloud.ifeng.com^ ||exp.3g.ifeng.com^ +||ids.deliver.ifeng.com^ +||ids1.deliver.ifeng.com^ ||ifengad.3g.ifeng.com^ +||iis1.deliver.ifeng.com^ +||iis3g.deliver.ifeng.com^ +||mfp.deliver.ifeng.com^ ||stadig0.ifeng.com^ ||aa24h.com^ ||aa53df329975c325.com^ @@ -4025,14 +4034,28 @@ ||apas.aipai.com^ ||atlas.astrology.com^ ||cmstool.youku.com^ +||adp.atm.youku.com^ +||bsv.atm.youku.com^ +||count.atm.youku.com^ ||dmapp.youku.com^ +||html.atm.youku.com^ +||ipm.atm.youku.com^ ||iyes.youku.com^ +||m.atm.youku.com^ +||mf.atm.youku.com^ ||mobilemsg.youku.com^ ||myes.youku.com^ ||push.m.youku.com^ ||r.l.youku.com^ ||service.danmu.youku.com^ ||statis.mobile.youku.com^ +||v2html.atm.youku.com^ +||val.atm.youku.com^ +||valb.atm.youku.com^ +||valc.atm.youku.com^ +||valf.atm.youku.com^ +||valp.atm.youku.com^ +||valt.atm.youku.com^ ||atmalinks.com^ ||ato.mx^ ||atomex.net^ @@ -7063,6 +7086,7 @@ ||cpm.amateurcommunity.com^ ||cpm.amateurcommunity.de^ ||cpm.biz^ +||cpm.cm.kankan.com^ ||biz5.kankan.com^ ||kkpgv.kankan.com^ ||kkpgv2.kankan.com^ @@ -7723,14 +7747,27 @@ ||as.mgtv.com^ ||audit.aaa.mgtv.com^ ||cmop.mgtv.com^ +||imgaliyun.da.mgtv.com^ ||imgaliyun.res.mgtv.com^ +||m2.da.mgtv.com^ ||mobaliyun.res.mgtv.com^ +||mobile.da.mgtv.com^ +||mobile2.da.mgtv.com^ +||pc.da.mgtv.com^ +||pc1.da.mgtv.com^ ||pcvideoaliyun.titan.mgtv.com^ ||pcvideoyd.titan.mgtv.com^ ||pcweb-v1.log.mgtv.com^ ||pcweb.v1.mgtv.com^ +||py.da.mgtv.com^ ||v1-play.log.mgtv.com^ +||v2.da.mgtv.com^ ||v2.log.mgtv.com^ +||web.da.mgtv.com^ +||web2.da.mgtv.com^ +||x.da.mgtv.com^ +||y.da.mgtv.com^ +||ys.da.mgtv.com^ ||da.netease.com^ ||statis.push.netease.com^ ||yt-adv.bn.netease.com^ @@ -15497,8 +15534,6 @@ ||mindopu.com^ ||mindrook.com^ ||mindtake.com^ -||mine.nahnoji.cz^ -||js.nahnoji.cz^ ||torrent.pw^ ||minemytraffic.com^ ||minerad.com^ @@ -26821,7 +26856,6 @@ ||adinf.voole.com^ ||apkinfo.voole.com^ ||adinfo.ra1.xlmc.sec.miui.com^ -||adv.sec.miui.com^ ||api.ra2.xlmc.sec.miui.com^ ||api.sec.miui.com^ ||api.tw06.xlmc.sec.miui.com^ diff --git a/anti-ad-surge.txt b/anti-ad-surge.txt index db06d49f..d2f7225e 100644 --- a/anti-ad-surge.txt +++ b/anti-ad-surge.txt @@ -1,5 +1,6 @@ -#VER=20200211051637 +#VER=20200211053020 #URL=https://github.com/privacy-protection-tools/anti-AD +#TOTAL_COUNT=31363 DOMAIN-SUFFIX,0024aaaa.com DOMAIN-SUFFIX,0026645142c89aeb1.com DOMAIN-SUFFIX,003store.com @@ -1474,9 +1475,18 @@ DOMAIN-SUFFIX,snbnhngl.ifeng.com DOMAIN-SUFFIX,stadig.ifeng.com DOMAIN-SUFFIX,ztyumn.ifeng.com DOMAIN-SUFFIX,api.iapps.ifeng.com +DOMAIN-SUFFIX,api.newad.ifeng.com +DOMAIN-SUFFIX,dmpclick.deliver.ifeng.com +DOMAIN-SUFFIX,dol.deliver.ifeng.com +DOMAIN-SUFFIX,dolphin.deliver.ifeng.com DOMAIN-SUFFIX,err.ifengcloud.ifeng.com DOMAIN-SUFFIX,exp.3g.ifeng.com +DOMAIN-SUFFIX,ids.deliver.ifeng.com +DOMAIN-SUFFIX,ids1.deliver.ifeng.com DOMAIN-SUFFIX,ifengad.3g.ifeng.com +DOMAIN-SUFFIX,iis1.deliver.ifeng.com +DOMAIN-SUFFIX,iis3g.deliver.ifeng.com +DOMAIN-SUFFIX,mfp.deliver.ifeng.com DOMAIN-SUFFIX,stadig0.ifeng.com DOMAIN-SUFFIX,aa24h.com DOMAIN-SUFFIX,aa53df329975c325.com @@ -4351,14 +4361,28 @@ DOMAIN-SUFFIX,mlog.aipai.com DOMAIN-SUFFIX,apas.aipai.com DOMAIN-SUFFIX,atlas.astrology.com DOMAIN-SUFFIX,cmstool.youku.com +DOMAIN-SUFFIX,adp.atm.youku.com +DOMAIN-SUFFIX,bsv.atm.youku.com +DOMAIN-SUFFIX,count.atm.youku.com DOMAIN-SUFFIX,dmapp.youku.com +DOMAIN-SUFFIX,html.atm.youku.com +DOMAIN-SUFFIX,ipm.atm.youku.com DOMAIN-SUFFIX,iyes.youku.com +DOMAIN-SUFFIX,m.atm.youku.com +DOMAIN-SUFFIX,mf.atm.youku.com DOMAIN-SUFFIX,mobilemsg.youku.com DOMAIN-SUFFIX,myes.youku.com DOMAIN-SUFFIX,push.m.youku.com DOMAIN-SUFFIX,r.l.youku.com DOMAIN-SUFFIX,service.danmu.youku.com DOMAIN-SUFFIX,statis.mobile.youku.com +DOMAIN-SUFFIX,v2html.atm.youku.com +DOMAIN-SUFFIX,val.atm.youku.com +DOMAIN-SUFFIX,valb.atm.youku.com +DOMAIN-SUFFIX,valc.atm.youku.com +DOMAIN-SUFFIX,valf.atm.youku.com +DOMAIN-SUFFIX,valp.atm.youku.com +DOMAIN-SUFFIX,valt.atm.youku.com DOMAIN-SUFFIX,ad.api.3g.tudou.com DOMAIN-SUFFIX,ad.api.mobile.youku.com DOMAIN-SUFFIX,atmalinks.com @@ -7486,6 +7510,7 @@ DOMAIN-SUFFIX,cpl1.ru DOMAIN-SUFFIX,cpm.amateurcommunity.com DOMAIN-SUFFIX,cpm.amateurcommunity.de DOMAIN-SUFFIX,cpm.biz +DOMAIN-SUFFIX,cpm.cm.kankan.com DOMAIN-SUFFIX,biz5.kankan.com DOMAIN-SUFFIX,stat.kankan.com DOMAIN-SUFFIX,kkpgv.kankan.com @@ -8149,14 +8174,27 @@ DOMAIN-SUFFIX,da-ads.com DOMAIN-SUFFIX,as.mgtv.com DOMAIN-SUFFIX,audit.aaa.mgtv.com DOMAIN-SUFFIX,cmop.mgtv.com +DOMAIN-SUFFIX,imgaliyun.da.mgtv.com DOMAIN-SUFFIX,imgaliyun.res.mgtv.com +DOMAIN-SUFFIX,m2.da.mgtv.com DOMAIN-SUFFIX,mobaliyun.res.mgtv.com +DOMAIN-SUFFIX,mobile.da.mgtv.com +DOMAIN-SUFFIX,mobile2.da.mgtv.com +DOMAIN-SUFFIX,pc.da.mgtv.com +DOMAIN-SUFFIX,pc1.da.mgtv.com DOMAIN-SUFFIX,pcvideoaliyun.titan.mgtv.com DOMAIN-SUFFIX,pcvideoyd.titan.mgtv.com DOMAIN-SUFFIX,pcweb-v1.log.mgtv.com DOMAIN-SUFFIX,pcweb.v1.mgtv.com +DOMAIN-SUFFIX,py.da.mgtv.com DOMAIN-SUFFIX,v1-play.log.mgtv.com +DOMAIN-SUFFIX,v2.da.mgtv.com DOMAIN-SUFFIX,v2.log.mgtv.com +DOMAIN-SUFFIX,web.da.mgtv.com +DOMAIN-SUFFIX,web2.da.mgtv.com +DOMAIN-SUFFIX,x.da.mgtv.com +DOMAIN-SUFFIX,y.da.mgtv.com +DOMAIN-SUFFIX,ys.da.mgtv.com DOMAIN-SUFFIX,da.netease.com DOMAIN-SUFFIX,analytics.hz.netease.com DOMAIN-SUFFIX,statis.push.netease.com @@ -15967,8 +16005,6 @@ DOMAIN-SUFFIX,mindlytix.com DOMAIN-SUFFIX,mindopu.com DOMAIN-SUFFIX,mindrook.com DOMAIN-SUFFIX,mindtake.com -DOMAIN-SUFFIX,mine.nahnoji.cz -DOMAIN-SUFFIX,js.nahnoji.cz DOMAIN-SUFFIX,torrent.pw DOMAIN-SUFFIX,minemytraffic.com DOMAIN-SUFFIX,minerad.com @@ -27870,7 +27906,6 @@ DOMAIN-SUFFIX,valf.atm.cp31.ott.cibntv.net DOMAIN-SUFFIX,adinf.voole.com DOMAIN-SUFFIX,apkinfo.voole.com DOMAIN-SUFFIX,adinfo.ra1.xlmc.sec.miui.com -DOMAIN-SUFFIX,adv.sec.miui.com DOMAIN-SUFFIX,api.ra2.xlmc.sec.miui.com DOMAIN-SUFFIX,api.sec.miui.com DOMAIN-SUFFIX,api.tw06.xlmc.sec.miui.com @@ -31023,7 +31058,6 @@ DOMAIN-SUFFIX,crosspromo.voodoo.io DOMAIN-SUFFIX,adtilt.com DOMAIN-SUFFIX,activity.m.duiba.com.cn DOMAIN-SUFFIX,activity.tuiapple.com -DOMAIN-SUFFIX,ad.api.3g.tudou.com DOMAIN-SUFFIX,api.tatagou.com.cn DOMAIN-SUFFIX,app.shandjj.com DOMAIN-SUFFIX,tj.koudaitong.com diff --git a/lib/addressMaker.class.php b/lib/addressMaker.class.php index 2c89316c..d1775fe9 100644 --- a/lib/addressMaker.class.php +++ b/lib/addressMaker.class.php @@ -13,12 +13,6 @@ class addressMaker{ const LINK_URL = 'https://github.com/privacy-protection-tools/anti-AD'; - const TMP_NO_STRICT = array( //临时需要关闭严格模式的主域名 - 'herokuapp.com' => null, - 'vidoza.net' => null, - 'nahnoji.cz' => null, - 'cloudfront.net' => null, - ); /** * 分离域名 @@ -76,9 +70,10 @@ class addressMaker{ * * @param String $str_easylist 原始的easylist列表字符串 * @param Boolean $strict_mode 严格模式,启用时将屏蔽该域所在的主域名,例如www.baidu.com,将获取到baidu.com并写入最终列表 + * @param Array $arr_whitelist 白名单列表 * @return array */ - public static function get_domain_from_easylist($str_easylist, $strict_mode = false){ + public static function get_domain_from_easylist($str_easylist, $strict_mode = false, $arr_whitelist = array()){ $strlen = strlen($str_easylist); if($strlen < 10){ return array(); @@ -108,7 +103,7 @@ class addressMaker{ $row = $matches[1]; } $main_domain = self::extract_main_domain($matches[1]); - if($strict_mode && !array_key_exists($main_domain, self::TMP_NO_STRICT)){ + if($strict_mode && (!array_key_exists($main_domain, $arr_whitelist) || ($arr_whitelist[$main_domain] >= 1))){ $arr_domains[$main_domain] = array($main_domain); }else{ $arr_domains[$main_domain][] = $row; @@ -124,9 +119,10 @@ class addressMaker{ * * @param String $str_hosts 原始的hosts字符串 * @param Boolean $strict_mode 严格模式,启用时将屏蔽该域所在的主域名,例如www.baidu.com,将获取到baidu.com并写入最终列表 + * @param Array $arr_whitelist 白名单 * @return array */ - public static function get_domain_list($str_hosts, $strict_mode = false){ + public static function get_domain_list($str_hosts, $strict_mode = false, $arr_whitelist = array()){ $strlen = strlen($str_hosts); if($strlen < 3){ return array(); @@ -156,7 +152,7 @@ class addressMaker{ continue; } $main_domain = self::extract_main_domain($row[1]); - if($strict_mode && !array_key_exists($main_domain, self::TMP_NO_STRICT)){ + if($strict_mode && (!array_key_exists($main_domain, $arr_whitelist) || ($arr_whitelist[$main_domain] >= 1))){ $arr_domains[$main_domain] = array($main_domain); }else{ $arr_domains[$main_domain][] = $row[1]; @@ -166,99 +162,115 @@ class addressMaker{ return $arr_domains; } - private static function write_conf_header($fp, $header){ + private static function write_conf_header($fp, $header, $arr_params = array()){ $header = str_replace('{DATE}', date('YmdHis'), $header); $header = str_replace('{URL}', self::LINK_URL, $header); + + foreach($arr_params as $keyword => $val){ + $header = str_replace('{' . $keyword . '}', $val, $header); + } return fwrite($fp, $header); } - public static function write_to_conf($arr_result, $formatObj){ + /** + * 写入结果到最终文件 + * + * @param array $arr_src + * @param $arr_format + * @param array $arr_whitelist + * @return false|int + */ + public static function write_to_file(array $arr_src, array $arr_format, $arr_whitelist = array()){ - $fp = fopen(ROOT_DIR . $formatObj['filename'], 'w'); - $write_len = self::write_conf_header($fp, $formatObj['header']); + if(count($arr_src) < 1){ + return false; + } - foreach($arr_result as $rk => $rv){ + $str_result = ''; + $line_count = 0; + + $arr_written = []; + foreach($arr_src as $main_domain => $arr_subdomains){ + + if(array_key_exists($main_domain, $arr_whitelist) && ($arr_whitelist[$main_domain] > 0)){ + continue; + } + + if(empty($main_domain)){//不匹配记录(一般是不合法域名或者未收录的后缀) + continue; + } + + if(isset($arr_whitelist[$main_domain]) && (-1 === $arr_whitelist[$main_domain])){ + unset($arr_whitelist[$main_domain]); + } + + $arr_subdomains = array_unique($arr_subdomains); if( - array_key_exists($rk, $GLOBALS['arr_whitelist']) - && ($GLOBALS['arr_whitelist'][$rk] === 1) - ){//主域名在白名单的,并且标识为1的,整个不写入屏蔽列表, - continue; - } - - if(empty($rk)){//遗漏的域名,不会写入到最终的配置里 -// print_r($rv); - continue; - } - - if(!is_array($rv)){ - if(array_key_exists($rv, $GLOBALS['arr_whitelist'])){//单个域名的白名单检查 - continue; - } - $write_len += fwrite($fp, str_replace('{DOMAIN}', $rv, $formatObj['format']) . "\n"); - continue; - } - - $rv = array_unique($rv); - - if((in_array('.' . $rk, $rv) || in_array('www.' . $rk, $rv) || in_array($rk, $rv)) - && !array_key_exists($rk, $GLOBALS['arr_whitelist']) - && (1 !== $formatObj['full_domain']) + (1 !== $arr_format['full_domain']) + && (in_array($main_domain, $arr_subdomains) || in_array('www.' . $main_domain, $arr_subdomains)) + && (!array_key_exists($main_domain, $arr_whitelist) || $arr_whitelist[$main_domain] > 0) ){ - $write_len += fwrite($fp, str_replace('{DOMAIN}', $rk, $formatObj['format']) . "\n"); + $str_result .= str_replace('{DOMAIN}', $main_domain, $arr_format['format']) . "\n"; + $line_count ++; continue; } - $arr_written = []; - foreach($rv as $rvv){ - if(array_key_exists($rvv, $GLOBALS['arr_whitelist'])){ + foreach($arr_subdomains as $subdomain){ + if(array_key_exists($subdomain, $arr_whitelist)){ continue; } - //合并三级域名逻辑 - $tmp_arr1 = explode('.', $rvv); - $written_flag = false; + $arr_tmp_domain = explode('.', $subdomain); + $tmp_domain_len = count($arr_tmp_domain); + if($tmp_domain_len < 3){ + $str_result .= str_replace('{DOMAIN}', $subdomain, $arr_format['format']) . "\n"; + $line_count ++; + $arr_written[] = $subdomain; + continue; + } - if(count($tmp_arr1) > 2 && (1 !== $formatObj['full_domain'])){ - for($tmp_pos = 3; $tmp_pos <= count($tmp_arr1); $tmp_pos++){ - $tmp_arr2 = array_slice($tmp_arr1, -1 * $tmp_pos); - $tmp_domain = implode('.', $tmp_arr2); - if(array_key_exists($tmp_domain, $GLOBALS['arr_whitelist']) - && (1 === $GLOBALS['arr_whitelist'][$tmp_domain])){ - $written_flag = true; - break; + $matched_flag = false; + for($pos = 3; $pos <= $tmp_domain_len; $pos ++){ + $arr_tmp = array_slice($arr_tmp_domain, -1 * $pos); + $tmp = implode('.', $arr_tmp); + if(isset($arr_whitelist[$tmp]) && (-1 === $arr_whitelist[$tmp])){ + unset($arr_whitelist[$tmp]); + } + + if(array_key_exists($tmp, $arr_whitelist)){ + $matched_flag = $arr_whitelist[$tmp] === 1; + if($matched_flag){ + $arr_written[] = $subdomain; } - if(in_array($tmp_domain, $rv)){ - if(!in_array($tmp_domain, $arr_written)){ - if(array_key_exists($tmp_domain, $GLOBALS['arr_whitelist'])){ - continue; - } - $arr_written[] = $tmp_domain; - $write_len += fwrite( - $fp, - str_replace('{DOMAIN}', - $tmp_domain, - $formatObj['format'] - ) . "\n" - ); - } - $written_flag = true; - break; + break; + }elseif(($tmp === $subdomain) || in_array($tmp, $arr_subdomains)){ + if(!in_array($tmp, $arr_written)){ + $str_result .= str_replace('{DOMAIN}', $tmp, $arr_format['format']) . "\n"; + $line_count ++; + $arr_written[] = $tmp; } + $matched_flag = 1 !== $arr_format['full_domain']; + break; } } - if(in_array($rvv, $arr_written) || $written_flag){ + if($matched_flag){ continue; } - $arr_written[] = $rvv; - $write_len += fwrite($fp, str_replace('{DOMAIN}', $rvv, $formatObj['format']) . "\n"); + if(!in_array($subdomain, $arr_written)){ + $str_result .= str_replace('{DOMAIN}', $subdomain, $arr_format['format']) . "\n"; + $line_count ++; + $arr_written[] = $subdomain; + } } } + unset($arr_written); - fclose($fp); - + $fp = fopen(ROOT_DIR . $arr_format['filename'], 'w'); + $write_len = self::write_conf_header($fp, $arr_format['header'], array('COUNT' => $line_count)); + $write_len += fwrite($fp, $str_result); return $write_len; } } \ No newline at end of file diff --git a/lib/white_domain_list.php b/lib/white_domain_list.php index 207038b3..cb0fb38d 100644 --- a/lib/white_domain_list.php +++ b/lib/white_domain_list.php @@ -2,7 +2,10 @@ //white_domain_list //白名单机制...,白名单是 //@date 2018年12月23日 -//如果value=1,则其下级域名全部加白(例如3级域名,则其4级子域名全部加白) +//value=-1,代表失效本条规则,暂只支持单域名(针对引入外部白名单时的精确控制) +//value=0,代表仅加白单条域名 +//value=1,代表其下级域名全部加白(例如3级域名,则其4级子域名全部加白) +//value=2,代表仅加白主域名及其子域名,即如果是主域名,加白全部,如果是子域名,加白命中的单条 return array( @@ -48,42 +51,37 @@ return array( 'promotion.aliyun.com' => 0, //阿里云控制台 + 'herokuapp.com' => 0, + 'vidoza.net' => 0, + 'nahnoji.cz' => 1, + 'cloudfront.net' => 0, 'activate.adobe.com' => 0, 'ereg.adobe.com' => 0, 'hlrcv.stage.adobe.com' => 0, - 'lm.licenses.adobe.com' => 0, 'lmlicenses.wip4.adobe.com' => 0, 'na1r.services.adobe.com' => 0, - 'na2m-pr.licenses.adobe.com' => 0, - 'serial.alcohol-soft.com' => 0, - 'trial.alcohol-soft.com' => 0, + 'licenses.adobe.com' => 1, + 'alcohol-soft.com' => 1, 'licenses.ashampoo.com' => 0, - 'license.bluesoleil.com' => 0, - 'license2.bluesoleil.com' => 0, - 'license3.bluesoleil.com' => 0, + 'bluesoleil.com' => 1, 'activation.phaseone.com' => 0, - 'apps.corel.com' => 0, - 'mc.corel.com' => 0, - 'origin-mc.corel.com' => 0, - 'iws.corel.com' => 0, - 'ipm.corel.com' => 0, - 'sws.corel.com' => 0, - 'dam.corel.com' => 0, + 'corel.com' => 1, 'dbregistration.cuteftp.com' => 0, - 'activation.cyberlink.com' => 0, - 'cap.cyberlink.com' => 0, + 'cyberlink.com' => 1, 'activation.easeus.com' => 0, 'upd.faronicslabs.com' => 0, - 'backup.lumion3d.com' => 0, - 'backup.lumion3d.net' => 0, - 'license.lumion3d.com' => 0, - 'license.lumion3d.net' => 0, + 'lumion3d.com' => 1, + 'lumion3d.net' => 1, 'act2.mediafour.com' => 0, 'sams.nikonimaging.com' => 0, 'license.piriform.com' => 0, 'www.bitsumactivationserver.com' => 0, 'licensing.tableausoftware.com' => 0, - 'activation.cloud.techsmith.com' => 0, - 'updates-s3.binaryage.com' => 0, - 'reg.wisecleaner.com' => 0, + 'techsmith.com' => 1, + 'binaryage.com' => 1, + 'wisecleaner.com' => 1, + + + 'cpm.cm.kankan.com' => -1, //-1 失效本条规则,保持现状,即不加白本域名 + ); diff --git a/lib/writerFormat.class.php b/lib/writerFormat.class.php index de421d76..d29ce4df 100644 --- a/lib/writerFormat.class.php +++ b/lib/writerFormat.class.php @@ -11,10 +11,29 @@ class writerFormat{ /*dnsmasq支持格式的屏蔽广告列表*/ const DNSMASQ = array( 'format' => 'address=/{DOMAIN}/', - 'header' => "#VER={DATE}\n#URL={URL}\n", + 'header' => "#VER={DATE}\n#URL={URL}\n#TOTAL_COUNT={COUNT}\n", 'full_domain' => 0, 'name' => 'dnsmasq', - 'filename' => 'adblock-for-dnsmasq.conf' + 'filename' => 'adblock-for-dnsmasq.conf', + 'whitelist_attached' => array( + 'base-dead-hosts.txt' =>array( + 'merge_mode' => 2, //0=单条,1=单条+子域名,2=根域名相当于1,非根域名相当于0 + ), + ), + 'src' => array( + 'base-src-easylist.txt' => array( + 'type' => 'easylist', + 'strict_mode' => false, + ), + 'base-src-hosts.txt' => array( + 'type' => 'hosts', + 'strict_mode' => false, + ), + 'base-src-strict-hosts.txt' => array( + 'type' => 'hosts', + 'strict_mode' => true, + ), + ), ); /*easylist 兼容格式的屏蔽广告列表*/ @@ -23,25 +42,82 @@ class writerFormat{ 'header' => "!AdBlock-style blocklists\n!VER={DATE}\n!URL={URL}\n", 'full_domain' => 0, 'name' => 'easylist', - 'filename' => 'anti-ad-easylist.txt' + 'filename' => 'anti-ad-easylist.txt', + 'whitelist_attached' => array( + 'base-dead-hosts.txt' =>array( + 'merge_mode' => 2, //0=单条,1=单条+子域名,2=根域名相当于1,非根域名相当于0 + ), + ), + 'src' => array( + 'base-src-easylist.txt' => array( + 'type' => 'easylist', + 'strict_mode' => false, + ), + 'base-src-hosts.txt' => array( + 'type' => 'hosts', + 'strict_mode' => false, + ), + 'base-src-strict-hosts.txt' => array( + 'type' => 'hosts', + 'strict_mode' => true, + ), + ), ); /*Surge 兼容格式的屏蔽广告列表*/ const SURGE = array( 'format' => 'DOMAIN-SUFFIX,{DOMAIN}', - 'header' => "#VER={DATE}\n#URL={URL}\n", + 'header' => "#VER={DATE}\n#URL={URL}\n#TOTAL_COUNT={COUNT}\n", 'full_domain' => 0, 'name' => 'surge', - 'filename' => 'anti-ad-surge.txt' + 'filename' => 'anti-ad-surge.txt', + 'whitelist_attached' => array( + 'base-dead-hosts.txt' =>array( + 'merge_mode' => 2, //0=单条,1=单条+子域名,2=根域名相当于1,非根域名相当于0 + ), + ), + 'src' => array( + 'base-src-easylist.txt' => array( + 'type' => 'easylist', + 'strict_mode' => false, + ), + 'base-src-hosts.txt' => array( + 'type' => 'hosts', + 'strict_mode' => false, + ), + 'base-src-strict-hosts.txt' => array( + 'type' => 'hosts', + 'strict_mode' => true, + ), + ), ); /*Domains 格式的屏蔽广告列表,用于支持pi-hole等*/ const DOMAINS = array( 'format' => '{DOMAIN}', - 'header' => "#VER={DATE}\n#URL={URL}\n", + 'header' => "#VER={DATE}\n#URL={URL}\n#TOTAL_COUNT={COUNT}\n", 'full_domain' => 1, //保留子域名,即使其上级域名 'name' => 'domains', - 'filename' => 'anti-ad-domains.txt' + 'filename' => 'anti-ad-domains.txt', + 'whitelist_attached' => array( + 'base-dead-hosts.txt' =>array( + 'merge_mode' => 2, //0=单条,1=单条+子域名,2=根域名相当于1,非根域名相当于0 + ), + ), + 'src' => array( + 'base-src-easylist.txt' => array( + 'type' => 'easylist', + 'strict_mode' => false, + ), + 'base-src-hosts.txt' => array( + 'type' => 'hosts', + 'strict_mode' => false, + ), + 'base-src-strict-hosts.txt' => array( + 'type' => 'hosts', + 'strict_mode' => true, + ), + ), ); /*and etc...*/ diff --git a/make-addr.php b/make-addr.php index 1adb9ed6..28c23fb2 100644 --- a/make-addr.php +++ b/make-addr.php @@ -10,44 +10,62 @@ */ define('ROOT_DIR', __DIR__ . '/'); +define('ORIG_DIR', ROOT_DIR . 'origin-files/'); set_time_limit(600); error_reporting(0); if(PHP_SAPI != 'cli'){ - die('nothing.'); + die('nothing.'); } -$arr_blacklist = require ROOT_DIR . 'lib/black_domain_list.php'; -$arr_whitelist = require ROOT_DIR . 'lib/white_domain_list.php'; +$ARR_BLACKLIST = require ROOT_DIR . 'lib/black_domain_list.php'; +$ARR_WHITELIST = require ROOT_DIR . 'lib/white_domain_list.php'; require ROOT_DIR . 'lib/writerFormat.class.php'; require ROOT_DIR . 'lib/addressMaker.class.php'; -//白名单机制增强,加入dead hosts -$arr_dead_hosts = file(ROOT_DIR . 'origin-files/base-src-dead-hosts.txt', FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); -$arr_dead_hosts=array_fill_keys($arr_dead_hosts, 1); //这里设置为1,表示命中的子域名同时加白 -$arr_whitelist = array_merge($arr_dead_hosts, $arr_whitelist); - -$arr_result = array(); -$easylist = file_get_contents('./origin-files/base-src-easylist.txt'); -$arr_result = array_merge_recursive($arr_result, addressMaker::get_domain_from_easylist($easylist)); - -$hosts = file_get_contents('./origin-files/base-src-hosts.txt'); -$arr_result = array_merge_recursive($arr_result, addressMaker::get_domain_list($hosts)); - -$strict_hosts = file_get_contents('./origin-files/base-src-strict-hosts.txt'); -$arr_result = array_merge_recursive($arr_result, addressMaker::get_domain_list($strict_hosts, true)); - -$arr_result = array_merge_recursive($arr_result, $arr_blacklist); +$arr_input_cache = $arr_whitelist_cache = $arr_output = array(); $reflect = new ReflectionClass('writerFormat'); - $formatterList = $reflect->getConstants(); -$arr_output = array(); +foreach($formatterList as $name => $formatObj){ + if(!is_array($formatObj['src'])){ + continue; + } + $arr_src_domains = array(); + $arr_tmp_whitelist = array();//单次的白名单列表 + if(is_array($formatObj['whitelist_attached']) && (count($formatObj['whitelist_attached']) > 0)){ + foreach($formatObj['whitelist_attached'] as $white_file => $white_attr){ + if(!array_key_exists("{$white_file}_{$white_attr['merge_mode']}", $arr_whitelist_cache)){ + $arr_attached = file(ORIG_DIR . $white_file, FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); + $arr_attached = array_fill_keys($arr_attached, $white_attr['merge_mode']); + $arr_whitelist_cache["{$white_file}_{$white_attr['merge_mode']}"] = $arr_attached; + } -foreach ($formatterList as $name => $formatObj){ - $arr_output[] = '['. $name . ']' . addressMaker::write_to_conf($arr_result, $formatObj); + $arr_tmp_whitelist = array_merge( + $arr_tmp_whitelist, + $arr_whitelist_cache["{$white_file}_{$white_attr['merge_mode']}"] + ); + } + } + + $arr_tmp_whitelist = array_merge($arr_tmp_whitelist, $ARR_WHITELIST); + + foreach($formatObj['src'] as $src_file => $src_attr){ + if(!array_key_exists($src_file, $arr_input_cache)){ + $src_content = file_get_contents(ORIG_DIR . $src_file); + if($src_attr['type'] === 'easylist'){ + $src_content = addressMaker::get_domain_from_easylist($src_content, $src_attr['strict_mode'], $arr_tmp_whitelist); + }elseif($src_attr['type'] === 'hosts'){ + $src_content = addressMaker::get_domain_list($src_content, $src_attr['strict_mode'], $arr_tmp_whitelist); + } + $arr_input_cache[$src_file] = $src_content; + } + $arr_src_domains = array_merge_recursive($arr_src_domains, $arr_input_cache[$src_file]); + } + + $arr_src_domains = array_merge_recursive($arr_src_domains, $ARR_BLACKLIST); + + $arr_output[] = '[' . $name . ']:' . addressMaker::write_to_file($arr_src_domains, $formatObj, $arr_tmp_whitelist); } -echo implode('---', $arr_output); - - +echo join(',', $arr_output); \ No newline at end of file diff --git a/origin-files/base-src-dead-hosts.txt b/origin-files/base-dead-hosts.txt similarity index 100% rename from origin-files/base-src-dead-hosts.txt rename to origin-files/base-dead-hosts.txt diff --git a/start-ci.sh b/start-ci.sh index 78d5440e..c52ded2f 100755 --- a/start-ci.sh +++ b/start-ci.sh @@ -90,7 +90,7 @@ cat strict-hosts*.txt | grep -v -E "^((#.*)|(\s*))$" \ cat dead-hosts*.txt | grep -v -E "^(#|\!)" \ | sort \ - | uniq >base-src-dead-hosts.txt + | uniq >base-dead-hosts.txt cat easylist*.txt | grep -E "^\|\|[^\*\^]+?\^" | sort | uniq >base-src-easylist.txt diff --git a/tools/easylist-extend.php b/tools/easylist-extend.php index 6ccceae0..14e8a160 100644 --- a/tools/easylist-extend.php +++ b/tools/easylist-extend.php @@ -92,6 +92,7 @@ $ARR_WHITE_RULE_LIST = array( '@@||tongji.*kuwo.cn^' => 0, '@@||ntp.org^' => 1, //针对上面正则表达式的一个赦免规则,例如:2.android.pool.ntp.org '@@||*push-apple.com.akadns.net^' => 1, //强制加白, 苹果推送2.courier-push-apple.com.akadns.net + '@@||tracking.epicgames.com' => 0, ); //针对上游赦免规则anti-AD不予赦免的规则,即赦免名单的黑名单