via Twitter;
前序(必看/Mac/Windows/Android/网页广告拦截方案)
选择适合自己的去网页广告方案
安卓用户
macOS/Windows 用户
移除 YouTube(网页版)广告
毒奶去网页广告计划
毒奶去网页广告计划支持平台
使用代理软件或浏览器扩展实现: Quantumult X /Surge/Shadowrocket/Loon/Stash);
涉及模块: Rewrite/MITM(中间人攻击(英語:Man-in-the-middle attack,缩写:MITM)在密码学和计算机安全领域中是指攻击者与通讯的两端分别建立独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。);
前端知识参阅
https://github.com/limbopro/Adblock4limbo ;
全部代码已放在 Github 仓库,大家可以自行取用,里面有丰富的去网页广告示例;对于前端的学习与Quantumult X/Surge/Shadowrocket 的实操应用(如嵌入脚本/样式)或许也会有一些帮助;值得一提的是,无论 Adguard/Adblock 或油猴脚本,大都是通过嵌入脚本/样式的方式实现对网页中广告元素的移除,Adguard 付费版本提供额外的DNS拦截功能。
JavaScript
window.open-defuser.js ,脚本来自 https://github.com/gorhill/uBlock/wiki/Resources-Library#windowopen-defuserjs- ;可将其追加嵌入网页响应体的 <head>
标签开始之后 或 </body>
标签结束之前,即可打断 弹窗;
window.open-defuser.js
function window_open_defuser() {
'use strict';
let arg1 = '{{1}}';
if (arg1 === '{{1}}') { arg1 = ''; }
let arg2 = '{{2}}';
if (arg2 === '{{2}}') { arg2 = ''; }
let arg3 = '{{3}}';
if (arg3 === '{{3}}') { arg3 = ''; }
const log = /\blog\b/.test(arg3)
? console.log.bind(console)
: () => { };
const newSyntax = /^[01]?$/.test(arg1) === false;
let pattern = '';
let targetResult = true;
let autoRemoveAfter = -1;
if (newSyntax) {
pattern = arg1;
if (pattern.startsWith('!')) {
targetResult = false;
pattern = pattern.slice(1);
}
autoRemoveAfter = parseInt(arg2);
if (isNaN(autoRemoveAfter)) {
autoRemoveAfter = -1;
}
} else {
pattern = arg2;
if (arg1 === '0') {
targetResult = false;
}
}
if (pattern === '') {
pattern = '.?';
} else if (/^\/.+\/$/.test(pattern)) {
pattern = pattern.slice(1, -1);
} else {
pattern = pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}
const rePattern = new RegExp(pattern);
const createDecoy = function (tag, urlProp, url) {
const decoy = document.createElement(tag);
decoy[urlProp] = url;
decoy.style.setProperty('height', '1px', 'important');
decoy.style.setProperty('position', 'fixed', 'important');
decoy.style.setProperty('top', '-1px', 'important');
decoy.style.setProperty('width', '1px', 'important');
document.body.appendChild(decoy);
setTimeout(() => decoy.remove(), autoRemoveAfter * 1000);
return decoy;
};
window.open = new Proxy(window.open, {
apply: function (target, thisArg, args) {
log('window.open:', ...args);
const url = args[0];
if (rePattern.test(url) !== targetResult) {
return target.apply(thisArg, args);
}
if (autoRemoveAfter < 0) { return null; }
const decoy = /\bobj\b/.test(arg3)
? createDecoy('object', 'data', url)
: createDecoy('iframe', 'src', url);
let popup = decoy.contentWindow;
if (typeof popup === 'object' && popup !== null) {
Object.defineProperty(popup, 'closed', { value: false });
} else {
const noopFunc = (function () { }).bind(self);
popup = new Proxy(self, {
get: function (target, prop) {
if (prop === 'closed') { return false; }
const r = Reflect.get(...arguments);
if (typeof r === 'function') { return noopFunc; }
return target[prop];
},
set: function () {
return Reflect.set(...arguments);
},
});
}
if (/\blog\b/.test(arg3)) {
popup = new Proxy(popup, {
get: function (target, prop) {
log('window.open / get', prop, '===', target[prop]);
return Reflect.get(...arguments);
},
set: function (target, prop, value) {
log('window.open / set', prop, '=', value);
return Reflect.set(...arguments);
},
});
}
return popup;
}
});
};
CSS
对于图片/iframe等元素广告,我们可以利用元素选择器配合 !important 使用;将 新样式文件 追加嵌入网页响应体的 <head>
标签开始之后,即可覆盖原广告样式;
Adblock4limbo.user.css (举例命名)
.ad_img,img[class*=\"ad_img\"], iframe[src*=\"ads\"], img[href*='.gif'] {display:none ! important; pointer-events: none !important;}
开源技术资源参阅
uBOL-home:https://github.com/uBlockOrigin/uBOL-home;
uBlock Origin Resources Library:https://github.com/gorhill/uBlock/wiki/Resources-Library;
Adguard Scriptlets :https://github.com/AdguardTeam/Scriptlets;
AdGuard 过滤器:https://adguard.com/kb/zh-CN/general/ad-filtering/adguard-filters/;
urlhaus-filter:https://gitlab.com/malware-filter/urlhaus-filter#full-version;https://urlhaus.abuse.ch/;
油猴-Tampermonkey®-技术文档:https://www.tampermonkey.net/documentation.php?locale=zh;
去网页广告计划介绍(在维护的网站列表及功能更新日志)
功能一览
10.25.2023 最新Feature、导航使用指南及常见FAQ -> https://t.me/Adblock4limbo/21
10.13.2023 为去网页广告计划新增导反馈/建议按钮,同时也起到导航左右;(P.S. 不需要使用到导航的用户可以点击进入导航页面,选择隐藏;)
08.27.2023 已在服务器部署多端自动化适配脚本,未来维护会更加轻松;
08.27.2023 新增对 Shadowrocket 的支持(移植自QuantumultX);
04.13.2022 新增对 油猴的支持(按油猴的格式重写了用户脚本);
03.21.2022 新增对 Surge的支持(移植自Quantumult X);
28.10.2020 新增对 Quantumult X的支持;
在维护的网站列表(已完美移除广告)
网站 | 网站类型 | 支持软件 | 广告类型 |
---|---|---|---|
低端影视 | 在线影视 | Surge/QuantumultX/小火箭/油猴 | 图片/跳过视频广告倒计时 |
小宝影视 | 在线影视 | 同上 | 图片 |
泥巴影视 | 在线影视 | 同上 | 播放页片头20秒广告加速移除 |
CN影视 | 在线影视 | 同上 | 图片广告/片头广告 |
剧迷网 | 在线影视 | 同上 | 图片 |
哔嘀影视 | 在线影视 | 同上 | 图片/跳过片头视频广告倒计时 |
独播库 | 在线影视 | 同上 | 图片 |
欧乐影院 | 在线影视 | 同上 | XHR |
在线影视 | 同上 | 图片 | |
libvio | 在线影视 | 同上 | 图片 |
韩剧TV | 在线影视 | 同上 | 图片(需配合去广告分流) |
天天视频 | 在线影视 | 同上 | 动图/弹窗 |
NT动漫 | 在线影视 | 同上 | 图片 |
Google/Bing | 搜索引擎 | 同上 | 屏蔽搜索结果页的内容农场结果/文字及图片 |
百度搜索/知道 | 搜索引擎 | 同上 | 图片 |
Jable | Porn | 同上 | 图片/弹窗/M3U8文件提取 |
MissAV | Porn | 同上 | 图片/弹窗/离开页面后正常播放视频 |
Supjav | Porn | Surge/QuantumultX/小火箭/ | 播放页弹窗/图片 |
Javday | Porn | Surge/QuantumultX/小火箭/ | 图片/弹窗 |
njav | Porn | Surge/QuantumultX/小火箭/ | 图片 |
Netflav | Porn | Surge/QuantumultX/小火箭/ | 图片/播放页弹窗 |
Pornhub | Porn | Surge/QuantumultX/小火箭/ | 图片/视频广告(需配合去广告分流) |
Javlibrary | Jav图书馆 | 同上 | 图片 |
Javbus | Jav图书馆 | 同上 | 图片 |
Xvideos | Porn | Surge/QuantumultX/小火箭/ | 片头广告/图片 |
91Porn | Porn | 同上 | 图片/视频广告(需配合去广告分流) |
4hu | Porn | 同上 | 图片/弹窗 |
Hitomi | 工口漫画及下载 | 同上 | 图片 |
肉漫 | 工口漫画 | 同上 | 图片 |
绅士漫画 | 工口漫画 | 同上 | 图片 |
禁漫天堂 | 工口漫画 | 同上 | 图片 |
anime1 | 漫画在线 | 同上 | 图片 |
hanime1 | 工口动漫 | 同上 | 图片 |
知乎 | 问答 | 油猴 | PC端未登录状态浏览知乎体验优化 |
参阅完整的:在维护的网站列表;如果其中没有你 希望支持去广告的网站,可以在本文 反馈问题/提交新网站 部分,按要求 反馈问题/提交新网站;
如何反馈问题/提交新网站(重要)
去网页广告配置教程(QX/Surge/Shadowrocket/Loon...)
毒奶去广告计划(for QuantumultX)
致力于通过 Quantumult X 去除网页上的广告内容(包括横幅、JS弹出广告等等);
https://github.com/limbopro/Adblock4limbo;
在维护的网站列表:https://github.com/limbopro/Adblock4limbo/blob/main/Adblock4limbo.weblist;
讨论群组:https://t.me/Adblock4limbo/21;
反馈问题/提交新网站:可以在本文 反馈/问题提交新网站 部分,按要求 反馈问题/提交新网站;
Quantumult X 技术参考文档:
https://github.com/crossutility/Quantumult-X/blob/master/rewrite.md
过滤器参考:AdGuard 过滤器及 Adblock
https://adguard.com/zh_cn/blog/adguard-filters.html / https://easylist.to/
食用方法
第一步:分流引用
1.复制分流地址链接
https://limbopro.com/Adblock4limbo.list
2.如图所示,打开 QuantumultX App -> 点击右下角三菱按钮 -> 分流 -> 规则资源 - 点击右上角 +号,在资源路径处粘贴刚刚复制的链接 -> 开启 策略偏好 -> 然后再选则 Reject,保存,退至上层分流-规则资源列表页面;P.S. 无论以后是否还会 + 新的分流规则资源,请确保该分流规则资源(此处我们假设命名为Adblock)始终处于分流-规则资源列表的顶部(上图 3个截图的拼图中,第2个截图所示,Adblock始终处于顶部位置);
第二步:重写引用:
https://limbopro.com/Adblock4limbo.conf
复制👆🏻链接 -> 打开 Quantumult X -> 重写 -> 规则资源 -> 点击右上角 🔗+ 按钮,在 资源路径 输入框 粘贴链接,保存;
最后,生成并信任证书:如果再此之前已经生成并信任证书则 生成并配置证书这一步可选择忽略;
- 进入 QuantumultX ,点击右下角 [三菱按钮]
- 找到 [MitM] 模块 - 生成并配置证书📄
- 进入QuantumultX,点击页面右下角三菱
按钮
,找到MinM
模块,点击生成证书
,提示生成成功,点击安装证书
此时会跳转至Safari
,提示此网站...下载一个配置描述文件。您要允许吗?
,点击允许
,网页提示已下载描述文件
;- 进入 iOS 系统
设置
-通用
-描述文件
-已下载的描述文件
-选中,并安装,输入密码...完成描述文件安装;- 进入 iOS 系统
设置
-通用
-关于本机
-证书信任设置
-针对根证书启用完全信任
-选中刚刚安装的并启用即可;
- 找到 [重写] 模块 - 开启按钮 🔘
- 找到 [MitM] 模块 - 开启按钮 🔘
⚠️
点击安装证书
后不是在Safari
打开,而是在其他浏览器打开,导致证书无法安装;
✅ 解决办法:打开 iPhone
设置
app - 搜索或下滑找到Safari浏览器
点击 , -找到默认浏览器App
,选择Safari浏览器
, 然后重试第二步即可。
Faq(N/A)
近期有用户反馈在使用TG(电报)时,网络日志会出现 MitM fail(www.google.com:80/443 N/A),有App持续频繁的刷新该请求(异常),如下图所示;
-www.google.com
用于排除代理软件对域名 www.google.com 的中间人攻击;
以上。
毒奶去广告计划(for Surge)
致力于通过 Surge 去除网页上的广告内容(包括横幅、JS弹出广告等等);
https://github.com/limbopro/Adblock4limbo
在维护的网站列表:https://github.com/limbopro/Adblock4limbo/blob/main/Adblock4limbo.weblist;
讨论群组:https://t.me/Adblock4limbo/21;
反馈问题/提交新网站:可以在本文 反馈问题/提交新网站 部分,按要求 反馈问题/提交新网站;
Surge 官方技术参考文档:https://wiki.surge.community/ ; https://surge.mitsea.com/scripting/http-response
过滤器参考:AdGuard 过滤器及Adblock
https://adguard.com/zh_cn/blog/adguard-filters.html / https://easylist.to/
食用方法
安装及更新模块
https://limbopro.com/Adblock4limbo.sgmodule
第一步:安装模块:Surge - 首页 - 模块 - 安装新模块 - 粘贴下面的链接 - 好的;(如何 更新模块?:左滑 模块的名称 - 点击 更新;);
配置分流规则
https://limbopro.com/Adblock4limbo_surge.list
第二步:配置分流:Surge - 首页 - 出站模式 - 规则分流 - 代理规则 - 新增 - 增加新规则集 - 外部规则集 - 策略选择 - Reject - 粘贴 如下 URL
更新外部资源
第三步: 更新 外部资源:Surge - 首页 - 点击左上角 - 进入你的 配置列表 - 编辑 - 外部资源 - 点击 全部更新(这一步很重要,很多时候大家在第一次安装并更新模块完成附带更新外部资源,就再也不手动去更新 外部资源 了,而是等待它自动更新;);
Faq(N/A)
目前(Surge)暂未发现因本计划造成的其他影响;
毒奶去广告计划(for Shadowrocket)
致力于通过 Shadowrocket 去除网页上的广告内容(包括横幅、JS弹出广告等等);
https://github.com/limbopro/Adblock4limbo;
在维护的网站列表:https://github.com/limbopro/Adblock4limbo/blob/main/Adblock4limbo.weblist;
讨论群组:https://t.me/Adblock4limbo/21;
反馈问题/提交新网站:可以在本文 反馈问题/提交新网站 部分,按要求 反馈问题/提交新网站;
食用方法
https://limbopro.com/Adblock4limbo.module
安装模块
第一步:安装模块: 如图所示,打开 Shadowrocket - 配置 - 模块 - 点击 右上角的加号➕ 粘贴上面的链接 - 然后启用该模块;
配置分流
https://limbopro.com/Adblock4limbo.list
第二步:配置分流:复制上面的链接,打开 Shadowrocket - 配置 - 找到正在使用的配置文件 - 点击 i 进入编辑页面 - 点击 右上角的加号➕ - 添加规则 - 类型选择 RULE-SET - 策略选择 REJECT - 规则集URL处粘贴刚刚复制的链接 - 保存;
配置解密(MitM)
第三步:配置解密:打开 Shadowrocket - 配置 - 找到正在使用的配置文件 - 点击 i 进入编辑页面 - 找到并进入 HTTPS解密 - 开启 HTTPS 解密开关 - (如未安装证书? 请先安装证书) - 证书授权 - 点击 证书 - 生成新的CA证书 - 安装证书 - 提示“已下载描述文件” - 进入 iPhone的 设置 - 找到 已下载描述文件(一般在飞行模式上面) - 点击并输入密码完成安装;
第四步:安装完成后,你需要去设置 ->通用->关于本机一>证书信任设置 信任 Shadowrocket 证书;
OK,大工告成!
毒奶去广告计划(for Loon)
博主未曾购买Loon(也不打算购买),故可能需要花点时间看下文档 ...;博主依稀记得 Loon 是可以直接使用 Surge 模块的,分流同理,Loon 用户可以参阅 配置教程 -> Surge 部分 的配置操作;
毒奶去广告计划(for Stash)
博主未曾购买Stash(也不打算购买),故可能需要花些时间看下文档...;
毒奶去广告计划(for 油猴 - Tampermonkey)
毒奶去网页广告计划(油猴脚本链接)
https://github.com/limbopro/Adblock4limbo/raw/main/Adguard/Adblock4limbo.user.js
【1.键盘快捷键妙用;】
1.1 当页面右下角导航按钮消失后,按ESC键可快速唤出;
1.2 当页面右下角出现导航按钮时,此时再按一次ESC键可唤出导航详情页; 1秒内(具体是500ms内)连续按 2次 ESC 键可唤出 导航详情页;
1.3 🔙当处于导航详情页时,按ESC可退出导航详情页;
1.4 🔍当处于导航详情页时,按G键或空格键 可快速唤出搜索框,可快速进行搜索操作(同时会退出导航页);
1.5 【页面锁🔒】当处于导航详情页时,按L键可开启页面锁🔒(需设置密码);
【2.成人保护模式-已取消】
2.1 当你浏览成人网站时,但因为其他事离开了当前页面:返回时,页面将会模糊化;此时按 ESC 键/点击屏幕/上下滑动都可以解除模糊;
2.2 当你浏览成人网站,看着看着睡着了,页面将会在10分钟后模糊;(未来按需会加锁🔐),再看。
【3.页面锁🔒模式】
3.1 导航详情页新增锁屏按钮;需要时可模糊/锁定当前网页内容,如需查看页面需输入密码;
3.2 PC端油猴用户可 连按3次ESC键 快速模糊/锁定当前页面;GreasyFork 晚些时候同步更新;
https://github.com/limbopro/Adblock4limbo;
在维护的网站列表:https://github.com/limbopro/Adblock4limbo/blob/main/Adblock4limbo.weblist;
讨论群组:https://t.me/Adblock4limbo/21;
反馈问题/提交新网站:可以在本文 反馈问题/提交新网站 部分,按要求 反馈问题/提交新网站;
订阅转换工具/去广告分流
如何安装油猴脚本?
Github版(推荐)
https://github.com/limbopro/Adblock4limbo/raw/main/Adguard/Adblock4limbo.user.js
greasyfork/sleazyfork 版
Sleazyfork版免登陆即可安装:https://sleazyfork.org/zh-CN/scripts/443290-adblock4limbo
Faq(常见问题与解答)
Faq(常见问题与解答)参阅:https://t.me/Adblock4limbo/21;
关于内容安全策略以及一些解决办法
使用iOS上的一些代理软件可以轻易做到绕过CSP;如果你尝试通过代理软件在一些网站的网页插入 JS,但未成功,可能该网站开启了CSP,可以参阅上文解决;
一些额外可能会需要知道的小知识:CSP,内容安全策略;关于如何绕过CSP,目前PC端并没有很好的办法,所以去网页广告计划可能无法直接在全部网站投入使用完整功能;(其中的导航功能涉及引入 function.js;部分网站(如Twitter)由于开启了CSP,所以无法直接引用JS;),如你特别需要,可以再额外安装 function.js 对应的用户脚本:function.user.js ,之所以使用.user.js 后缀,是因为用户脚本管理器有这样的约定,用于识别与安装它们;需要注意的是,不能让 adblock4limbo.user.js / function.user.js 在一个没有内容安全策略的网站同时生效,也就是说,你应稍微配置一下 function.user.js ,使其只 match 有内容安全策略的网站;
其他去广告分流(去广告增强)
这里需要再次强调的是,Adblock4limbo.list 内包含的规则很少,仅适用于当前在 维护的网站,如果你需要更强大的分流规则支持,可按需添加如下分流,并将策略偏好设置为 Reject;
更多去广告分流位于:https://github.com/limbopro/Adblock4limbo/tree/main/rule ;
EasyList/EasyListChina/BanAD 介绍
以下分流, QuantumultX 和 小火箭 可直接引用,策略偏好选 Reject;Surge 用户:https://github.com/limbopro/Adblock4limbo/tree/main/rule/Surge ,在这里就不过多介绍;
BanAD.list 针对广告联盟的去广告分流
https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/rule/QuantumultX/BanAD.list
Peter_Lowe_adservers.list 各式各样都有
https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/rule/QuantumultX/Peter_Lowe_adservers.list
easylist.list 针对国外网站的去广告分流
https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/rule/QuantumultX/easylist.list
easylistchina.list 针对中国大陆的网站的去广告分流
https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/rule/QuantumultX/easylistchina.list
其他去广告教程(YouTube App...)
YouTube app 去广告
NobyDa 去广告分流规则
iPhone/iPad/Mac/Windows/Android浏览器广告屏蔽扩展
Tips
一些小 Tips
禁止浏览器自动跳转到App
测试
版权属于:毒奶
联系我们:https://limbopro.com/6.html
毒奶搜索:https://limbopro.com/search.html
毒奶导航:https://limbopro.com/daohang/index.html本文链接:https://limbopro.com/archives/12904.html
本文采用 CC BY-NC-SA 4.0 许可协议,转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!