爱意满满的作品展示区。
vance123

浏览器插件 The Great Filter:过滤你的信息流

  •  
  •   vance123 · Jun 19, 2022 · 3519 views
    This topic created in 1447 days ago, the information mentioned may be changed or developed.

    前景提要 https://www.v2ex.com/t/859344

    魔改了全局 ajax 对象,让用户可以任意修改网站上的 API 响应结果,支持同步过滤和异步过滤

    从现在起,你可以过滤知乎结果中的低质量回答、营销号、三无用户了,你甚至可以按照用户注册时间过滤结果。当然,不只知乎,像 twitter 、微博、reddit 、甚至 github 的结果也都是可以修改过滤的,正所谓「 Javascript 的边界,就是 theGreatFilter 的边界」

    项目地址为 theGreatFilter,欢迎提交 issue 和 pull request ,也可以加入 tg 群 实时讨论

    有哪里没讲明白的,或者有好玩想法的,可以在评论区一起讨论

    注:由于重口难调,现在项目只内置了一个zhihuSearchFilter作为范例参考。要添加新过滤器的话,还需要使用者自己动手安装插件和编写 Typescript 代码。

    15 replies    2022-06-21 17:38:13 +08:00
    batnss
        1
    batnss  
       Jun 19, 2022
    手动关注
    yanwen
        2
    yanwen  
       Jun 19, 2022   ❤️ 1
    https://github.com/uknfire/theGreatFilter/blob/master/build/monkey.js

    这个 monkey.js 要是改为 monkey.user.js 就好了。。点击 raw 就可以直接安装了 省去了复制黏贴的麻烦
    codingBug
        3
    codingBug  
       Jun 19, 2022 via Android
    除了自己,还有谁能定义低质量回答
    runze
        4
    runze  
       Jun 19, 2022   ❤️ 1
    @codingBug #3 故事档案局
    jchnxu
        5
    jchnxu  
       Jun 19, 2022
    xmlhttprequest 好说,fetch 不一定能改啊,有些在最开始就弄到闭包里去了
    vance123
        6
    vance123  
    OP
       Jun 19, 2022
    @yanwen 原来还有这样的用法,第一次知道,已经修改了
    vance123
        7
    vance123  
    OP
       Jun 19, 2022
    @jchnxu 插件是在所有其它 script 运行之前就替换了 window.fetch ,应该没问题
    jchnxu
        8
    jchnxu  
       Jun 19, 2022
    document_start 也保证不了最开始运行的。。。你可以查一下看看
    vance123
        9
    vance123  
    OP
       Jun 19, 2022
    @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.",不应该是能保证最先运行吗?
    autoxbc
        10
    autoxbc  
       Jun 20, 2022
    这个门槛比较高了,还要去读 API 的结构,就算是能胜任开发,大概到直接修改 DOM 就不错了
    pC0oc4EbCSsJUy4W
        11
    pC0oc4EbCSsJUy4W  
       Jun 20, 2022
    对百度搜索结果过滤😂
    jchnxu
        12
    jchnxu  
       Jun 20, 2022
    @vance123 那可能你是对的。我当时试了半天也没做到,有可能是我哪里弄错了,或者 是 manifest v2 的问题,或者是被 inject 的网站搞了什么骚操作
    zhw2590582
        13
    zhw2590582  
       Jun 20, 2022
    使用门槛有点高
    vance123
        14
    vance123  
    OP
       Jun 20, 2022
    @fatelight 百度和谷歌的桌面端都是直接把结果嵌入 html 的,不过移动端也许有 API
    vance123
        15
    vance123  
    OP
       Jun 21, 2022
    新增了一个异步过滤的范例。简单介绍下,在知乎的搜索 api 结果里只包含回答者的简要信息,但过滤器插件可以拿用户 id 请求更详细的资料,进一步判定搜索结果的质量
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2810 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 13:34 · PVG 21:34 · LAX 06:34 · JFK 09:34
    ♥ Do have faith in what you're doing.