// ==UserScript==
// @name 【去广告 屏蔽广告 广告拦截 百度广告 百度联盟广告 谷歌广告】@LYS-广告拜拜助手(适配手机)
// @namespace http://tampermonkey.net/
// @version 1.8
// @description 1、净化百度搜索结果中插入广告;2、净化推送广告;3、指定规则净化页面插入广告……
// @author LYS
// @match */*
// @run-at document-end
// @icon none
// @grant none
// @license MIT
// ==/UserScript==
(function () {
'use strict';
//判断是否为百度搜索页面,则判断手机/PC端后直接开始循环屏蔽页面插入广告,不进入后面过程
var url = window.location.href
if (url.includes("www.baidu.com/") || url.includes("m.baidu.com/")) {
if (url.includes("m.baidu.com/")) {
setInterval(function () {
$('.ec_ad_results').hide();
}, 500);
} else {
setInterval(function () {
$('#content_left div:contains("广告")').slideUp()
}, 500)
}
} else {
//定义预设推送域:csdn广告、百度广告、谷歌广告等,后续可继续按格式添加(HTML页面内容清除为空白)
var ads = ["kunpeng-sc.csdnimg.cn/",
"newscdnct.inter.71edge.com/videos/",
"iyes.youku.com/",
"pos.baidu.com/",
"g.doubleclick.net",
"pagead2.googlesyndication.com",
"tpc.googlesyndication.com",
"cs.emxdgt.com",
"sync.richaudience.com",
"gum.criteo.com",
"ads.pubmatic.com",
"eus.rubiconproject.com",
"hde.tynt.com",
"ssbsync.smartadserver.com",
"simage2.pubmatic.com",
"onetag-sys.com",
"sync.aniview.com",
"imasdk.googleapis.com",
"mp.4dex.io",
"acdn.adnxs.com",
"safeframe.googlesyndication.com",
"s.amazon-adsystem.com",
"rtb.gumgum.com",
"ap.lijit.com",
"usersync.gumgum.com",
"sync.inmobi.com",
"ads.vamaker.com",
"cm.masky.biddingx.com",
"cb.baidu.com",
"eclick.baidu.com",
"cpro.baidustatic.com",
"cbjslog.baidu.com",
"static.acs86.com",
"show.g.mediav.com",
"impservice.union.youdao.com",
"entry.baidu.com",
"g.fastapi.net",
"strip.taobaocdn.com",
".778669.com",
"atm.youku.com",
"Fvid.atm.youku.com",
"html.atm.youku.com",
"valb.atm.youku.com",
"valf.atm.youku.com",
"valo.atm.youku.com",
"valp.atm.youku.com",
"Istat.youku.com",
"speed.lstat.youku.com",
"urchin.lstat.youku.com",
"stat.youku.com",
"static.Istat.youku.com",
"valc.atm.youku.com",
"vid.atm.youku.com",
"walp.atm.youku.com",
"adcontrol.tudou.com",
"a.baidu.com",
"baidutv.baidu.com",
"bar.baidu.com",
"c.baidu.com",
"cjhq.baidu.com",
"cpro.baidu.com",
"drmcmm.baidu.com",
"eiv.baidu.com",
"hc.baidu.com",
"hm.baidu.com",
"ma.baidu.com",
"nsclick.baidu.com",
"spcode.baidu.com",
"tk.baidu.com",
"union.baidu.com",
"ucstat.baidu.com",
"utility.baidu.com",
"utk.baidu.com",
"focusbaiduafp.allyes.com",
"afp.qiyi.com",
"focusbaiduafp.allyes.com",
"a.cctv.com",
"a.cntv.cn",
"ad.cctv.com",
"d.cntv.cn",
"adguanggao.eee114.com",
"cctv.adsunion.com",
"dcads.sina.com.cn",
"pp2.pptv.com",
"pro.letv.com",
"images.sohu.com",
"a.cctv.com",
"a.cntv.cn",
"ad.cctv.com",
"d.cntv.cn",
"adguanggao.eee114.com",
"cctv.adsunion.com",
"acs.56.com",
"acs.agent.56.com",
"acs.agent.v-56.com",
"bill.agent.56.com",
"bill.agent.v-56.com",
"stat.56.com",
"stat2.corp.56.com",
"uvimage.56.com",
"v16.56.com",
"pole.6rooms.com",
"shrek.6.cn",
"simba.6.cn",
"union.6.cn",
"adextensioncontrol.tudou.com",
"iwstat.tudou.com",
"nstat.tudou.com",
"stats.tudou.com",
".p2v.tudou.com",
"at-imgl.tdimg.com",
"at-img2.tdimg.com",
"at-img3.tdimg.com",
"adplay.tudou.com",
"adcontrol.tudou.com",
"stat.tudou.com",
"1.allyes.com.cn",
"analytics.ku6.com",
"gug.ku6cdn.com",
"ku6.allyes.com",
"ku6afp.allyes.com",
"pq.stat.ku6.com",
"st.vq.ku6.cn",
"stat0.888.ku6.com",
"stat1.888.ku6.com",
"stat2.888.ku6.com",
"stat3.888.ku6.com",
"static.ku6.com",
"vO.stat.ku6.com",
"v1.stat.ku6.com",
"v2.stat.ku6.com",
"v3.stat.ku6.com",
"86file.megajoy.com",
"86get.joy.cn",
"86logjoy.cn"
]
//定义预设屏蔽规则:油猴、opgg、csdn等,后续可继续按格式添加
var adsattr = [
["greasyfork.org/", "[class*='ad ad-']", "#carbonads"],
["op.gg/", "[id*='mobile-app-install']", "[class*='einfil']"],
[".csdn.net/", "[class*='ad-box']", "#kp_box_www_swiper", ".passport-login-container"],
[".xinnet.com/", "[class*='xinnet-adv-code']"]
]
var attr = ["", ""]
//判断当前页是否属于预设推送广告域,是则已清除全页面,非则继续判断jquery
var nopush = false
for (var i = 0; i < ads.length; i++) {
if (url.includes(ads[i])) {
document.getElementsByTagName('head').innerHTML = "";
document.getElementsByTagName('title').innerHTML = "";
document.getElementsByTagName('body')[0].innerHTML = "";
nopush = true
break
}
}
if (nopush == false) {
//判断页面是否存在引用jquery
var isjqexist = false
var sp = document.getElementsByTagName('script')
Array.prototype.slice.bind(sp)
for (var l = 0; l < sp.length; l++) {
if (sp[l].getAttribute("src") != null) {
if (sp[l].getAttribute("src").includes("jquery")) {
console.log(sp[l].getAttribute("src"))
isjqexist = true
break
}
}
}
//如未引用则加载jquery
if (isjqexist) {
console.log("无需额外引用jQuery!")
} else {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(script);
}
isjqexist = false
//判断jquery资源是否加载完成
var isjq = setInterval(function () {
if (typeof jQuery != "undefined") {
console.log("jQuery已经加载完成!")
clearInterval(isjq);
getcurruturl();
if (attr[0] != "") {
setInterval(function () {
killinnerads();
}, 1000);
}
} else {
console.log("等待jQuery加载完成!")
}
}, 100)
}
}
//当前页面规则匹配
var getcurruturl = function () {
for (var i = 0; i < adsattr.length; i++) {
if (url.includes(adsattr[i][0])) {
attr = adsattr[i]
return attr
}
}
}
//按规则筛选屏蔽屏蔽DOM
var killinnerads = function () {
console.log("正在针对[" + attr[0] + "]规则进行监控!")
for (var j = 1; j < attr.length; j++) {
$(attr[j]).hide()
}
}
})();