前景提要 https://www.v2ex.com/t/859344
魔改了全局 ajax 对象,让用户可以任意修改网站上的 API 响应结果,支持同步过滤和异步过滤
从现在起,你可以过滤知乎结果中的低质量回答、营销号、三无用户了,你甚至可以按照用户注册时间过滤结果。当然,不只知乎,像 twitter 、微博、reddit 、甚至 github 的结果也都是可以修改过滤的,正所谓「 Javascript 的边界,就是 theGreatFilter 的边界」
项目地址为 theGreatFilter,欢迎提交 issue 和 pull request ,也可以加入 tg 群 实时讨论
有哪里没讲明白的,或者有好玩想法的,可以在评论区一起讨论
注:由于重口难调,现在项目只内置了一个zhihuSearchFilter
作为范例参考。要添加新过滤器的话,还需要使用者自己动手安装插件和编写 Typescript 代码。
1
batnss 2022-06-19 21:44:51 +08:00
手动关注
|
2
yanwen 2022-06-19 21:49:21 +08:00 1
https://github.com/uknfire/theGreatFilter/blob/master/build/monkey.js
这个 monkey.js 要是改为 monkey.user.js 就好了。。点击 raw 就可以直接安装了 省去了复制黏贴的麻烦 |
3
codingBug 2022-06-19 21:49:50 +08:00 via Android
除了自己,还有谁能定义低质量回答
|
5
jchnxu 2022-06-19 22:14:28 +08:00
xmlhttprequest 好说,fetch 不一定能改啊,有些在最开始就弄到闭包里去了
|
8
jchnxu 2022-06-19 22:50:00 +08:00
document_start 也保证不了最开始运行的。。。你可以查一下看看
|
9
vance123 OP @jchnxu 还是不太理解。根据 chrome 文档, document_start 的行为是"Scripts are injected after any files from css, but before any other DOM is constructed or any other script is run.",不应该是能保证最先运行吗?
|
10
autoxbc 2022-06-20 02:15:08 +08:00
这个门槛比较高了,还要去读 API 的结构,就算是能胜任开发,大概到直接修改 DOM 就不错了
|
11
pC0oc4EbCSsJUy4W 2022-06-20 02:38:55 +08:00
对百度搜索结果过滤😂
|
12
jchnxu 2022-06-20 08:10:22 +08:00
@vance123 那可能你是对的。我当时试了半天也没做到,有可能是我哪里弄错了,或者 是 manifest v2 的问题,或者是被 inject 的网站搞了什么骚操作
|
13
zhw2590582 2022-06-20 09:07:49 +08:00
使用门槛有点高
|
15
vance123 OP 新增了一个异步过滤的范例。简单介绍下,在知乎的搜索 api 结果里只包含回答者的简要信息,但过滤器插件可以拿用户 id 请求更详细的资料,进一步判定搜索结果的质量
|