// ==UserScript== // @name Adblock4limbo.[github] // @namespace https://github.com/limbopro/Adblock4limbo/raw/main/Adguard/Adblock4limbo.user.js // @version 0.2025.12.27 // @license CC BY-NC-SA 4.0 // @description 毒奶去网页广告计划用户脚本 For Quantumult X & Surge & Shadowrocket & Loon & Stash & 油猴 ;1.新增页面右下角导航;2.通过 JavaScript 移除特定网站网页广告 —— 搜索引擎(Bing/Google)广告及内容农场结果清除/低端影视/欧乐影院/iyf爱壹帆/哔滴影视/Pornhub/Javbus/Supjav/Jable(支持抓取M3U8链接)/MissAv/91porn(支持视频下载)/hitomi/紳士漫畫/禁漫天堂/等视频&ACG&小说&漫画网站上的弹窗广告&视频广告&Gif图片广告等,保持网页清爽干净无打扰! P.S. 欢迎提交issue // @author limbopro // @match https://m.baidu.com/* // @match https://www.baidu.com/* // @match https://zhidao.baidu.com/* // @match https://www.google.com/search* // @match https://www.google.com.hk/search* // @match https://www.bing.com/search?q=* // @match https://cn.bing.com/search?q=* // @match https://www.btbdys.com/* // @match https://www.bdys01.com/* // @match https://www.bdys*.com/* // @match https://www.52bdys.com/* // @match https://ddrk.me/* // @match https://ddys.tv/* // @match https://ddys.pro/* // @match https://ddys.art/* // @match https://ddys2.me/* // @match https://ddys.mov/* // @match https://gimy.ai/* // @match https://xiaobaotv.net/* // @match https://xiaobaotv.com/* // @match https://xiaoxintv.net/* // @match https://xiaoxintv.com/* // @match https://www.olevod.tv/* // @match https://www.olevod.com/* // @match https://www.olevod.one/* // @match https://m.iyf.tv/* // @match https://www.iyf.tv/* // @match https://play.huaren.live/* // @match https://huaren.live/* // @match https://cupfoxapp.tv/* // @match https://www.dmmiku.com/* // @match https://bf.bfdm.xyz/* // @match https://cnys.tv/* // @match https://bi-girl.net/* // @match https://8marketcap.com/* // @match https://jable.tv/* // @match https://en.jable.tv/* // @match https://*.jable.tv/* // @match https://missav.com/* // @match https://missav.ai/* // @match https://missav.ws/* // @match https://supjav.com/* // @match https://www.javbus.com/* // @match https://av.jkforum.net/* // @match https://javdb.com/* // @match https://jav.land/* // @match https://cn1.91short.com/* // @match https://javday.tv/* // @match https://javday.app/* // @match https://www.xvideos.com/* // @match https://4hu.tv/* // @match https://www.4hu.tv/* // @match https://netflav.com/* // @match https://t66y.com/* // @match https://xchina.co/* // @match https://www.dmm.co.jp/* // @match https://*.dmm.co.jp/* // @match https://cn.pornhub.com/* // @match https://www.pornhub.com/* // @match https://91porn.com/* // @match https://91porna.com/* // @match https://91porny.com/* // @match https://www.91porn.com/* // @match https://avple.tv/* // @match https://18comic.org/* // @match https://18comic.vip/* // @match https://hitomi.la/* // @match https://www.wnacg.com/* // @match https://www.wnacg.org/* // @match https://hanime1.me/* // @match https://rouman5.com/* // @match https://rou.video/* // @match https://manhuapica.com/* // @match https://op.gg/* // @match https://w.duboku.io/* // @match https://www.duboku.tv/* // @match https://www.libvio.com/* // @match https://www.libvio.pro/* // @match https://www.libvio.top/* // @match https://www.libvio.me/* // @match https://www.libvio.fun/* // @match https://www.tvn.cc/* // @match https://m.tvn.cc/* // @match https://wap.tvn.cc/* // @match https://zhuanlan.zhihu.com/* // @match https://www.zhihu.com/* // @match https://www.instagram.com/* // @match https://www.nbys.tv/* // @match https://www.ttsp.tv/* // @match http://www.tz659.com/* // @match https://anime1.me/* // @match https://m.yhdmp.cc/* // @match https://m.yhdmp.com/* // @match https://m.yhpdm.com/* // @match https://www.nivod5.com/* // @match https://m.nivod5.com/* // @match https://www.nivod4.tv/* // @match https://www.nivod8.tv/* // @match https://www.nivod9.tv/* // @match https://m.nivod4.tv/* // @match https://m.nivod8.tv/* // @match https://m.nivod9.tv/* // @include https://m.nivod*.tv/* // @include https://www.nivod*.tv/* // @match https://javplayer.me/* // @match https://netflav5.com/* // @match https://filemoon.sx/* // @match https://emturbovid.com/* // @match https://netflavns1.com/* // @match https://turbovidhls.com/* // @match https://trailerhg.xyz/* // @match https://turboplayers.xyz/* // @match https://javggvideo.xyz/* // @match https://turtleviplay.xyz/* // @match https://findjav.com/* // @match https://stbturbo.xyz/* // @match https://emturbovid.com/* // @match https://fc2stream.tv/* // @match https://turbovidhls.com/* // @match https://mmsw02.com/* // @match https://embedrise.com/* // @match https://mmfl02.com/* // @match https://netflavns2.com/* // @match https://wangdoc.com/* // @match https://developer.mozilla.org/* // @match https://zh.javascript.info/* // @match https://deerchao.cn/* // @match https://t.me/* // @match https://tameikegoro.jp/* // @match https://njav.tv/* // @match https://www.ntdm9.com/* // @match https://www.novel543.com/* // @match https://www.hltv.org/* // @match https://m.diyibanzhu.me/* // @match https://www.alicesw.com/* // @match https://www.javlibrary.com/cn/* // @match https://www.javlibrary.com/tw/* // @match https://www.javlibrary.com/ja/* // @match https://www.javlibrary.com/en/* // @exclude https://www.javlibrary.com/cn/ // @exclude https://www.javlibrary.com/tw/ // @exclude https://www.javlibrary.com/ja/ // @exclude https://www.javlibrary.com/en/ // @exclude https://www.javlibrary.com/ // @match https://t1229.btc760.com/* // @match https://d1skbu98kuldnf.cloudfront.net/* // @match https://dnt92ffcqr0xu.cloudfront.net/* // @exclude https://x.com/* // @exclude https://pan.baidu.com/* // @exclude https://twitter.com/* // @exclude https://limbopro.com/* // @exclude https://venus-av.com/* // @exclude https://developer.mozilla.org/ // @exclude https://www.youtube.com/* // @exclude https://www.xvideos.com/* // @exclude https://pan.baidu.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=limbopro.com // @run-at document-end // @grant none // ==/UserScript== // 为避免不必要的麻烦,Adblock4limbo.user.js 只匹配以上 @match 部分网站; // 🤔如需在所有网站应用本脚本及其自带“导航功能”, // ✅建议直接安装导航功能脚本 https://github.com/limbopro/Adblock4limbo/raw/refs/heads/main/Adguard/Adblock4limbo.function.user.js (Adblock4limbo——导航及各类功能函数合集.[github]) // 🙅不要在上方 // @match https://*/* /** * --------------------------- * 毒奶去网页广告计划 * Author: limbopro * 使用教程:https://limbopro.com/archives/12904.html * 联系博主:https://t.me/limboprobot * 电报群组:https://t.me/Adblock4limbo * FAQ:https://t.me/Adblock4limbo/21 常见问题与回答 * 提交 issue:https://github.com/limbopro/Adblock4limbo/issues 有问题 欢迎提 对于能提出好的建议或意见的用户,我们热烈欢迎,赞赏; * 查看 Adblock4limbo.user.js 内容:https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/Adblock4limbo.user.js * 安装 Adblock4limbo.user.js 脚本:https://github.com/limbopro/Adblock4limbo/raw/refs/heads/main/Adguard/Adblock4limbo.user.js * --------------------------- */ /* 使用技巧最后更新于 11.25.2025; /* 新增反馈&导航按钮&划词搜索&执行JS&成人保护模式 /* 移除特定网站目录(详见 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/Adblock4limbo.user.js @match 部分)广告/弹窗/ /* 并新增额外特性(提取视频mp4&m3u8地址/在线下载/快进快退10s 1m 10m...) // **【导航】使用指南(PC/Mac)** /// 按教程安装好油猴脚本 /// 访问特定网站(详见 Adblock4limbo.user.js @match 部分) /// 1.1 1秒内连续按2次 ESC键 可唤出【导航页面】; /// 1.2 当处于导航页面时,按ESC键 或1秒内点击2次导航页的空白处 可退出【导航页面】; // **【导航】使用指南(iOS)** /// 按教程配置好相应重写/去广告分流 /// 访问【目前在维护的网站目录】里的(绝大多数)网站 /// 1.1 页面空白处1秒内连续点击4次及以上亦可唤出【导航页面】; // **【导航】使用指南(PC/Mac/iOS)** /// **成人保护模式**[开启的情况下,见导航详情页左上角设置部分] /// 仅针对部分主要成人网站生效 /// 当你浏览成人网站时,切换到别的应用或页面再返回时,网站页面将被模糊 /// 可在 导航 - **反馈/建议/功能设置//** 开启或关闭成人保护模式(ON/OFF); // **如何【全局禁用右下角导航功能以及成人保护模式(iOS)】** /// iOS QX/Stash/Surge/等用户 /// 1.添加主机名, **limbopro.com** /// 3.全局禁用右下角导航功能以及成人保护模式:添加重写,匹配URL直接填写 Adblock4limbo.function.js ,类型选 reject,即可禁用导航及其附带feature; // **如何【全局隐藏/禁用右下角导航按钮以及成人保护模式/使导航功能失效(PC/Mac)】** /// PC/Mac 油猴用户... /// 进入 Tampermonkey 管理面板 - 找到 **Adblock4limbo.[github]** /// 1.1找到 daohang_build() 大概在 210 多行 /// 1.2然后将 daohangMode/adultMode 的值修改成 false 即可 /// 1.3或直接注释掉 daohang_build() 即可(注释后将无法快捷唤起导航详情页,导航功能及其附带feature失效) // **如何卸载毒奶去广告计划** /// 删除相关引用即可; /// ! 隐藏页面右下角导航🧭按钮🔘不影响PC/Mac端快捷键使用,移动端仍可1秒内连续点击页面空白处4次及以上唤出【导航页面】; */ function checkDOMLoaded() { if (document.readyState === 'complete' || document.readyState === 'interactive') { console.log('DOM 已加载'); // 在此处运行您的代码 } else { document.addEventListener('DOMContentLoaded', () => { console.log('DOM 已加载(通过事件触发)'); // 在此处运行您的代码 }); } } checkDOMLoaded(); /** * 为网页增加导航按钮,将位于页面右下角呈现; * 如需取消该按钮,请将如上调用代码注释; */ // 是否(默认)显示导航🧭按钮🔘 // 如【不需要显示导航🧭按钮🔘】 可将 cookie 的值从 true 改为 false settingCookie('daohangMode_global', 'true', '400'); console.log('是否(默认)显示导航🧭按钮🔘:' + getCookie_('daohangMode')) // 是否(默认)开启成人🔞网站保护模式 // 如【不需要开启成人网站保护模式】 可将 cookie 的值从 true 改为 false settingCookie('adultMode', 'false', '400'); console.log('是否(默认)开启成人🔞网站保护模式:' + getCookie_('adultMode')) // 是否开启导航🧭按钮🔘 // 完全开启或禁用导航功能 // 如【不需要开启导航🧭按钮🔘】可直接将 daohang_build() 进行注释 // //daohang_build() 就像这样 // 注释后将【无法快捷唤起导航详情页】且导航功能无法使用 daohang_build(); // 一些常量 /* Start */ var uBlockOrigin = { // uBlockOrigin 默认脚本 // https://github.com/uBlockOrigin/uBOL-home/tree/main/chromium/rulesets/scripting/scriptlet // uBO Lite (uBOL), a permission-less MV3 API-based content blocker. // uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required only when you interact with the popup panel or the option pages. // uBOL does not require broad "read/modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read/modify data" permissions at install time. /*如若需同步至 https://greasyfork.org/zh-CN 则需将本常量删除; 这将导致审核不通过且脚本有被 GreasyFork 管理员 删除的风险; */ chn0abortcurrentscript: "https://limbopro.com/Adguard/scripting/scriptlet/chn-0.abort-current-script.js", // chn-0.abort-current-script.js chn0setconstant: "https://limbopro.com/Adguard/scripting/scriptlet/chn-0.set-constant.js", // chn-0.set-constant.js abortcurrentscript: "https://limbopro.com/Adguard/scripting/scriptlet/default.abort-current-script.js", // abort-current-script abortonpropertyread: "https://limbopro.com/Adguard/scripting/scriptlet/default.abort-on-property-read.js", // default.abort-on-property-read.js abortonpropertywrite: "https://limbopro.com/Adguard/scripting/scriptlet/default.abort-on-property-write.js", // default.abort-on-property-write.js abortonstacktrace: "https://limbopro.com/Adguard/scripting/scriptlet/default.abort-on-stack-trace.js", // abort-on-stack-trace.js addEventListenerdefuser: "https://limbopro.com/Adguard/scripting/scriptlet/default.addEventListener-defuser.js", // default.addEventListener-defuser.js alertbuster: "https://limbopro.com/Adguard/scripting/scriptlet/default.alert-buster.js", // default.alert-buster.js cookieremover: "https://limbopro.com/Adguard/scripting/scriptlet/default.cookie-remover.js", // default.cookie-remover.js disablenewtablinks: "https://limbopro.com/Adguard/scripting/scriptlet/default.disable-newtab-links.js", // default.disable-newtab-links.js evaldataprune: "https://limbopro.com/Adguard/scripting/scriptlet/default.evaldata-prune.js", // default.evaldata-prune.js jsonprune: "https://limbopro.com/Adguard/scripting/scriptlet/default.json-prune.js", // default.json-prune.js m3uprune: "https://limbopro.com/Adguard/scripting/scriptlet/default.m3u-prune.js", // default.m3u-prune.js nanosetIntervalbooster: "https://limbopro.com/Adguard/scripting/scriptlet/default.nano-setInterval-booster.js", // default.nano-setInterval-booster.js nanosetTimeoutbooster: "https://limbopro.com/Adguard/scripting/scriptlet/default.nano-setTimeout-booster.js", // default.nano-setTimeout-booster.js noevalif: "https://limbopro.com/Adguard/scripting/scriptlet/default.noeval-if.js", // default.noeval-if.js nofetchif: "https://limbopro.com/Adguard/scripting/scriptlet/default.no-fetch-if.js", // default.no-fetch-if.js norequestAnimationFrameif: "https://limbopro.com/Adguard/scripting/scriptlet/default.no-requestAnimationFrame-if.js", // default.no-requestAnimationFrame-if.js nosetIntervalif: "https://limbopro.com/Adguard/scripting/scriptlet/default.no-setInterval-if.js", // default.no-setInterval-if.js nosetTimeoutif: "https://limbopro.com/Adguard/scripting/scriptlet/default.no-setTimeout-if.js", // default.no-setTimeout-if.js nowebrtc: "https://limbopro.com/Adguard/scripting/scriptlet/default.nowebrtc.js", // default.nowebrtc.js nowindowopenif: "https://limbopro.com/Adguard/scripting/scriptlet/default.no-window-open-if.js", // default.no-window-open-if.js noxhrif: "https://limbopro.com/Adguard/scripting/scriptlet/default.no-xhr-if.js", // default.no-xhr-if.js refreshdefuser: "https://limbopro.com/Adguard/scripting/scriptlet/default.refresh-defuser.js", // default.refresh-defuser.js removeattr: "https://limbopro.com/Adguard/scripting/scriptlet/default.remove-attr.js", // default.remove-attr.js removeclass: "https://limbopro.com/Adguard/scripting/scriptlet/default.remove-class.js", // default.remove-class.js removenodetext: "https://limbopro.com/Adguard/scripting/scriptlet/default.remove-node-text.js", // default.remove-node-text.js replacenodetext: "https://limbopro.com/Adguard/scripting/scriptlet/default.replace-node-text.js", // default.replace-node-text.js setattr: "https://limbopro.com/Adguard/scripting/scriptlet/default.set-attr.js", // default.set-attr.js setconstant: "https://limbopro.com/Adguard/scripting/scriptlet/default.set-constant.js", // default.set-constant.js setcookie: "https://limbopro.com/Adguard/scripting/scriptlet/default.set-cookie.js", // default.set-cookie.js setlocalstorageitem: "https://limbopro.com/Adguard/scripting/scriptlet/default.set-local-storage-item.js", // set-local-storage-item.js spoofcss: "https://limbopro.com/Adguard/scripting/scriptlet/default.spoof-css.js", // default.spoof-css.js trustedsetconstant: "https://limbopro.com/Adguard/scripting/scriptlet/default.trusted-set-constant.js", // default.trusted-set-constant.js trustedsetcookie: "https://limbopro.com/Adguard/scripting/scriptlet/default.trusted-set-cookie.js", // default.trusted-set-cookie.js windowcloseif: "https://limbopro.com/Adguard/scripting/scriptlet/default.window-close-if.js", // default.window-close-if.js xmlprune: "https://limbopro.com/Adguard/scripting/scriptlet/default.xml-prune.js", // default.xml-prune.js } var js_common = { crisp: 'https://limbopro.com/Adguard/crisp.js' // crisp 聊天系统 chat } var css_common = { //General element hiding rules /*如若需同步至 https://greasyfork.org/zh-CN 则需将本常量删除; 这将导致审核不通过且脚本有被 GreasyFork 管理员 删除的风险; */ gehr: "https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/CSS/Adblock4limbo.user.css" } // 暂时 third_party_fileX('link', css_common.gehr, 'head'); // 动态引入 ublcok origin 通用去广告样式; // third_party_fileX("script", js_common.crisp, "head"); // 动态引入 crisp 聊天系统; // 油猴用户(桌面浏览器用户)可通过 // 注释上述代码来禁用Crisp; // Qx/Shadrowrocket/Surge/Loon 等代理软件用户可通过添加分流来禁用Crisp;(分流类型选择 host-keyword, crisp, reject); /* End */ var adsMax = { js: { //functionx: "https://greasyfork.org/scripts/477474-functionx4limbo-x/code/functionx4limboX.user.js", functionx: "https://limbopro.com/Adguard/Adblock4limbo.function.js", // 全局js //duboku: "https://limbopro.com/Adguard/duboku.js", // 独播库 avple: "https://limbopro.com/Adguard/avple.js", // avple 同步至 Greasy 时需注释 contentFarm: "https://limbopro.com/Adguard/contentFarm.js", // 内容农场 //contentFarm: 'https://greasyfork.org/scripts/442253-%E5%B1%8F%E8%94%BD%E5%86%85%E5%AE%B9%E5%86%9C%E5%9C%BA-with-%E6%B2%B9%E7%8C%B4%E8%84%9A%E6%9C%AC/code/%E5%B1%8F%E8%94%BD%E5%86%85%E5%AE%B9%E5%86%9C%E5%9C%BA%EF%BC%88with%20%E6%B2%B9%E7%8C%B4%E8%84%9A%E6%9C%AC%EF%BC%89.user.js', }, css: { globalcss: "https://limbopro.com/CSS/Adblock4limbo.user.css", // 全局 weblistads: "https://limbopro.com/CSS/Adblock4limbo.weblist.user.css", // 全局 othercss: ".jable_css { background: rgb(0, 172, 106) important; border-right:6px solid #28a745 !important;} .fontColor {color:green !important}", // 按钮输入框块等元素类 libvio: ".container > .t-img-box:first-child, .hidden-log ,a[target=\"_blank\"] > .img-responsive ,.advertise ,#adsbox ,.t-img-box ,.inner-advertise ,.advertise {display: none! important;}", // libvio goole: "#tvcap,[data-text-ad] {display:none !important}", // 谷歌搜索广告 avple: "#adsbox,.asg-overlay,.jss20,.jss13,iframe,span[class*=MuiSkeleton-root],.jss16 ,.MuiSkeleton-pulse.jss12.MuiSkeleton-rect.MuiSkeleton-root,[id*=KnvW],img[src*=\".gif\"],iframe[data-width] {display: none! important;}", // avple btbdys: "div[style*='z-index:999'],.artplayer-plugin-ads, .artplayer-plugin-ads, *#ad-float, a[href*='z2py'], a[href*='dodder'], .ayx[style^=\"position\: fixed;bottom\"],#ad-index,#adsbox,.ayx[style=\"display:block;\"],.ayx[style^=\"position: fixed;bottom\"],a[target*=_new] {display:none !important;}", // 哔滴影视 switch: ".switch {display:none !important}", ddrk: "div#afc_sidebar_2842, div.cfa_popup, div[class*='popup'], #sajdhfbjwhe, #kasjbgih, #fkasjgf, img[src*='bcebos'] {opacity:0% !important; pointer-events: none !important;}", baidu_zhidao: "div[class$='-ecom-ads'], div[class*='fc-'][tplid], .wgt-ads {display :none !important; pointer-events: none !important;}", baidu_search: "div[style*=fixed],.ec_ad_results {display:none !important;} ", // baidu baidu_index: "a[data-tclog] > img, #foot, .recordcode, .index-copyright, div[style*='overflow'], .rn-container, .s-loading-frame.bottom {display:none !important;}", ddrk2: "body,div.post-content,a {overflow-x:hidden !important;}", // ddys jable: "body {overflow-x:hidden;} div.site-content {overflow-x:hidden!important;} div.text-center > a[target=_blank], li[class*='nav-item'] > a[target=_blank], div.asg-interstitial, div.asg-interstitial__mask, div[class*=\"exo\"], .exo-native-widget-outer-container, a[href*=\"trwl1\"], div[data-width=\"300\"], div.text-center.mb-e-30, div[data-width*=\"300\"], div[style*=\"300px\"], section[class*=\"justify\"], iframe[width=\"728\"][height=\"90\"], #site-content > div.container > section.pb-3.pb-e-lg-40.text-center, a[href*=\"\?banner=\"],[class*=\"root--\"],.badge,a[href=\"http\:\/\/uus52\.com/\"] {display :none !important; pointer-events: none !important;}", // Jable.tv test: "*, div,img {display: none !important}", tvn: "img[src*='gif'], iframe {display:none !important; pointer-events:none important;}", comic_18: "div.div2_sticky2, p > a[target=_blank], div.modal-body > a[target=_blank], li[class*='pop'] > a[target=_blank], li[class*='top'] > a[target=_blank], .modal-backdrop,[data-height*='90'],div[data-height='250'][data-width='300'],a[href^='http']:not([href*='18comic.']) > img ,#adsbox ,a[target='_blank'][rel*='nofollow'] > img[src*='.gif'] ,#guide-modal ,iframe[width='300'][height='250'] ,.modal-body > ul.pop-list,.adsbyexoclick,div[data-group^='skyscraper_'],.bot-per,.top-a2db,a[href*='.taobao.com'],div[data-height='264'][data-width='956'],div[style^='position: fixed; top:'],.bot-per.visible-xs.visible-sm {display: none !important; pointer-events: none !important;}", // 555电影网 dy555: "div.module {z-index:1!important} div.popup.popup-tips.none.popupShow, a[target=\"_blank\"] img,.playtop.col-pd,a[href*=\"?channelCode=\"] > img[src*=\".com:\"],#adsbox,div.myui-panel.myui-panel-bg.clearfix.wapad {display:none !important}", // 555影院 wnacg: "div > img[src*='gif'],div.sh,div > a[target='_blank'] > img {display:none !important}", // 绅士漫画 manhuapicanone: "li[class*=lindex],.row.alert,.my-insert-flag,[role=alert],img[src*=gif] {display:none !important; pointer-events: none !important;} ", // 嗶咔picacg免費網頁版 manhuapicaheight: "/*li[class*=lindex],*/.row.alert,.my-insert-flag,[role=alert],img[src*=gif] {height:0px !important} ", // 嗶咔picacg免費網頁版 dmm: "", /* @media (min-width:640px){.sm\\:hidden{margin:6px 0 0;padding:0;display:flex !important}} */ missav: "a[href^='https://theporndude.com'],a[href*='mycomic'],a[href*=myavlive],[href*='bit.ly'],[href*='bit.ly'][target=_blank],a[href*='/vip'],img[src*='.gif'],iframe,#a[href*='//bit.ly/'],div[style*='z-index: 1001'],ul.space-y-2.mb-4.ml-4.list-disc.text-nord14,div.space-y-5.mb-5,div.under_player,div[style=\"width: 300px; height: 250px;\"]{display:none !important;pointer-events:none !important}body{overflow-x:hidden}", // MissAV bigirl: 'div#container + div, h4.adblock_title,div.adblock_subtitle,[class^=\'adblock\'],div[class^=\'ad_\'], .toppage_av {display:none !important; pointer-events: none !important;}', // https://bi-girl.net/ marketcap: '.ad-tr {display:none !important; pointer-events: none !important;}', // https://8marketcap.com/ opgg: ".AdSense, div[data-ad], tr.ad, #banner-container, section[class*='md:hidden'] {display:none !important; pointer-events: none !important;}", btc760: ".ad_img,.ad_img,#ad_headerbanner {display:none !important; pointer-events: none !important;}", // btc760 dnfcloudfront: "div.van-swipe__track,div.swiper-wrapper,div.van-count-down,div[class*=mine-ad],div.van-overlay, div[role=dialog], iframe {display:none !important; pointer-events:none important;}", // cloudfront mdsp porny91: "div.row a[target*='_blank'],[href*='vfrbu1044'], div.coment-bottom, header + #main:nth-child(n+4) .container-fluid.mb-3.p-0,header + #main:nth-child(n+4) > div[id^=\"po-s\"]:not(#po-shd),.row > div.colVideoList:has(> div.video-elem > a[target=\"_blank\"]),.jsv-g1,.fixed-bottom.jsv.jsv-g1 {display:none !important;pointer-events:none important;}", // 91porny porna91: ".modal-backdrop.in,.dx-banner-item,.ad-dialog,a.checkNum[target='_blank']:not([href*='91porna.com']),li.flex.mr-6,div.text-mini.mb-3,a[href*='cloudfront'], div.filters, div.filters > div#videobox, div.row > div.col.col-24 { min-height: 0px !important; display:none !important;pointer-events:none important;}", // 91porna porn91: ".copysuccess {background:green !important;color:white !important;} br, .ad_img,.preroll-blocker, img[href*='.gif'] {display:none !important; pointer-events: none !important;}", // 91porn zhihuAds: "div.css-1izy64v,[class='Card AppBanner'],.Footer,.Banner-link,div.Pc-word {display:none !important; pointer-events: none !important;}", pornhubx: ".clearfix.watchpageAd,ins.adsbytrafficjunky,ins.adsbytrafficjunky~.tjLinksWrapper{display:none!important} div.y20lkk9odsf6bxapqkvaa.clearfix > ins.adsbytrafficjunky[data-spot-id=\"981\"][data-site-id=\"23\"][data-height=\"99px\"][data-width=\"305px\"],.topAdContainter, a[href*='ads'], div.adContainer.clearfix.noBottom, .adContainer.clearfix.middleVideoAdContainer, div.adContainer.clearfix.noBottom, a[href*='fuck'][target='_blank'], [data-href][target='_blank'],iframe, a.ad#link, #header.hasAdAlert {grid-template-rows:60px 40px 0px !important} div.hd.clear, div > img[data-title][srcset], #js-networkBar,div#abAlert, .adsbytrafficjunky, #pb_template, .sponsor-text, #adsbox, .abAlertShown, .abAlertInner, #main-container > .abovePlayer, [rel*='noopener nofollow'],a[href^=\"http://ads.trafficjunky.net/\"], .topAdContainter,.adsbytrafficjunky,.ad-link {height:0px !important; display:none !important; pointer-events:none;}", // pornhub t66y: "div.content-box > div.static-container-4,div.tips[style*='auto'],div[class*=ftad-item] {height:0px !important; display:none !important; pointer-events:none;}", // pornhub xchina: "a[target='_blank']:not([href*='limbopro' i]):not([href*='.m3u8' i]):not(.echo *):not(:has(+ .echo)),a[href*='pre'],div.static-container-5,div.static-container-8,div.block-overlay,.push-slider,.push-top-container,.push-bottom {display:none !important; pointer-events: none !important;}", instagram: "div._aagw {display:none !important}", // 网页版Instagram不能复制图片的问题 ttsp: "div#playad1,a[href*=\"8616.tech\"],.play_list_adbox,#adsbox,.ads_all > .ads_w,.ads_box,.right_ads {display:none !important}", tz659: "figure, img[src*='mt2.jpg'],img[src*='pf.gif'],[src*='.gif'], iframe {display:none !important}", anime: "div[id*=ad] {display:none !important}", yhdmp: ".yrtjbmnk_b, .hvitsutz_b {display :none !important; pointer-events: none !important;}", // 樱花动漫 //nivod: "[style='text-align: center; margin-top: 30px;'], iframe, img[src*=gif], .video-ad, .nav-ads, #adDiv, .v-ad, .ad-text, #video-container + ul[style^=\"width:\"] > li > img {display: none !important; pointer-events:none important;}", // 泥巴影视视频左上角水印贴片 nivod nivod: "img[src*='1a732eeb1adb'], img[src*='49e8abd32d13'], span[style*='1a2d'],span[style*='0891'],[style='text-align: center; margin-top: 30px;'],.qy20-h-carousel__li:nth-child(-n+2), .qy20-h-carousel__li:nth-child(-1n+2), span[style*='d92ea585-0'],span[style*='3db8c0fd-218f-491f-b2b0-2057bd401a2d'], iframe, img[src*=gif], .video-ad, .nav-ads, #adDiv, .v-ad, .ad-text, #video-container + ul[style^=\"width:\"] > li > img {display: none !important; pointer-events:none important;}", // 泥巴影视视频左上角水印贴片 nivod _91short: "a[href*=lhiefl], a[href*=lol], div.shortcuts-mobile-overlay,div.xtbhkpvx_b,a[href*=cpa],img[src*=gif],#adsbox, div.adm {display:none !important; pointer-events: none !important;}", xiaobaotv: "", cupfoxapp: ".head_ad {display:none !important; pointer-events: none !important;}", dmmiku: " #vodshare, .right_ads, .ads_box, .ads_all > .ads_w {display:none !important; pointer-events: none !important;}", bfdm: "#player_pause {display:none !important; pointer-events: none !important;}", iyf: "vg-pause-f, div.ad, .ad, .ad_tag, .dabf > .ng-star-inserted, .pggf > .ng-star-inserted {display:none !important; pointer-events: none !important;}", hltv: "div.close-container,.presented-by,.mid-container + div[id]:has(> a[href] > img[alt][src]),.kgN8P9bvyb2EqDJR,.mid-container {display:none !important; pointer-events: none !important;}", cnys: "div#player_pause, e#time_ad, div.vod-gg, img[src*='b02.gif'], #adsbox, #ADtip, .ec-ad {display:none !important; pointer-events: none !important;}", google: "#tvcap, #tads, div.XDZKBc,.jnyxRd.TpRPV {display:none !important}", javday: "p[style], p > a {display:none !important; pointer-events: none !important;} ", xvideos: ".remove-ads-link, .remove-ads, .adsbyexoclick, #ad-header-mobile, .video-ad, #video-right, #ad-footer {display:none !important; pointer-events: none !important;}", // xvideos javbus: "div.row iframe,.ad-item,.ad-box {display:none !important}", javdb: "nav.app-desktop-banner,div.moj-content {display:none !important}", jkforum: "", javland: "img[src*='.gif'], a[href^=\"https://go.rmhfrtnd.com/\"] {display:none !important; pointer-events: none !important;}", // jav.land _4hu: ".couplet-left, body[ontouchstart] > div[id^='content_'][style='display: block;'], div.row.col2 > dl, #btmBox, img[src*=gif],.col5 > dl#randomBox, script[src$=\"/base.js\"] + #couplet, body[ontouchstart] > #topBox,.wrap + #btmBox,.search + #midBox {opacity:0% !important; pointer-events: none !important; height: 0px !important}", // {opacity:0% !important; pointer-events: none !important; height: 0px !important} netflav: "iframe[src*=xlv],.ads_video_overlay_mobile, div.widget-container, a[href*=\"register\"][target=\"_blank\"],div.ads_video_close_button,div.ads_video_overlay_mobile,div.footer_root,div.ads_head_banner_container {display:none !important;}", supjav: '.video-wrap > div.right,#pop, .div_pop, #pop.div_pop, .movv-ad, #adsbox, div.right, div.movv-ad.ad_3_3, div.movv-ad.ad_3_2, .movv-ad, .adsbyexoclick, #adsbox, .adsbyexoclick {display:none !important; pointer-events: none !important;}', hitomi: ".container > div[class$=\"content\"] > div[class]:has(> script) {display:none !important; pointer-events: none !important;}", hanime1: ".comics-banner-ads,span.scaled-exoclick, iframe, #close-mobile-ad-btn, #bottom-ads, div[style*=\"width: 310px; height: 282px;\"] {display:none !important; pointer-events: none !important;}", javlibrary: ".menutext.whenmobile {top:90px;z-index:114;} a[href*='redirect'] {display:none!important} #toplogo {height:64px} .videothumblist .videos {min-width:auto;}.titlebox.whenmobile{width:250px} #topmenu.whenmobile {height:70px;} .searchbar.whenmobile{right:2px} div.videothumblist.whenmobile {overflow:scroll!important;overflow-x:hidden!important;} div#rightcolumn.whenmobile {width:300px} #rightcolumn {right:90px} #leftmenu {width:90px; position:fixed;} div#content {width:auto !important} body.main { min-width: auto; width:auto !important} iframe,img[src*='gif'] , td.advsearch {display:none!important;pointer-events: none !important;}", douban: "*{display:none!important}", olevod: "#adsbox, .ads-bg {display:none!important}", ntdm9: "#adsbox, .yammohxz_b {display:none !important; pointer-events: none !important;}", njav: "div[style=\"position: absolute; inset: 0px; z-index: 999; display: block;\"],.ad-floating,[src*='.gif'],iframe[width='300px'] {display:none!important}", jav_common: ".jw-wrapper > div[style=\"opacity: 0; visibility: hidden; overflow: hidden; display: block; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%;\"],div[style^=\"position:fixed;inset:0px;z-index:2147483647;background:black;opacity:0.01\"] {height:0px; display:none !important; pointer-events: none !important;}", huaren_live: "[src*='0d463e36ddf0630.jpg'],.ad-tso,.ad-s,#dm-opacity,.ad-txt, .pause-ad, .ad-link:not(.adsbox), .action-ad, img[src*='ads.jpg'] {display:none !important; pointer-events: none !important;}", rouman: "div[role='dialog'] {display:none !important; pointer-events: none !important;}", rouvideo: "div[style*='pointer-events: none'],.flex.items-center.justify-center.my-2,ins > iframe,a.vast-blocker,.p-2.rounded.text-center,.text-xl.mb-1,[class*='hover:underline'],[style*='overflow: hidden'],[data-advadstrackid] {display:none !important; pointer-events: none !important;}", diyibanzhu: "img, #adsbox, .slide-ad {height:0px; display:none !important; pointer-events: none !important;}", alicesw: "a[target='_zblank'] {height:0px; display:none !important; pointer-events: none !important;}", novel543: "iframe, div#adfoot, div.px-3.py-3, #adfoot, .gadBlock {height:0px; display:none !important; pointer-events: none !important;}" //button_common: "padding: 6px 6px 6px 6px; display: inline-block; color: white;z-index: 114154 !important; border-right: 6px solid #38a3fd; border-left: #292f33 !important; border-top: #292f33 !important; border-bottom: #292f33 !important; background: #2563eb; border-radius: 0px 0px 0px 0px; font-weight: 800 !important; text-align: right !important;" // 按钮/输入框通用样式 }, function: { } } /* loadCSS(adsMax.css.globalcss, () => { // console.log('CSS 已生效'); // 自行去导航里的工具箱开启 }) */ /* loadCSS(adsMax.css.weblistads, () => { console.log('CSS 已生效'); }) */ css_adsRemove(adsMax.css.othercss, 0, 'othercss') // 引用全局样式 function values() { var adsDomain = [ "pornhub", "t66y", "xchina.co", 'dmm.co.jp', "missav", "bi-girl", "marketcap", "op.gg", "t1229.btc760.com", "d1skbu98kuldnf.cloudfront.net", "dnt92ffcqr0xu.cloudfront.net", "91porna.com", "91porny.com", "91porn.com", "avple", "18comic", "wnacg", "manhuapica", "zhidao.baidu.com", "www.baidu.com", "m.baidu.com", "ddys", "jable", "bdys", "google", "bing", "duboku", "libvio", "tvn", "www.5dy", "www.555dd", "o8tv", "555dyx", "instagram", "ttsp", "tz659", "nbys", "anime1", "yhpdm", "yhdmp", "nivod", "91short", "xiaobaotv", "xiaoxintv", "cupfoxapp", "dmmiku", "bfdm", "iyf", "cnys", "javday", "xvideos", "javbus", "javdb", "av.jkforum.net", "jav.land", "4hu", "netflav", "javplayer", "filemoon", "embedrise", "mmfl02", "mmsw02", "netflavns2", "supjav", "hanime1", "hitomi", "javlibrary", "emturbovid", 'netflavns1', "turbovidhls.com", "trailerhg.xyz", "turboplayers.xyz", "javggvideo.xyz", "turtleviplay.xyz", "findjav.com", "stbturbo.xyz", "emturbovid.com", "turbovidhls.com", 'fc2stream', 'douban', 'twitter', 'olevod', 'njav', 'ntdm9', 'play.huaren.live', 'huaren.live', 'rouman', 'rou.video', 'novel543', 'diyibanzhu', 'alicesw', 'hltv', "zhihu" ] var url = document.location.href; console.log("URL : " + url); // 看看当前 URL var i; for (i = 0; i < adsDomain.length; i++) { if (url.indexOf(adsDomain[i]) !== -1) { var values = adsDomain[i]; // 释放参数值 console.log("Catch it : " + values) // 看看控制台输出了个啥 } } return values; } function adsDomain_switch(x) { // 匹配参数值 执行相应函数 switch (x) { case 'pornhub': window.addEventListener('load', function () { pornhub_interstitialPass(); //tag_adsRemove("script", "ads_batch"); const custom_style_values_pb = "right: 0px !important; padding: 0 !important; position: relative !important;" css_adsRemove(adsMax.css.pornhubx, 500, "pornhubX"); // 页面加载完成后执行 // 精准选中所有 TJ 广告容器 document.querySelectorAll('ins.adsbytrafficjunky').forEach(ins => { // 移除整个外层 div(包含随机 class 的那个) const container = /*ins.closest('div.clearfix') ||*/ ins.parentElement; if (container) container.remove(); }); setTimeout(() => { let ads_selector = [".topAdContainter", "a[href*='ads']", "a[href*='fuck']", "a[href*='ad']", "div.adContainer.clearfix.noBottom", ".adContainer.clearfix.middleVideoAdContainer"]; let ads = setInterval(() => { ads_selector.forEach((x) => { selector_one_by_one(x) }) console.log("清理还在继续..." + x) if (document.querySelectorAll(ads_selector).length == 0) { clearInterval(ads) console.log("清理计时器,ads移除完毕...") } }, 1000) }, 100) let cssText = "font-size: smaller !important; background: #2563eb !important; left: 0px; top: 110px; margin-right: 5px; margin-top: 5px;" + "padding: 6px 6px 6px 6px; display: inline-block; color: white;z-index: 114154 !important; border-right: 6px solid #38a3fd; border-left: #292f33 !important; border-top: #292f33 !important; border-bottom: #292f33 !important; background: #2563eb; border-radius: 0px 0px 0px 0px; font-weight: 800 !important; text-align: right !important;" setTimeout(() => { if (document.getElementById('download_pornhub') == null) { ele_dynamicAppend("div.ratingInfo, div.categoryRow.ratingDetails.sectionPadding", "href", "如何下载本视频?", cssText, "https://limbopro.com/archives/M3U8-Downloader.html", "download_pornhub", 2, "a") if (document.getElementById("download_pornhub")) { document.getElementById("download_pornhub").style = "display: inline !important;"; document.getElementById("download_pornhub").target = "_blank !important;"; } } }, 3000) pornhub_sidebar_ads(); }); break; case 't66y': css_adsRemove(adsMax.css.t66y); break; case 'xchina.co': css_adsRemove(adsMax.css.xchina); window.addEventListener('load', function () { // 小说页面广告 if (document.querySelectorAll('div.fiction-banner')) { document.querySelectorAll('div.fiction-banner').forEach(box => { if (box.querySelector('iframe[src*="magsrv.com"]')) { box.remove(); } }) } // 包含 static-container-4 或包含 magsrv.com iframe 的 content-box 都删掉 if (document.querySelectorAll('.content-box')) { document.querySelectorAll('.content-box').forEach(box => { if (box.querySelector('.static-container-4')) { box.remove(); } }) } xchinadl(); }); break; case '91porna.com': //cloudflare_captchaBypass(); css_adsRemove(adsMax.css.porna91); //_91porn_videoplay_ads(); // 播放页空白 document.querySelectorAll("br").forEach((x) => { if (x.clientHeight = 0) { x.remove() } }) break; case '91porny.com': //cloudflare_captchaBypass(); css_adsRemove(adsMax.css.porny91); //_91porn_videoplay_ads(); // 播放页空白 document.querySelectorAll("br").forEach((x) => { if (x.clientHeight = 0) { x.remove() } }) /** * 关闭指定的 Bootstrap 模态框(仅使用官方 API:BS5 / BS4) * * @param {string} selector - 必需的 CSS 选择器,支持多个用逗号分隔 * 示例: '#myModal', '.modal', '#m1, #m2' * @returns {void} * * @example * closeBootstrapModal('#loginModal'); * closeBootstrapModal('.modal.show, #alertModal'); */ function closeBootstrapModal(selector) { 'use strict'; // 1. 参数校验 if (typeof selector !== 'string' || !selector.trim()) { console.warn('closeBootstrapModal: 必须提供有效的选择器字符串'); return; } // 2. 解析多个选择器 const selectors = selector .split(',') .map(s => s.trim()) .filter(s => s); if (!selectors.length) { console.warn('closeBootstrapModal: 解析后无有效选择器'); return; } // 3. 获取所有匹配元素并去重 const elements = Array.from( new Set( selectors.flatMap(sel => Array.from(document.querySelectorAll(sel)) ) ) ); if (!elements.length) { console.log('closeBootstrapModal: 未找到匹配的元素'); return; } // 4. 逐个尝试关闭(仅使用官方 API) elements.forEach(modal => { let closed = false; // === Bootstrap 5 原生 API === if (!closed && typeof bootstrap !== 'undefined' && bootstrap.Modal) { const instance = bootstrap.Modal.getInstance(modal); if (instance) { instance.hide(); console.log('Bootstrap 5: instance.hide() 已调用', modal); closed = true; } else { // 尝试创建新实例并关闭(适用于未初始化但结构正确的 modal) try { new bootstrap.Modal(modal).hide(); console.log('Bootstrap 5: 新实例 hide() 已调用', modal); closed = true; } catch (e) { console.warn('Bootstrap 5: 创建实例失败', e, modal); } } } // === Bootstrap 4 jQuery API === if (!closed && typeof $ !== 'undefined' && $.fn.modal) { try { $(modal).modal('hide'); console.log('jQuery: modal("hide") 已调用', modal); closed = true; } catch (e) { console.warn('jQuery modal("hide") 失败', e, modal); } } // === 若都失败,仅记录警告 === if (!closed) { console.warn('closeBootstrapModal: 无法关闭模态框(无可用 Bootstrap API)', modal); } }); } // 或者绑定到某个事件 document.addEventListener('keydown', e => { if (e.key === 'Escape') closeBootstrapModal('.modal.show,div.skip-btn'); }); setTimeout(() => { closeBootstrapModal('.modal.show,div.skip-btn') // 关闭模态框 _91porny_dl() // 下载按钮 if (document.querySelector('div.skip-btn.cursor-p')) { // 跳过广告按钮 document.querySelector('div.skip-btn.cursor-p').click() } }, 2000); document.addEventListener('DOMContentLoaded', function () { this.setTimeout(() => { closeBootstrapModal('.modal.show,div.skip-btn') // 关闭模态框 _91porny_dl() // 下载按钮 if (document.querySelector('div.skip-btn.cursor-p')) { // 跳过广告按钮 document.querySelector('div.skip-btn.cursor-p').click() } }); }); window.addEventListener('load', function () { this.setTimeout(() => { closeBootstrapModal('.modal.show,div.skip-btn') // 关闭模态框 _91porny_dl() // 下载按钮 if (document.querySelector('div.skip-btn.cursor-p')) { // 跳过广告按钮 document.querySelector('div.skip-btn.cursor-p').click() } }); }, 2000); break; case 't1229.btc760.com': css_adsRemove(adsMax.css.btc760); break; case 'd1skbu98kuldnf.cloudfront.net': //mdsp case 'dnt92ffcqr0xu.cloudfront.net': //mdsp window.addEventListener('load', function () { this.setTimeout(() => { css_adsRemove(adsMax.css.dnfcloudfront); }); }, 2000); break; case '91porn.com': //cloudflare_captchaBypass(); css_adsRemove(adsMax.css.porn91); let url91 = document.location.href; if (url91.includes('view_')) { // 推荐用 includes,更简洁 const timer = setInterval(() => { const skipBtn = document.querySelector('div.preroll-skip-button'); if (skipBtn) { skipBtn.click(); clearInterval(timer); // 点击成功后立即停止轮询 console.log('广告已自动跳过'); } }, 500); // 500ms 比 1000ms 更灵敏,用户体验更好 // 可选:设置最长等待时间(如15秒后自动停止,防止死循环) setTimeout(() => clearInterval(timer), 15000); } setTimeout(() => { _91porn_dl() }, 2500) break; case 'avple': //cloudflare_captchaBypass(); css_adsRemove(adsMax.css.avple); if (typeof third_party_fileX == 'function') { third_party_fileX("script", adsMax.js.avple, "body") } break; case '18comic': css_adsRemove(adsMax.css.comic_18); button_dynamicRemove("#chk_cover", 200); _18comic_adsRemove(); break; case 'www.5dy': adsDomain_switch("555dyx") break; case 'o8tv': adsDomain_switch("555dyx") break; case 'www.555dd': adsDomain_switch("555dyx") break; case "555dyx": let www = setInterval(() => { if (document.querySelector('video')) { document.querySelector('video').style = 'opacity: 1; filter: contrast(1.01) brightness(1.05) saturate(1.1);' /* if (document.querySelector('video').loop == 'false') { document.querySelector('video').setAttribute('loop', '') } */ console.log("画面增强设置成功...") clearInterval(www) } }, 1000) document.querySelectorAll('div.module').forEach((x) => { x.style.zIndex = 1 }); css_adsRemove(adsMax.css.dy555, 0, "555dy") document.querySelectorAll('.popup-btn.close-pop')[0].click(); //模拟点击 break; case 'wnacg': css_adsRemove(adsMax.css.wnacg); break; case 'manhuapica': if (window.location.href.replace('https://manhuapica.com/') == 'undefined' || window.location.href.replace('https://manhuapica.com/#') == 'undefined' || window.location.href.replace('https://manhuapica.com/?vflush') !== window.location.href) { css_adsRemove(adsMax.css.manhuapicanone); setTimeout(() => { if (document.querySelector('.btn.btn-outline-primary')) { document.querySelector('.btn.btn-outline-primary').click() } }, 3000) } else { css_adsRemove(adsMax.css.manhuapicaheight); } setTimeout(() => { var divx = document.createElement('div'); divx.id = 'adblock4limbox'; divx.style = 'display:none !important;' var body = document.querySelectorAll('body')[0]; //body.appendChild(divx); var child = document.querySelectorAll('img[src*=gif]') child.forEach((x) => { divx.appendChild(x); }) }, 1000) break; case 'zhidao.baidu.com': console.log('it\'s zhidao.baidu.com') css_adsRemove(adsMax.css.baidu_zhidao, 500, 'fuckbaidu') setTimeout(() => { css_adsRemove(adsMax.css.baidu_zhidao, 500, 'fuckbaidu') }, 1500) break; case 'www.baidu.com': window.addEventListener('load', function () { console.log('Got u! baidu.com') let regex = /https?:\/\/(www|m)\.baidu\.com\/(from=|s\?)/gi window.location.href.search(regex) !== -1 if (window.location.href.search(regex) !== -1) { css_adsRemove(adsMax.css.baidu_search); console.log('移除搜索结果广告🪧...') } else { adsDomain_switch("zhidao") css_adsRemove(adsMax.css.baidu_index); console.log('移首页广告🪧...') } }); break; case 'ddys': //css_adsRemove(adsMax.css.ddrk); css_adsRemove(adsMax.css.ddrk2); //selector_adsRemove("#sajdhfbjwhe,#kasjbgih,#fkasjgf,img[src*='bcebos']", 0) var divx = document.createElement('div'); divx.id = 'adblock4limbox'; divx.style = 'display:none;' var body = document.querySelectorAll('body')[0]; //body.appendChild(divx); var child = document.querySelectorAll('#sajdhfbjwhe,#kasjbgih,#fkasjgf') child.forEach((x) => { divx.appendChild(x); }) break; case 'duboku': third_party_fileX("script", adsMax.js.duboku, "body") break; case 'libvio': css_adsRemove(adsMax.css.libvio) break; case 'nbys': css_adsRemove(adsMax.css.nivod); break; case 'ntdm9': css_adsRemove(adsMax.css.ntdm9); const a = document.getElementsByClassName("yammohxz_b"); addEventListener_defuser("touchend"); // 打断监听器 for (i = 0; i < a.length; i++) { a[i].style = "display: none !important; z-index:-114154; display:block; width:0vw; height:0"; } break; case 'tvn': css_adsRemove(adsMax.css.tvn) break; case 'jable': // 2333 console.log("IT'S JABLE"); window.onload = function () { // 移除广告 // 找到包含特定跳转链接的 标签 const targetLink = document.querySelector('a[href*="9432b3b0-661c-4d05-9552-29757dafc4cb"]'); // 如果存在,则向上找到外层 col-6 容器并移除 if (targetLink) { const container = targetLink.closest('.col-6.col-sm-4.col-lg-12'); if (container) { container.remove(); console.log('广告元素已移除'); } } // 新增快进快退 (function () { fastForward('#player', 'section.pb-3.pb-e-lg-30'); })(); // 快进快退结束 if (document.location.href.search('search') !== -1) { let regex = /.*\/search\//; let code = window.location.pathname.replace(regex, '').replace('/', '').toLowerCase() setTimeout(() => { tmd('#list_videos_videos_list_search_result > nav', code, '试试其他搜索:'); }, 2000) console.log("生成搜索链接🔗"); } if (document.querySelector('.plyr__poster') !== null) { // 在其他站点播放 let regex = /.*\/videos\//; let code = window.location.pathname.replace(regex, '').replace('/', '').toLowerCase(); setTimeout(() => { if (document.querySelector('#p1') == null) { console.log('开始生成在线预览链接...') tmd('h4', code, '在其他站点播放:'); } console.log("生成在其他站点播放链接🔗"); }, 3000) } }() // 子域名跳转至主域名 jable.tv if (/\b(.*\.)(jable\.tv.*)\b/i.test(window.location.href.toLowerCase())) { console.log(window.location.href.toLowerCase()) let url_jable_rewrite = window.location.href.toLowerCase().replace(/https:\/\/\w{2,3}\./i, "https://") console.log(url_jable_rewrite) window.location.replace(url_jable_rewrite) } // 去除首页广告 if (document.querySelectorAll('div.col-6.col-sm-4.col-lg-3').length > 0) { document.querySelectorAll('div.col-6.col-sm-4.col-lg-3').forEach((x) => { // xxx if (x.querySelectorAll("[target='_blank']").length > 0) { x.style = "display: none !important; z-index:-114154; display:block; width:0vw; height:0"; } }) } //cloudflare_captchaBypass(); css_adsRemove(adsMax.css.jable); jable_adsRemove(); const url_jable = document.location.href; const reg_videos = /^https:\/\/jable\.tv.*\/videos/gi; url_jable.search(reg_videos) !== -1 && document.querySelector('#avCodeCopy') === null if (url_jable.search(reg_videos) !== -1 && document.querySelector('#avCodeCopy') === null) { setTimeout(() => { let cssText = "margin-left: 5px; margin-top: 5px; position: static; font-size: smaller !important; background: #2563eb !important; margin-right: 5px; padding: 6px 6px 6px 6px; display: inline-block; color: white; border-right: 6px solid #38a3fd; border-left: #292f33 !important; border-top: #292f33 !important; border-bottom: #292f33 !important; background: #2563eb; border-radius: 0px 0px 0px 0px; font-weight: 800 !important; text-align: right !important;" let cssText2 = "width:72px; margin-left: 5px; margin-top: 5px; position: static; font-size: smaller !important; background: #2563eb !important; margin-right: 5px; padding: 6px 6px 6px 6px; display: inline-block; color: white; border-right: 6px solid #38a3fd; border-left: #292f33 !important; border-top: #292f33 !important; border-bottom: #292f33 !important; background: #2563eb; border-radius: 0px 0px 0px 0px; font-weight: 800 !important; text-align: right !important;" ele_dynamicAppend("div.header-left > h6", "onclick", "code", cssText2, "", "avCodeCopy", 13, "input"); ele_dynamicAppend("div.header-left > h6", "onclick", "复制番号", cssText, "", "copyavCode", 14, "button"); ele_dynamicAppend("div.header-left > h6", "onclick", "", cssText, "", "copy", 15, "input"); ele_dynamicAppend("div.header-left > h6", "onclick", "复制M3U8文件地址", cssText, "", "jablex", 16, "button") ele_dynamicAppend("div.header-left > h6", "onclick", "在线下载本视频", cssText, "", "onlinedl", 17, "button"); ele_dynamicAppend("div.header-left > h6", "onclick", "如何下载本视频?", cssText, "window.open(\"https://limbopro.com/archives/M3U8-Downloader.html\", \"_blank\")", "how", 18, "button"); var regex = /[a-zA-Z]{3,5}\-\d{3,5}/i var avCode = document.querySelectorAll('h4')[0].innerText.match(regex)[0] //let avCode = window.location.pathname.replace('/videos/', '').replace('/', '') let input = document.querySelector('#avCodeCopy') input.value = avCode // 添加监听器 addListenerById("jablex", () => { copyText("copy", "jablex", "复制M3U8文件地址") }, 0); addListenerById("copyavCode", () => { avCodeCopy() }, 0); }, 3000) function avCodeCopy() { // 复制工作开始 let civ = document.querySelector('#avCodeCopy') civ.select() document.execCommand('copy') // 复制工作结束 // 取消文本选中 window.getSelection().removeAllRanges(); // 移除焦点,防止键盘弹出 document.activeElement.blur(); document.querySelector('#copyavCode').innerHTML = '复制成功!' document.querySelector('#copyavCode').setAttribute('class', 'jable_css') setTimeout(() => { document.querySelector('#copyavCode').innerHTML = '复制番号' document.querySelector('#copyavCode').className = '' }, 1500) //}, 0) } setTimeout(() => { repeat_regex.forEach(m3u8_tempt) // online download button script // 获取按钮 const button = document.getElementById('onlinedl'); // 动态创建样式 function createStyles() { const style = document.createElement('style'); style.textContent = ` /* 遮罩层样式 */ .overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 999; } /* 悬浮窗样式 */ .modal { height: 65%; align-content: center; display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: white; padding: 30px; border: 2px solid #007bff; border-radius: 10px; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3); z-index: 1000; text-align: center; max-width: 400px; width: 90%; animation: modalFadeIn 0.3s ease-out; } /* 动画效果 */ @keyframes modalFadeIn { from { opacity: 0; transform: translate(-50%, -60%); } to { opacity: 1; transform: translate(-50%, -50%); } } .modal h3 { color: #007bff; margin-top: 0; font-size: 1.5em; } .modal p { color: #333; font-size: 1.1em; margin: 15px 0; } .modal a { display: inline-block; background-color: #007bff; color: white; padding: 12px 24px; text-decoration: none; border-radius: 5px; font-weight: bold; transition: background-color 0.3s; margin-top: 15px; } .modal a:hover { background - color: #0056b3; transform: translateY(-2px); } .close-btn { background-color: #dc3545; color: white; border: none; padding: 8px 16px; border-radius: 5px; cursor: pointer; margin-top: 10px; font-size: 14px; } .close-btn:hover { background-color: #c82333; } `; document.head.appendChild(style); return style; } // 动态创建DOM元素 function createModalElements() { // 创建遮罩层 const overlay = document.createElement('div'); overlay.id = 'overlay'; overlay.className = 'overlay'; // 创建悬浮窗 const modal = document.createElement('div'); modal.id = 'modal'; modal.className = 'modal'; modal.innerHTML = `

