VSLite 原理解析与本地化部署

VSLite 是一个开源的、完全运行在浏览器中的开发环境,它的亮点在于,不需要联网也可以直接在浏览器中使用 Node.js、Python、Git 等工具。你可以在 vslite.dev 体验到在线 demo。

传统的基于云的开发环境,例如 GitHub Codespaces,依赖于后端服务,前端所执行的命令,实际上是通过网络请求发送到后端对应的云虚拟机(或容器)中执行的,这就需要消耗后端的计算资源;而 VSLite 的思路完全不同,它在浏览器中启动了一个容器,做到了不再依赖后端。

想要在浏览器中跑起来一个容器,第一次听说这样的想法时,我说:不可能!绝对不可能!就浏览器这也受限那也受限的环境,还能跑起来一个操作系统?然而 StackBlitz 真的做到了,他们开发出了 WebContainers,WebContainers 是一个基于浏览器的运行时,用于执行 Node.js 程序和操作系统命令,完全在浏览器选项卡中。以前需要云虚拟机才能执行的应用,现在可以完全在浏览器端运行。

经过两天的研究,我开始对 WebContainers 的原理有了初步的了解。

阅读更多

信创银河麒麟高级服务器操作系统 V10 安装无头浏览器 Chromium

如果是 x86 架构,直接从 Chrome 官网下载即可。如果是 arm 架构会比较麻烦,摸索了一天整理出以下方法。

1
2
3
4
5
6
7
curl -LO https://update.cs2c.com.cn/NS/V10/V10-GFB/030/os/adv/lic/base/aarch64/packages/nss-mdns-0.14.1-3.ky10.aarch64.rpm
curl -LO https://update.cs2c.com.cn/NS/V10/V10-GFB/030/os/adv/lic/base/aarch64/packages/chromium-common-90.0.4430.212-1.p01.ky10.aarch64.rpm
curl -LO https://update.cs2c.com.cn/NS/V10/V10-GFB/030/os/adv/lic/base/aarch64/packages/chromium-90.0.4430.212-1.p01.ky10.aarch64.rpm
yum install -y libXau.aarch64
yum localinstall -y nss-mdns-0.14.1-3.ky10.aarch64.rpm
yum localinstall -y chromium-common-90.0.4430.212-1.p01.ky10.aarch64.rpm
yum localinstall -y chromium-90.0.4430.212-1.p01.ky10.aarch64.rpm

调用的话,直接 /usr/bin/chromium-browser

如果需要用无头浏览器测试中文页面,还需要安装中文字体——把字体文件复制到 /usr/share/fonts/ 目录下,然后执行 fc-cache -v 即可。

Chrome 各版本地址栏显示完整地址(https 和 www)

效果

由于谷歌最近对 Chrome 地址栏改来改去,不同的版本需要对应不同的方法。

Chrome 版本<78

在浏览器输入 chrome://flags/ 回车,找到 Omnibox UI Hide Steady-State URL Scheme and Trivial Subdomains,设置为 Disabled,然后重启浏览器。

Chrome 版本=78

谷歌从 flag 页面砍掉了这个设置,但 flag 还是存在的。

打开 chrome://flags/,78版本已经找不到 omnibox-ui-hide-steady-state-url-schemeomnibox-ui-hide-steady-state-url-trivial-subdomains 了。
按 F12 打开 Console,执行以下命令,然后重启 Chrome。

Console
1
2
3
4
5
6
7
[
'omnibox-ui-hide-steady-state-url-path-query-and-ref',
'omnibox-ui-hide-steady-state-url-scheme',
'omnibox-ui-hide-steady-state-url-trivial-subdomains'
].forEach((f) => {
chrome.send('enableExperimentalFeature', [`${f}@2`, 'true']);
})

代码中 @2 对应的是 Disabled。@0@1 分别对应 Default 和 Enabled。

测试有效的版本:78.0.3904.97
方法来源:ysc3839(https://www.v2ex.com/t/613776

Chrome 版本>78

谷歌彻底砍掉了这两个 flag……

现在安装插件是唯一方法,如果你能够访问 Chrome 网上应用店的话,安装这个插件,无需配置即可显示完整地址:
https://chrome.google.com/webstore/detail/suspicious-site-reporter/jknemblkbdhdcpllfgbfekkdciegfboi
方法来源:MaiKuraki(https://www.v2ex.com/t/588136

如果是 Windows 系统,也可以换用 Chromium 内核的 Edge 浏览器,我已经完全爱上 Edge 啦!

Chromium

IT之家报导,谷歌决定“使URL更易于阅读和理解,并消除对可注册域的干扰”,在Chromium Gerrit中新提交了一个flag标志,未来可在 chrome://flags#context-menu-show-full-urls 中设置开启,届时Chrome浏览器地址栏便可显示完整URL。

嗯,砍了再加回来,绝世好活!

我并没有下载 Chromium 测试这个 flag,未来推出有这个 flag 的正式版后,我可能会会更新这篇博文。

编写Chrome插件将googleapis替换为国内可访问的CDN

编写Chrome插件将googleapis替换为国内可访问的CDN

由于公司不能安装梯子,所以不能访问谷歌商店,平时频繁地要访问国外的AngularJS网站,比如AgGrid,AngularJS Material,AngularJS官网等,很多用了Google的CDN源,页面就无法正常加载。

一开始的思路是改host文件,但是我们没有Google CDN的证书,会造成证书错误。

参考并优化了:https://github.com/justjavac/ReplaceGoogleCDN ,动手写了一个Chrome插件,对所有特定请求重定向,解决痛点!

阅读更多
微信二维码