在看这篇文章之前,你可以有两个选择:
-
网上下载
Chrome插件伴侣
这一工具,一键离线安装插件(
注意:博主非工具作者,不保证此工具安全性,请自行分析
),然后关闭此文章。
-
继续看下去搞懂原理,然后自己手动离线安装插件或编写一个属于自己的离线安装工具。
手动化安装方法
首先进入
Chrome
扩展程序的管理页面,在地址栏敲入
chrome://extensions/
即可进入。
然后把右上角的
开发者模式
打开(刚不是说无需这个模式吗?别急,暂时的。),拖入插件进行添加,复制插件的
ID
后关闭
开发者模式
即可。如图所示:
接着关闭
Chrome
,将以下内容复制粘贴到记事本上保存,将文本后缀名
.txt
改为
.reg
,双击运行。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallWhitelist]
"1"="ijaojehcgjneognjmhdiidbfhpgfkkgp"
若要添加多个插件,
"1"="ijaojehcgjneognjmhdiidbfhpgfkkgp"
以此类推往下添加
"2"="插件ID"
、
"3"="插件ID"
……
最后重新打开
Chrome
后插件就可以正常使用了,如安装的插件没有立即启用,可直接到扩展程序管理页面里手动开启。
自动化编程思路
获取插件公钥和版本号
这里需要从
.crx
包头提取公钥和版本号(制作插件时命名的版本号)以作备用。
CRX 包的头信息
头信息包含作者的公共密钥和扩展程序的签名,签名以
SHA-1
算法使用作者的私有密钥从
.zip
文件生成。头信息要求字节顺序为小端序并以4字节对齐。下表按顺序描述
.crx
的头信息:
字段
|
类型
|
长度
|
值
|
描述
|
magic number
|
char[]
|
32 位
|
Cr24
|
Chrome 要求每一个 .crx 包的开头包含此常量。
|
version
|
unsigned int
|
32 位
|
2
|
*.crx 文件格式的版本(当前为2)。
|
public key length
|
unsigned int
|
32 位
|
pubkey.length
|
RSA 公共密钥的长度,以字节为单位。
|
signature length
|
unsigned int
|
32 位
|
sig.length
|
签名的长度,以字节为单位。
|
public key
|
byte[]
|
pubkey.length
|
pubkey.contents
|
作者的 RSA 公共密钥内容,以 X509 SubjectPublicKeyInfo 块的格式表示。
|
signature
|
byte[]
|
sig.length
|
sig.contents
|
ZIP 内容使用作者私有密钥的签名,该签名使用 RSA 算法以及 SHA-1 散列函数创建。
|
43 72 32 34 # "Cr24" -- the magic number
02 00 00 00 # 2 -- the crx format version number
A2 00 00 00 # 162 -- length of public key in bytes
80 00 00 00 # 128 -- length of signature in bytes
........... # the contents of the public key
........... # the contents of the signature
........... # the contents of the zip file
获取插件ID
插件的
ID
可以从插件的公钥得到,经过如下计算:
graph LR
公钥 --> Base64
Base64 --> SHA256
SHA256 --> Base16
Base16 --> 插件ID
示例代码:
def build_id(pub_key_pem):
pub_key_der = base64.b64decode(pub_key_pem)
sha = hashlib.sha256(pub_key_der).hexdigest()
prefix = sha[:32]
extension_id = ""
ord_a = ord('a')
for old_char in prefix:
code = int(old_char, 16)
new_char = chr(ord_a + code)
extension_id += new_char
return extension_id
重命名和移动插件
将插件重命名为
插件ID.crx
,移动到
AppData\Local\ChromeExtensionCache
(没有就新建)处作为插件存放路径。
在注册表添加插件信息,
chrome
启动时会自动安装。
在注册表
HKEY_CURRENT_USER\Software\Google\Chrome\Extensions
添加以插件ID命名的项,以及插件存放路径
path
、插件版本号
version
两个字符串值,而
version
值就是从
.crx
包头获取的版本号。如图:
添加白名单
在注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\ExtensionInstallWhitelist
添加以数字命名的字符串值,其数值数据为插件ID。(与上述的手动化安装方法中导入
.reg
一样,只是编程时直接操作注册表即可)
如果安装插件部署安装成功后又卸载掉了插件,第二次安装时就不会自动安装,这是因为
AppData\Local\Google\Chrome\User Data\Default
目录下的
Secure Preferences
记录了该插件的卸载信息,要想解决这个问题,一是直接删除
Secure Preferences
文件(这会导致
Chrome
的个人设置偏好丢失,即恢复出厂设置),二是修改
Secure Preferences
,将该插件的卸载信息剔除掉(太麻烦)。
博主个人觉得比较舒服的做法是
重新打包插件,即每次安装该插件前,都经过
解包-->打包
这一步骤。因为插件在不指定密钥进行打包时会自动生成随机密钥,而公钥又是从密钥中获得,所以插件ID也会是随机的,随着插件ID的更新,
Secure Preferences
中该插件对应的插件ID卸载信息就会失效,从而达到每次安装都是
第一次
的效果。
和手动打包不同,通过编程的方式打包当然不可能傻傻地去操作
Chrome
界面,这里用到一个
Chrome
的打包命令,可指定一个密钥打包,也可不指定,这会随机生成一个后缀为
.pem
的密钥(当然,也可以自己生成一个)。命令如下:
chrome.exe --pack-extension=C:\myext --pack-extension-key=C:\myext.pem
开始 在看这篇文章之前,你可以有两个选择:网上下载Chrome插件伴侣这一工具,一键离线安装插件(注意:博主非工具作者,不保证此工具安全性,请自行分析),然后关闭此文章。 继续看下去搞懂原理,然后自己手动离线安装插件或编写一个属于自己的离线安装工具。手动化安装方法 首先进入Chrome扩展程序的管理页面,在地址栏敲入chrome://extensions/即可进入。 然后把右上角的开发者模式打开(刚不是说无需这个模式吗?别急,暂时的。),拖入插件进行添加,复制插件的ID...
Chrome
可称宇宙最强浏览器,它的市场份额接近70%,如果把使用Blink内核,基于Chromium的,
如,Opera,360,UC,QQ,百度,猎豹等一系列换壳浏览器加上,市场份额估计更高!
纯净地
Chrome
不宜食用,需要佐料。
正确的做法,是自己安装扩展(小名叫做
插件
),满足自己的特殊需求。
全地球人都知道,国内无法打开
Chrome
插件
商店。
不过,国内有很多下载站,用户可以自行搜索,下载
插件
,然后
离线安装
。
但是,事情出现了变化。
最新版本的
Chrome
浏览器,主版本号为67,发布日期大概是2018.05.30。
对
Chrome
的
插件
安装策略进行了大幅度地调整——只允许在
Chrome
应用商店安装
插件
。
其它安装方式,如,内联安装,
离线安装
均已被取消。
————————————————
版权声明:本文为CSDN博主「qq_42690685」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42690685/article/details/81039700
参考:https://github.com/dmlc/decord
https://www.bilibili.com/video/av843220125/
****安装: pip install decord
1、读取使用
from decord import VideoReader
from decord import cpu, gpu
vr = VideoReader('D:\clip4clip\msvd_data\YouTubeClips\_1vy2HIN60A_32_40.avi', ctx=cp
这两点浪费了大量新手的上手时间和后续重复安装的时间。
星愿浏览器(基于Chromium内核)完美的解决了以上两个问题。
兼容
chrome
支持的所有
插件
,包括商店和第三方
插件
站,用户下载之后,自动检测提示安装。如果是已经存在本地的,直接把文件拖到浏览器里就能安装。非常,非常,非常的方便。
要在
Chrome
浏览器中进行
离线安装
Chrome
插件
,您可以按照以下步骤进行操作:
1. 首先,找到您需要安装的
插件
的
离线安装
文件。这个文件通常是一个后缀为.
crx
的文件。
2. 将
插件
的
离线安装
文件的后缀.
crx
改为.rar,并解压缩得到一个文件夹。
3. 打开
Chrome
浏览器,并在地址栏中输入 "
chrome
://extensions/",进入
Chrome
扩展程序管理页面。
4. 在扩展程序管理页面的右上角,找到并启用"开发者模式"选项。
5. 一旦开发者模式被启用,您将看到一个"加载正在开发的扩展程序"的选项。点击这个选项。
6. 在弹出的文件选择窗口中,选择刚才解压得到的文件夹,并确认添加。
7. 确认后,即可成功添加
离线安装
的
插件
。
请注意,
离线安装
的
插件
可能存在一些风险,请确保您从可信赖的来源获取
插件
文件,并且仔细检查
插件
的权限和功能以确保安全性。此外,
离线安装
的
插件
可能无法自动更新,您可能需要手动更新
插件
以获取最新版本的功能和修复。
希望这些步骤对您有帮助!如果您还有其他问题,请随时提问。