Google extension 迎来 manifestV3 后 类似 tampermonkey 这些需要调用 remote script 的插件该如何应对? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Alander
V2EX    程序员

Google extension 迎来 manifestV3 后 类似 tampermonkey 这些需要调用 remote script 的插件该如何应对?

  •  
  •   Alander 2022-12-08 14:13:26 +08:00 2633 次点击
    这是一个创建于 1073 天前的主题,其中的信息可能已经有所发展或是发生改变。
    16 条回复    2022-12-10 08:34:26 +08:00
    penzi
        1
    penzi  
       2022-12-08 14:24:49 +08:00 via Android
    无法应对,硬着陆
    jeesk
        2
    jeesk  
       2022-12-08 15:12:09 +08:00
    firefox
    Leteno
        3
    Leteno  
       2022-12-08 15:32:08 +08:00
    upstream 其实也在做允许你往 main world 注入 script 的工作,只是目前还差临门一脚 https://source.chromium.org/chromium/chromium/src/+/e5ad3451c17b21341b0b9019b074801c44c92c9f

    我猜是很难允许插件干这个事的,不安全。
    solobat
        4
    solobat  
       2022-12-08 16:21:55 +08:00
    油猴脚本这些都太粗暴了,也容易有风险,最好是加一层抽象隔离下。iHelpers 就是这个思路: https://chrome.google.com/webstore/detail/ihelpers/hcnekoladldejmeindnhpjkfhjadcick
    Alander
        5
    Alander  
    OP
       2022-12-08 16:26:55 +08:00
    @solobat 不是很理解,你的插件是支持远程代码执行的吗?
    Alander
        7
    Alander  
    OP
       2022-12-08 17:38:38 +08:00
    @solobat 没有用过你的插件,但是看了下你的文档,大概意思是你的插件内置了一系列指令,然后用户不直接编写代码而是编写规定好的文本协议,插件解析用户的文本协议后运行对应指令的操作?

    这种方式确实是一个方法,但是油猴对我来说最重要的一点就是最大程度的自由,我可以写任何我要的脚本实现一些功能而不是限制于平台 /插件本身
    solobat
        8
    solobat  
       2022-12-08 19:53:17 +08:00
    @Alander 嗯是你了解的那样。不过通常就是安全和自由度只能二选一。
    a632079
        9
    a632079  
       2022-12-08 20:08:54 +08:00   4
    欢迎加入 Firefox 避难营 :sad: :
    * Mozilla 承诺会给 Manifest v3 中保留 webRequest 等一系列接口 保证 UBlock Origin 等插件的正常工作
    * Microsoft Edge 表示会遵循 Google Chrome 的政策,同时间停止支持 Manifest v2 的插件
    penzi
        10
    penzi  
       2022-12-08 20:37:48 +08:00   1
    楼上说推荐 Firefox 的。

    我想说这是个双标商店,比技术限制更恶心。我的插件上架 Firefox 后因为有热更新代码直接被下架了。但是一堆 userscripts 插件却在商店好好的。
    aloxaf
        11
    aloxaf  
       2022-12-09 09:04:51 +08:00   2
    @maggch97 这两者不一样啊
    userscripts 插件里的脚本都是用户自己从其他网站安装的,就算出了事情也不是插件的锅,更不是 Firefox 的锅。
    你这热更新万一推送恶意代码,那背锅的就是 Firefox 审查不力。
    更不用说这类插件即使更新脚本也会弹窗要求用户确认……
    penzi
        12
    penzi  
       2022-12-09 09:48:12 +08:00 via Android   1
    @aloxaf 并没有什么区别,绝大部分人没有审查脚本的能力,况且脚本就不能有热更的问题了
    penzi
        13
    penzi  
       2022-12-09 09:49:02 +08:00 via Android
    @aloxaf 通过政策而不是技术来保证安全性就是一个笑话。
    penzi
        14
    penzi  
       2022-12-09 09:49:56 +08:00 via Android
    @maggch97 脚本本身就有热更的能力
    aloxaf
        15
    aloxaf  
       2022-12-09 10:15:05 +08:00   2
    @maggch97 #12 这和你有没有审查脚本的能力没关系,只和锅谁来背有关系

    #13 那你倒是说说在允许热更新的情况下,如何防止恶意代码……

    #14 脚本的热更新和 Firefox 无关了啊,那是插件和提供脚本的网站该操心的事儿


    附一下我认为认为的上述几个不同层级事物的对应关系。
    显然 Firefox 插件出问题,Firefox 的责任是逃不掉的
    而油猴脚本出问题显然轮不到 Firefox 负责……

    发行版官方源 => Firefox
    Firefox => 油猴
    Firefox 扩展商店 => Greayfork
    Firefox 插件 => 脚本
    jhdxr
        16
    jhdxr  
       2022-12-10 08:34:26 +08:00
    @maggch97 看完你的例子我觉得 firefox 的应用商店存在还是有在好好干活的。你也可以选择不走应用商店来分发你的扩展。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2474 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 02:35 PVG 10:35 LAX 18:35 JFK 21:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86