在中国快速下载Visual Studio Code
2020-05-31 16:17:14 +08 字数:820 标签: vscode Python在中国,想要下载Visual Studio Code,有时真是一件不容易的事。 它本体发布于海外,国内暂无可用镜像,更新频率又高。 在某些网络环境下,下载或更新真是苦不堪言,卡着卡着就断掉了。
本文提供一个Python脚本,自动从中国的azure下载。能略快一些。
配置软件源 ¶
对Linux的deb系来说,本以为配置好了源/etc/apt/sources.list.d/vscode.list
,就可以简单方便。
deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main
但有时卡住就是卡住,一点办法没有。
替换下载域名 ¶
如果是从官网点击下载,下载位置会略有不同。 多番重定向之后,最终链接是这种形式:
然而依然很慢。如果手动替换域名为vscode.cdn.azure.cn
,则下载起来会快很多。
wget https://vscode.cdn.azure.cn/stable/5763d909d5f12fe19f215cbfdd29a91c0fa9208a/code_1.45.1-1589445302_amd64.deb
原理推测,大概是vscode.cdn.azure.cn
是一个中国区服务器,其上要么有vscode镜像,要么有CDN代理。
从三级域名推测,是CDN代理;从四级域名推测,是镜像。
如果是代理,通过azure内网直通国外,速度自然快很多。
这个方案有个问题,那就是手工操作比较繁琐。 如果执行多次,非常消耗耐心。
自动发现与替换域名 ¶
据调查,当前vscode的各版本,大致如下:
- Win32
- Win64
- deb: https://update.code.visualstudio.com/latest/linux-deb-x64/stable
- rpm: https://update.code.visualstudio.com/latest/linux-rpm-x64/stable
- Mac OS X: https://update.code.visualstudio.com/latest/darwin/stable
为了实现自动替换,孤写了一个脚本。 原理大概是利用重定向,找到真实下载链接,然后通过替换域名,输出国内链接。 内容如下:
复制或下载之后,保存为cndlvsc.py
文件,然后用Python3执行:
python3 cndlvsc.py deb
可查看帮助,下载各种版本的vscode。
也可-p
打印下载链接,通过浏览器或其它方式下载。
结语 ¶
当一个中国开发者真是好难!
本来想过写一个CLI发布到PyPI中,这样只用pip install cndlvsc
,就可以直接使用。
但是考虑到这就是个临时使用的小脚本,还不知道什么时候就会失效,也就算了。
今年国际形式进一步恶化,网络环境也更糟了。 如今想要和国际接轨,代价越来越大,效率越来越低。 如果强行与国际脱轨,中国的软件行业无疑会落后于时代。