赶在 Google 关闭 Manifest v2 之前买了 Chrome Store 开发者 5 美元账号 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
18 条回复    2021-12-29 22:04:28 +08:00
cairnechen
    1
cairnechen  
   2021-12-29 09:47:33 +08:00
所以现在立刻注册的意义就是赶紧上架几个 Manifest V2 构建的扩展,以后停止使用了,还可以继续更新?我怎么感觉最后还是会被全部干掉的
garywill
    2
garywill  
OP
   2021-12-29 09:52:35 +08:00
@cairnechen 我上的几个扩展中有 2 个是必须 webRequest 的(盾牌那两个)。其他的是 v2 v3 都可以,这些才是买账号的重点。
确实以后 Google 打算全部干掉 v2 的。幸而,我自己用 Firefox 做主力。Firefox 的 v3 将也提供 webRequest 。
jy00566722
    3
jy00566722  
   2021-12-29 12:11:32 +08:00 via iPhone
Google 为了自己的广告,干掉 webRequest
cairnechen
    4
cairnechen  
   2021-12-29 12:16:48 +08:00   3
楼上怎么搞得是 Google 先搞的一样,是我 Apple 提不动刀了?

/t/811293

给大家科普下,iOS 的 Safari 15 支持扩展,是指通用的 Web Extension ,但也又有一部分 Web Extension API 不支持的,例如拦截广告需要的 webRequestBlocking ,所以 uBlock Origin 这种老牌广告拦截器注定无法移植到 iOS 上。作为取代,iOS 提供 declarativeNetRequest ,其实就是 iOS 9 提供的“内容拦截器”变种而已。

Chrome 也是一样,在新版的扩展标准 Manifest V3 ,也不提供 webRequestBlocking 了,只提供 declarativeNetRequest ,所以 uBlock Origin 一样无法移植到 Manifest V3 上,一堆人很大意见。

两种 API 的区别:

* webRequestBlocking 浏览器告诉扩展用户每个请求的完整 URL ,扩展返回决定是否拦截。扩展得到完整 URL ,可以做其它事,例如把 URL 发送到自己的服务器记录下来。

* declarativeNetRequest 扩展告诉浏览器一些像正则表达式那样的“拦截规则”,浏览器自己做判断是否匹配拦截,扩展无法得知每个请求的完整 URL ,有效保证用户隐私。

如果在 iOS 的 Safari 的“扩展”管理页面,看到“内容拦截器”,说明使用了 declarativeNetRequest 这个 API ,所以在 iOS 上安装 Safari 去广告 App ,本质就是订阅了一堆拦截规则而已,就看谁家的写的规则够丰富而已,底层技术都一样,由浏览器提供,玩不出任何花来。
dingwen07
    5
dingwen07  
   2021-12-29 14:49:59 +08:00
一年之后也没了:

> January 2023: The Chrome browser wll no longer run Manifest V2 extensions. Developers may no longer push updates to existing Manifest V2 extensions.

微软似乎不打算去掉:

> The Microsoft Edge extensions team replaces the Web Request API by the Declarative Net Request API, but we continue to keep the observational capabilities of the Web Request API. We recommend using the Declarative Net Request (DNR) APIs only, rather than the Web Request API, except in some specific scenarios where observational capabilities of the Web Request API are required by the extension.

微软,行!
dingwen07
    6
dingwen07  
   2021-12-29 14:51:17 +08:00   1
#5 仔细看了下,Edge 也不支持 Blocking Behavior 。。。
mywaiting
    7
mywaiting  
   2021-12-29 15:50:55 +08:00
无论买不买开发者账号,Manifest V2 迟早都是会被干掉的,只是会留点时间给开发者迁移到 V3 吧

邮箱里都收到两个要求迁移的邮件了~
garywill
    8
garywill  
OP
   2021-12-29 16:08:44 +08:00
@dingwen07 说到微软 Edge 我要吐槽!我的搜索扩展 https://github.com/garywill/BigSearch 直接不给上架
原因是?呵呵!必须是搜索引擎公司才可以做与该搜索引擎相关扩展。因此我的这个搜索引擎聚合 /切换工具直接被拒了,看这里 https://stackoverflow.com/questions/68612114
ms 守着个自己的破 bing 还不让搜索工具上架 (当然,上架 chrome 了谁还管 edge store 。还好搜索不需要 webRequest blocking)
journey0ad
    9
journey0ad  
   2021-12-29 18:20:55 +08:00
这个变动会影响到油猴类扩展吗
butanediol2d
    10
butanediol2d  
   2021-12-29 19:31:16 +08:00
@journey0ad 应该不太会吧,Safari 也有油猴,用起来没啥区别。
kidonng
    11
kidonng  
   2021-12-29 20:04:08 +08:00 via Android
@journey0ad UserScript Manager 并没有提供网络拦截器权限,所以禁用了也不听新闻。
kidonng
    12
kidonng  
   2021-12-29 20:04:45 +08:00 via Android
听新闻 -> 影响
Gboard 日常坑爹
muzuiget
    13
muzuiget  
   2021-12-29 21:14:58 +08:00
@journey0ad 会,油猴会死掉,Manifest V3 还有个限制是禁止“运行远程代码”,就是说简单禁用 eval 函数(或者类似 Javascript 特性),因为 eval(string),你没有办法判断这个 string 是在服务器抓取的, 还是用户手动输入的,还是打包进扩展的,精准打击了油猴扩展场景。而且 eval 有时候是合理使用的,比如一些字符串模板引擎库,把一些模板里的 DSL 语法预先编译成函数,以提高运行效率。

所以一大批扩展在 Chrome 商店上会死掉,但是只要 Firefox/Edge 不跟进,就是抢用户的好时机。
kidonng
    14
kidonng  
   2021-12-29 21:43:49 +08:00 via Android
@muzuiget 应该还是有回旋余地的,打击 content blocker 还能说是给自家业务找借口,跟 power user 的需求过不去属实自找苦头了 https://github.com/Tampermonkey/tampermonkey/issues/644#issuecomment-858224952
最糟糕的情况也无非是 userscript manager 变成一个本地生成未打包插件的工具,办法总是有的
muzuiget
    15
muzuiget  
   2021-12-29 21:50:36 +08:00
@kidonng 开发者模式一样会弹出警告。

竟然都那么麻烦了,还不如自己编译一个 Chromium 把这些 API 开放出来,所有第三方 Chromium 浏览器开发商都有这个实力,还可以自建扩展商店,让用户用脚投票,根本不用鸟 Google 。
dingwen07
    16
dingwen07  
   2021-12-29 21:51:41 +08:00 via iPhone
@kidonng #14 实在不行直接 MITM 降维打击
garywill
    17
garywill  
OP
   2021-12-29 21:55:11 +08:00
@muzuiget Firefox v2 一直不允许远程 js 和 eval ,然而 inject 到 web 里的 content js 代码是可以动态生成的(在 Firefox 的 v2 里是的,我的扩展就有用到)。
按照我的理解,“不允许远程 js”只是 webExtension js 的限制,不会是注入到 web 的 content js 的限制
muzuiget
    18
muzuiget  
   2021-12-29 22:04:28 +08:00
@garywill 现在问题不是 Google 审核代码是否认为某些代码是“remote”,而是直接废掉某些 Javascript API 。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3134 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 25ms UTC 04:44 PVG 12:44 LAX 20:44 JFK 23:44
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