✅ 已复制M3U8文件地址

1.点击下方按钮跳转到在线解析网站 anyconv,2.粘贴M3U8文件地址,3.然后点击转换为MP4格式进行下载即可!

(P.S. 需要注意的是,使用在线解析下载长视频(大于128Mb)可能体验不佳或不如App,可查看更多下载方法选择合适的App下载长视频;点击页面上的非弹窗部分关闭本弹窗)

跳转到下载网站 anyconv
查看更多下载方法 `; // 添加到页面 document.body.appendChild(overlay); document.body.appendChild(modal); return { overlay, modal }; } // 执行函数 function executeFunction() { document.getElementById('jablex').click() console.log('函数已执行'); // 创建样式(只创建一次) if (!document.querySelector('style[data-modal-styles]')) { const style = createStyles(); style.setAttribute('data-modal-styles', 'true'); } // 创建DOM元素(只创建一次) if (!document.getElementById('modal')) { createModalElements(); } // 显示悬浮窗 showModal(); } // 按钮点击事件 button.addEventListener('click', executeFunction); // 点击遮罩层关闭悬浮窗 document.addEventListener('click', function (e) { if (e.target.id === 'overlay') { closeModal(); } }); // ESC键关闭悬浮窗 document.addEventListener('keydown', function (e) { if (e.key === 'Escape') { closeModal(); } }); // 显示悬浮窗 function showModal() { const overlay = document.getElementById('overlay'); const modal = document.getElementById('modal'); if (overlay !== null) overlay.style.display = 'block'; if (modal !== null) modal.style.display = 'block'; } // 关闭悬浮窗 function closeModal() { const overlay = document.getElementById('overlay'); const modal = document.getElementById('modal'); if (overlay !== null) overlay.style.display = 'none'; if (modal !== null) modal.style.display = 'none'; } }, 4000); } break; case 'bdys': css_adsRemove(adsMax.css.btbdys, 0, "siwtch_button"); css_adsRemove(adsMax.css.switch, 0, "switch_class") //videoAds_accelerateSkip(0.1); // 视频广告加速 //setConstant(); // 视频广告加速 hrefAttribute_set(); if (document.querySelectorAll('li[data-increase]')[1] !== null) { document.querySelectorAll('li[data-increase]')[1].click() } var url = document.location.href; if (url == "https://www.bdys10.com/" || url == "https://www.bdys03.com/") { if (!document.getElementById("bdys")) { ele_dynamicAppend("div.container-xl", "onclick", "隐藏公告", "position:inherit; right:92px;" + "padding: 6px 6px 6px 6px; display: inline-block; color: white;z-index: 114154 !important; border-right: 6px solid #38a3fd; border-left: #292f33 !important; border-top: #292f33 !important; border-bottom: #292f33 !important; background: #2563eb; border-radius: 0px 0px 0px 0px; font-weight: 800 !important; text-align: right !important;", "", "bdys", 1, "button"); addListenerById("bdys", () => { notice_hidden("div.col-12") }, 2000); } if (getCookie_("hidden") == 1) { notice_hidden("div.col-12"); } } break; case 'instagram': // 解除 Instagram 桌面浏览器版禁用右键复制图片 css_adsRemove(adsMax.css.instagram); break; case 'ttsp': css_adsRemove(adsMax.css.ttsp); break; case 'tz659': css_adsRemove(adsMax.css.tz659); //tag_ads_traversal("body", 0) break; case 'anime1': css_adsRemove(adsMax.css.anime); break; case 'yhdmp': css_adsRemove(adsMax.css.yhdmp); break; case 'yhpdm': css_adsRemove(adsMax.css.yhdmp); break; case 'google': window.addEventListener('load', function () { css_adsRemove(adsMax.css.google); var userAgent = navigator.userAgent.toLowerCase(); if (/\b(mobile)\b/i.test(userAgent)) { js_adsRemove(adsMax.js.contentFarm); console.log("getYou") // 手机用户 特别是苹果用户会正常加载内容农场脚本 } else { js_adsRemove(adsMax.js.contentFarm); console.log("PC端") // 啥也不做 } }); //var goole_selector = "h3,#bres,[class*='AuVD wHYlTd mnr-c']"; //setAttribute_after(goole_selector, "contentFarm_AdsRemove_Auto()"); break; case 'bing': js_adsRemove(adsMax.js.contentFarm); break; case 'hltv': css_adsRemove(adsMax.css.hltv); noWindowOpenIf(); // no-window-open-if break; case 'nivod': // nbys 泥巴影视 css_adsRemove(adsMax.css.nivod); hrefAttribute_set(); setConstant('detailParams.is_ad_play', 'false'); // 泥巴影视PC版播放页视频广告加速 evaldataPrune(); // 泥巴影视移动版播放页视频广告加速 css_adsRemove(adsMax.css.nbys); // 网页图片广告 setInterval(() => { remove_parentElement_by_child('view.nut-swiper-item.slider-item', "img[src*='1a732eeb1adb']"); remove_parentElement_by_child('view.nut-swiper-item.slider-item', "img[src*='49e8abd32d13']"); remove_parentElement_by_child('.qy20-h-carousel__ul', "span[style*='d92ea585-0']"); remove_parentElement_by_child("li.qy20-h-carousel__li", "span[style*='0891']"); remove_parentElement_by_child("li.qy20-h-carousel__li", "span[style*='1a2d']"); }, 2000) break; case '91short': css_adsRemove(adsMax.css._91short); // 播放页GIF动图广告 const player_info = document.querySelectorAll("div.player-info,li.nav-menu-item") for (i = 0; i < player_info.length; i++) { const selector = ['div > a[href][target=_blank]', 'a[href*=kyty]'] if (player_info[i].querySelectorAll(selector).length >= 1) { player_info[i].style = "display: none !important;"; } } // 多余的高 document.querySelector("div.highlight-box").style = "display: none !important;"; addEventListener_defuser("touchend"); // 打断监听器 break; case 'xiaobaotv': // nothing to do. break; case 'cupfoxapp': css_adsRemove(adsMax.css.cupfoxapp, 100, 'fuckcupfoxapp'); break; case 'dmmiku': css_adsRemove(adsMax.css.dmmiku, 100, 'fuckdmmiku'); window_open_defuser(); //addEventListener_defuser(); break; case 'bfdm': css_adsRemove(adsMax.css.bfdm, 100, 'fuckdmmiku'); break; case 'iyf': css_adsRemove(adsMax.css.iyf, 100, 'fuckiyf'); function iyf_css() { setTimeout(() => { let iyf_css = "div.ad, .ad, .ad_tag, .dabf > .ng-star-inserted,vg-pause-f, .pggf > .ng-star-inserted" document.querySelectorAll(iyf_css).forEach((x) => { x.style = 'display:none;height:0px;' }) }, 1500) } //iyf_css(); aopr(); window.onload = function iyf_hd_switch() { if (document.querySelectorAll('li[data-v-7f52b4c5').length !== 0) { document.querySelectorAll('span[data-v-7f52b4c5].leg.relative')[0].click() } setTimeout(() => { let hd = document.querySelectorAll('li[data-v-7f52b4c5') hd.forEach((x) => { console.log(x.className) if (x.className.search('vip|button') == -1) { if (x.className !== 'active') { x.click() console.log('点击...') } console.log('此前已点击...') if (document.querySelector('.van-overlay').style.display !== 'none' ) { document.querySelector('.van-overlay').click() } } }) }, 1500) } // .player-container .play_info function index(x, id) { if (document.querySelector(x) !== null) { if (document.querySelector('#' + id) == null) { let a = document.createElement('a') a.href = 'https://www.iyf.tv/' a.style = 'position:absolute;right:9px;top:0%;color:aqua;z-index:114154;' a.id = id a.textContent = '返回首页🏠' let parentElement = document.querySelector(x) parentElement.appendChild(a) console.log('生成首页按钮') } if (document.querySelector('#' + id)) { console.log('Got u!') } else { newx(); } } } function newx() { setTimeout(() => { index('.play_info', 'iyf_index') //index('div.player-container', 'iyf_news') } , 1500) } newx(); var currentUrl = window.location.href; setInterval(function () { if (window.location.href !== currentUrl) { console.log('URL发生变化'); newx(); currentUrl = window.location.href; } }, 2000); ////videoAds_accelerateSkip(0.1); // 视频广告加速 ////setConstant(); // 视频广告加速 break; case 'cnys': // nothing to do. //videoAds_accelerateSkip(0.1); // 视频广告加速 //setConstant(); // 视频广告加速 css_adsRemove(adsMax.css.cnys, 0, 'cnys') if (document.querySelectorAll('iframe')[2] !== null && document.querySelectorAll('iframe')[2] !== undefined) { document.querySelectorAll('iframe')[2].style = 'opacity:0% !important; pointer-events: none !important;'; setTimeout(() => { document.querySelectorAll('iframe')[2].style = 'opacity:1 !important; pointer-events: auto !important;'; setTimeout(() => { document.querySelectorAll('iframe')[2].contentWindow.document.querySelectorAll('body')[0].querySelectorAll('div#player_pause')[0].style = 'display:none !important'; setTimeout(() => { //document.querySelectorAll('iframe')[2].contentWindow.document.querySelectorAll('body')[0].querySelectorAll('button.yzmplayer-icon.yzmplayer-play-icon')[0].click(); document.querySelectorAll('iframe')[2].contentWindow.document.querySelectorAll('body')[0].querySelectorAll('button.yzmplayer-icon.yzmplayer-play-icon')[0].addEventListener('touchend', function () { setTimeout(() => { document.querySelectorAll('iframe')[2].contentWindow.document.querySelectorAll('body')[0].querySelectorAll('div#player_pause')[0].style = 'display:none !important'; }, 10); }); }, 1000) }, 3000) }, 7500) } //document.querySelectorAll('iframe')[2].contentWindow.document.querySelectorAll('body')[0].querySelectorAll('#ADtip')[0].style = 'display:none'; break; case 'xiaoxintv': // nothing to do. adsDomain_switch("xiaobaotv") break; case 'javday': // nothing to do. css_adsRemove(adsMax.css.javday, 0, 'javday') break; case 'xvideos': setInterval(() => { if (!document.getElementById('xvideos_t')) { css_adsRemove(adsMax.css.xvideos, 100, "xvideos_t"); noWindowOpenIf(); } else { noWindowOpenIf(); } }, 1000) break; case 'javbus': css_adsRemove(adsMax.css.javbus, 0, "javbus"); function javbus() { // 在番号详情页追加在线预览链接 setTimeout(() => { let father = 'h3'; let code = window.location.pathname.replace('/', '') let url = window.location.href let regx = /[a-zA-Z]{2,6}\-\d{2,5}/i if (url.search(regx) !== -1) { setTimeout(() => { tmd(father, code, '在其他站点播放: ') }, 1000) } else { console.log('当前网站不不匹配') } }, 2000) } javbus() break; case 'javdb': css_adsRemove(adsMax.css.javdb, 0, "javdb"); setTimeout(() => { const javCode = document.querySelector('.copy-to-clipboard')?.dataset.clipboardText || document.querySelector('.panel-block.first-block .value')?.textContent.trim(); console.log(javCode); // NTSU-156 if (javCode !== null) { tmd_land('h2.title', javCode, '在其他站点播放: ') } }, 1000) break; case 'av.jkforum.net': css_adsRemove(adsMax.css.jkforum, 0, "jkforum"); break; case 'jav.land': // 444 css_adsRemove(adsMax.css.javland, 0, "javland"); function jav() { if (document.querySelectorAll('td[width="80%"]')[1] !== null) { let code = document.querySelectorAll('td[width="80%"]')[1].textContent setTimeout(() => { tmd_land('.col-md-6.col-sm-12.col-xs-12', code, '在线预览: '); }, 100) } } jav(); break; case "4hu": css_adsRemove(adsMax.css._4hu); hrefAttribute_set(); break; case "netflav": window_open_defuser(); // 打断 window.open 施法 css_adsRemove(adsMax.css.netflav, 0, "4hu"); break; case "filemoon": window_open_defuser(); // 打断 window.open 施法 break; case "embedrise": window_open_defuser(); // 打断 window.open 施法 break; case "mmfl02": window_open_defuser(); // 打断 window.open 施法 break; case "mmsw02": window_open_defuser(); // 打断 window.open 施法 break; case "emturbovid": window_open_defuser(); // 打断 window.open 施法 break; case "netflavns1": window_open_defuser(); // 打断 window.open 施法 css_adsRemove(adsMax.css.js_common, 50, 'common'); break; case "netflavns2": window_open_defuser(); // 打断 window.open 施法 break; case "fc2stream": case "turbovidhls.com": case 'trailerhg.xyz': // 预告片/镜像站 case 'turboplayers.xyz': // Turbo 播放器 case 'javggvideo.xyz': // JAV 视频托管 case 'turtleviplay.xyz': // Turtle VIPlay case 'findjav.com': // JAV 搜索站 case 'stbturbo.xyz': // STB Turbo 视频 case 'emturbovid.com': // EM TurboVid // 在这里添加你的处理逻辑(如注入 scriptlet) window_open_defuser(); // 打断 window.open 施法 abort_on_property_read('__Y'); break; case "javplayer": adsDomain_switch("fc2stream") break; case "supjav": css_adsRemove(adsMax.css.supjav, 0, "superjav"); //localStorage.setItem('asgsl', '222427=uuid:oCLIHmT61enl9i8kpCI2,noloop:true,shows_limit:0,keep_looping:false,tabunder:false,n:0,global_rr:11176591527659411,s:0,shows:0'); window.onload = function () { if (document.location.href.search('/?s\=') !== -1) { let regex = /.*\/\?s=/; let code = window.location.href.replace(regex, '').replace('/', '').toLowerCase(); setTimeout(() => { tmd('div.archive-title', code, '试试其他搜索:'); }, 2000) console.log("生成搜索链接🔗"); } if (document.querySelector('#player-wrap') !== null) { // 在其他站点播放 var regex = /[a-zA-Z]{3,5}\-\d{3,5}/i var code = document.querySelectorAll('title')[0].innerText.match(regex)[0] setTimeout(() => { if (document.querySelector('#p1') == null) { console.log('开始生成在线预览链接...') tmd('h1', code, '在其他站点播放:'); } }, 2000) } }() noWindowOpenIf('window.open') noWindowOpenIf('touchend') window_open_defuser(); // 打断 window.open 施法 break; case "njav": css_adsRemove(adsMax.css.njav, 0, 'njav'); js_adsRemove(uBlockOrigin.setconstant); js_adsRemove(uBlockOrigin.nowindowopenif); noWindowOpenIf('window.open') noWindowOpenIf('touchend') window_open_defuser(); // 打断 window.open 施法 break; case "hitomi": css_adsRemove(adsMax.css.hitomi); window_open_defuser(); abort_on_property_read(); js_adsRemove(uBlockOrigin.addEventListenerdefuser); //addEventListener_defuser(); js_adsRemove(uBlockOrigin.noevalif); break; case "hanime1": css_adsRemove(adsMax.css.hanime1); const div = document.querySelectorAll('div.hidden-xs.hidden-sm') // PC 端div元素广告移除 for (i = 0; i < div.length; i++) { if (div[i].querySelectorAll('iframe').length > 0) { div[i].style = "display: none !important;"; } } break; case "javlibrary": window.addEventListener('load', function () { async function onPageLoad() { await waitForPageLoad(); console.log('网页所有元素已加载完毕'); // 在此执行你的代码 css_adsRemove(adsMax.css.javlibrary) window_open_defuser(); // 打断 window.open 施法 abort_on_property_read(); js_adsRemove(uBlockOrigin.addEventListenerdefuser); js_adsRemove(uBlockOrigin.noevalif); if (/\b(https:\/\/www.javlibrary.com\/.*?)(\/videoreviews.php)(\?.*)(&mode=2)\b/i.test(window.location.href.toLowerCase())) { console.log(window.location.href.toLowerCase()) let url_jav_rewrite = window.location.href.toLowerCase().replace(/(videoreviews.php)/i, '').replace(/(&mode=2)/i, '') console.log(url_jav_rewrite) window.location.replace(url_jav_rewrite) } function javlibrary() { // '#topmenu', 'div.menutext', '.searchbar', css_adsRemove(adsMax.css.javlibrary); var target_ = ['#rightcolumn', '.videothumblist', '.titlebox', '.menutext'] if (window.innerWidth < 650) { console.log("现在执行缩小任务") function ifAdd(target) { if (document.querySelectorAll(target)[0]) { document.querySelectorAll(target)[0].classList.add('whenmobile') } } target_.forEach(ifAdd); if (document.querySelector('div#rightcolumn')) { var parentElement = document.querySelector('div#rightcolumn') if (document.querySelectorAll("td[style='vertical-align: top;']")[1]) { var child = document.querySelectorAll("td[style='vertical-align: top;']")[1]; } if (document.querySelector('div.socialmedia')) { var insertBeforethisgay = document.querySelector('div.socialmedia'); } if ((child) && (parentElement) && (insertBeforethisgay)) { parentElement.insertBefore(child, insertBeforethisgay) } document.querySelectorAll('td.t>div').forEach((x) => { x.style.width = 'auto'; }) } if (document.querySelector('div#video_title')) { document.querySelector('#rightcolumn').style.width = window.innerWidth - 90 + "px" document.querySelector('div#video_favorite_edit').style.width = '250px' } } else { console.log("现在执行扩大任务") if (document.querySelector('div#video_title')) { document.querySelector('#rightcolumn').style.width = window.innerWidth + "px" document.querySelector('div#video_favorite_edit').style.width = 'auto' } function ifRemove(target) { if (document.querySelectorAll(target)[0]) { document.querySelectorAll(target)[0].classList.remove('whenmobile') } } target_.forEach(ifRemove); } } javlibrary(); // 2333 zjpl() function zjpl() { setTimeout(() => { // 最佳评论页 调换位置 javlibrary(); if (document.querySelectorAll('td.info')[0]) { document.querySelectorAll('td.info').forEach((x) => { x.style.width = "60px" x.querySelectorAll('*').forEach((y) => { // y.style.width = "60px" }) }) var ff = document.querySelectorAll("table.comment > tbody > tr"); for (i = 0; i < ff.length; i++) { ff[i].insertBefore(ff[i].querySelectorAll('td')[1], ff[i].querySelectorAll('td')[0]) } } }, 1500) } function javLibrary_links() { // 在番号详情页追加在线预览链接 setTimeout(() => { let father = 'div#video_title' //let code = window.location.pathname.replace('/', '') let code = document.querySelectorAll('td.text')[0].textContent let url = window.location.href //let regx = /[a-zA-Z]{3,5}\-\d{3,5}/i let regx = /www\.javlibrary\.com\/cn\/\?v\=jav/i if (url.search(regx) !== -1) { tmd(father, code, '在线预览: ') } else { console.log('当前网站不不匹配') } }, 2000) } javLibrary_links() } function waitForPageLoad() { return new Promise((resolve) => { if (document.readyState === 'complete') { resolve(); } else { window.addEventListener('load', () => resolve(), { once: true }); } }); } onPageLoad(); }); break; case 'douban': if (document.querySelectorAll('a.Ims1t')[0]) { alert("首页...") document.querySelectorAll('a.Ims1t').forEach((x) => { x.href = 'https://movie.douban.com/top250' }) } break; case 'zhihu': var zhihu_id = "zhihux" button_dynamicRemove("[class='Button Modal-closeButton Button--plain']", 10); css_adsRemove(adsMax.css.zhihuAds, 100, "hloyx"); indexLogin(); addListener("div.TopNavBar-tab-d8yaD", () => { indexLogin() }); break; case 'olevod': css_adsRemove(adsMax.css.olevod, 0, 'fuckolevod'); setTimeout(() => { onAdsHide() }, 500) break; case 'play.huaren.live': //setConstant('ConFig.config.ads', '{}'); // huaren影视PC版播放页视频广告加速 css_adsRemove(adsMax.css.huaren_live, 200, 'huaren'); ConFig.config.ads = {}; break; case 'huaren.live': css_adsRemove(adsMax.css.huaren_live, 200, 'huaren'); //noWindowOpenIf(); break; case 'rouman': css_adsRemove(adsMax.css.rouman, 100, 'roumanx'); setTimeout(() => { document.querySelectorAll("div[class*='modalCloseButton']")[0].click() }, 500) break; case 'rou.video': css_adsRemove(adsMax.css.rouvideo, 100, 'roumanx'); css_adsRemove(adsMax.css.rouvideo, 500, 'roumanx'); window_open_defuser(); // 打断 window.open 施法 try { // 可能会抛出异常的代码 setTimeout(() => { if (document.querySelector('.modalCloseButton') !== null) { document.querySelector('.modalCloseButton').click() } console.log('模态窗口已关闭'); }, 1500) setTimeout(() => { if (document.querySelector('button.close-button--wsOv0') !== null) { document.querySelector('button.close-button--wsOv0').click() } console.log('模态窗口已关闭'); }, 1500) } catch (error) { // 发生异常时执行的代码 console.error('发生错误:', error); } finally { // 可选,无论是否发生异常都会执行 console.log('finally 块总会执行'); } break; case 'novel543': css_adsRemove(adsMax.css.novel543, 100, 'novel543x'); break; case 'diyibanzhu': css_adsRemove(adsMax.css.diyibanzhu, 100, 'diyibanzhu'); window_open_defuser(); // 打断 window.open 施法 break; case 'alicesw': css_adsRemove(adsMax.css.alicesw, 100, 'alicesw'); break; case 'bi-girl': // bigirl css_adsRemove(adsMax.css.bigirl, 500, 'bigirl') js_adsRemove(uBlockOrigin.noevalif); break; case 'marketcap': // marketcap css_adsRemove(adsMax.css.marketcap, 500, 'bigirl') js_adsRemove(uBlockOrigin.noevalif); break; case 'op.gg': // op.gg css_adsRemove(adsMax.css.opgg, 500, 'bigirl') js_adsRemove(uBlockOrigin.noevalif); break; case 'dmm.co.jp': // 在番号详情页追加在线预览链接 // https://video.dmm.co.jp/ window.addEventListener('load', function () { // 在番号详情页追加在线预览链接 // https://video.dmm.co.jp/ setTimeout(() => { extractAndGenerateLinks() // 执行函数 }, 1500); // 等待页面加载完成 var currentUrl = location.href; setInterval(function () { if (currentUrl !== location.href) { console.log('URL 改变了!新 URL:', location.href); currentUrl = location.href; // 执行你的逻辑 setTimeout(() => { extractAndGenerateLinks() // 执行函数 }, 1500); // 等待页面加载完成 } }, 2000); // 每 100ms 检查一次,频率可调整 function isMobile() { // 判断是否为移动设备 return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); } function extractCodeFromUrl() { const url = window.location.href; console.log(`当前URL: ${url}`); const match = url.match(/id=([^&#?]+)/); if (!match || !match[1]) { console.warn("URL 中未找到有效的 id 参数"); return null; } let idValue = match[1]; // 移除前缀(如 h_1100),提取字母和数字部分 let cid = idValue.replace(/^(h_\d+)?([a-zA-Z]+)(\d+)$/, '$2$3'); if (!cid) { console.warn("处理后的 cid 为空"); return null; } // 分离字母和数字 const parts = cid.match(/([a-zA-Z]+)(\d+)/); if (!parts) { console.warn("cid 格式不符合预期"); return null; } const prefix = parts[1]; // 字母部分 const number = parseInt(parts[2], 10); // 转换为整数 // 格式化为 3 位数字,补前导零 const formattedNumber = number.toString().padStart(3, '0'); let code_dmm = `${prefix}-${formattedNumber}`; console.log(`cid: ${cid}`); console.log(`code_dmm: ${code_dmm}`); return code_dmm; } function extractAndGenerateLinks() { // 番号提取及链接生成 console.log("执行 extractAndGenerateLinks() 函数"); // 如果 extractCodeFromUrl() 返回 false,直接退出 const code = extractCodeFromUrl(); if (!code) return; const url = window.location.href; const isMobileDevice = isMobile(); const isContentPage = url.includes('/content/') || url.includes('dightal'); const isMonthlyPage = url.includes('/monthly/'); // 如果 #p1 存在,直接退出 if (document.querySelector('#p1')) return; try { let selector; if (isMobileDevice) { selector = isContentPage ? 'h1 > span' : isMonthlyPage ? 'h1' : null; } else { selector = isContentPage ? 'h1' : isMonthlyPage ? 'div.bx-detail-player-sampleMovie' : null; console.log(`${isContentPage ? '/content/' : '/monthly/'} ${selector}`); } if (selector) { console.log('开始生成在线预览链接...'); tmd(selector, code, '在其他站点播放:'); } } catch (e) { console.error(`Error in ${isMobileDevice ? 'mobile' : 'PC'}:`, e); } } // 在 DMM 同人页面添加搜索链接 // 获取 h1 文本(排除 内容和限定/版本等字眼,增强鲁棒性) function getH1Text(selector) { try { const element = document.querySelector(selector); if (!element) { console.warn('No element found with selector:', selector); return ''; } function extractText(node) { let text = ''; node.childNodes.forEach(child => { if (child.nodeType === Node.TEXT_NODE) { text += child.textContent.trim(); } else if (child.nodeType === Node.ELEMENT_NODE && child.tagName.toLowerCase() !== 'span') { text += extractText(child); } }); return text; } let textContent = extractText(element); if (!textContent) { console.warn('No valid text content found in element with selector:', selector); return ''; } // 过滤包含“限定”“版本”等字眼的文本 const filterPatterns = [ /【[^】]*限定[^】]*】/g, // 匹配如【FANZA限定版】 /【[^】]*版[^】]*】/g, // 匹配如【特别版】 /限定版/g, // 匹配限定版 /特別版/g, // 匹配特别版 /版/g // 匹配单独的“版” ]; filterPatterns.forEach(pattern => { textContent = textContent.replace(pattern, '').trim(); }); if (!textContent) { console.warn('Text content is empty after filtering:', selector); return ''; } return textContent; } catch (error) { console.error('Error extracting text:', error); return ''; } } // 添加搜索链接功能 function addDmmDoujinSearchLink(parentsSelector, h1Text, linkLabel) { // 检查是否为 DMM 同人页面 URL function isDmmDoujinUrl() { return window.location.href.startsWith('https://www.dmm.co.jp/dc/doujin/'); } // 创建并添加搜索链接 function createSearchLinks(parentElement, textContent, h1Text) { if (!parentElement) { console.warn(`Parent element not found with selector: ${parentsSelector}`); return; } // 检查是否已存在 ID 为 p1 的元素 if (document.getElementById('p1')) { console.log('Search links already exist, skipping.'); return; } // 创建 p1 容器 const p1 = document.createElement('p'); p1.id = 'p1'; p1.style.cssText = 'height:fit-content; margin:10px 0px 0px 0px; border-left:6px solid #38a3fd; font-size:14px; border-radius:4px !important; box-shadow:rgb(151, 151, 151) 0px 0px 0px 0px inset; background:#10141f; color:chocolate; padding:0px; word-break:break-all; border-radius:0px'; // 创建 p2 容器 const p2 = document.createElement('p'); p2.id = 'p2'; p2.style.cssText = 'background:black; padding-left:6px; font-weight:inherit; padding:6px; word-break:break-all; font-size:inherit; border-radius:0px'; p1.appendChild(p2); parentElement.appendChild(p1); // 添加标题 const span = document.createElement('span'); span.style.cssText = 'font-weight:bolder; font-size:medium; color:bisque;'; span.textContent = textContent; p2.appendChild(span); // 添加单个搜索链接 function appendSearchLink(siteName, url, query) { const a = document.createElement('a'); const label = document.createElement('label'); label.style.cssText = 'font-weight:inherit; display:inline-block; max-width:100%; margin-right:10px;'; a.href = url + encodeURIComponent(query); a.textContent = siteName; a.target = '_blank'; a.style.cssText = 'color:inherit; font-weight:inherit'; label.appendChild(a); p2.appendChild(label); } const searchSites = [ { name: 'Hitomi[HD]', url: 'https://www.google.com/search?q=', query: `site:hitomi.la ${h1Text}` }, { name: '禁漫天堂[HD]', url: 'https://www.google.com/search?q=', query: `site:18comic.vip ${h1Text}` }, { name: '绅士漫画[HD]', url: 'https://www.google.com/search?q=', query: `site:www.wnacg.com ${h1Text}` }, { name: 'Google🔍', url: 'https://www.google.com/search?q=', query: `${h1Text}` } ]; searchSites.forEach(site => appendSearchLink(site.name, site.url, site.query)); console.log('Search links generated successfully.'); } // 主逻辑:执行搜索链接添加 function executeSearch() { if (!isDmmDoujinUrl()) { console.log('This function can only be executed on https://www.dmm.co.jp/dc/doujin/ and its subpages.'); return; } const parentElement = document.querySelector(parentsSelector); createSearchLinks(parentElement, linkLabel, h1Text); } // 使用 MutationObserver 检测 DOM 加载 function observeDomLoad() { const targetNode = document.body; if (!targetNode) { console.warn('Document body not found.'); return; } const observer = new MutationObserver((mutations, obs) => { const parentElement = document.querySelector(parentsSelector); if (parentElement) { executeSearch(); obs.disconnect(); } }); observer.observe(targetNode, { childList: true, subtree: true }); // 超时 5 秒后停止观察 setTimeout(() => { observer.disconnect(); executeSearch(); }, 5000); } // 启动观察 observeDomLoad(); } // 主逻辑:初始化脚本 function initDmmSearchLinks() { if (!window.location.href.startsWith('https://www.dmm.co.jp/dc/doujin/')) { console.log('Page is not under https://www.dmm.co.jp/dc/doujin/, script not executed.'); return; } // 尝试两种可能的 h1 选择器 const selectors = ['h1.productTitle__txt', 'header.detail_header']; let h1Text = ''; let selectedSelector = ''; for (const selector of selectors) { h1Text = getH1Text(selector); if (h1Text) { selectedSelector = selector; break; } } if (!h1Text) { console.warn('No valid h1 text found with selectors:', selectors.join(', ')); return; } addDmmDoujinSearchLink(selectedSelector, h1Text, '试试其他搜索:'); } // 执行脚本 try { initDmmSearchLinks(); } catch (error) { console.error('Error initializing DMM search links:', error); } }); break; case 'missav': window.addEventListener('load', function () { // 你要追加的 CSS 内容 const css = ` @media (min-width: 640px) { .sm\\:hidden { display: flex !important; } } ` // 方法 1:使用