背景
这其实是件很扯淡的事
因为VSCode的插件市场
一没有被墙
二支持离线安装
那还有这个需求吗?
但确实有。。。
我这里是完全的内网环境
离线安装虽然可以
但是多少有点麻烦。。。
毕竟要在两台机子之间不停的切换
而且有违规的风险
偶然
一次偶然逛内网论坛
发现有个哥们挂了一个一键配置内网插件市场.exe
我运行了一下
哇
在内网环境下就能搜索插件市场了!
只是安装插件以后
访问插件的主页
怎么这么奇怪
我们正常在外网访问插件市场
https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.vscode-dotnet-runtime
但是我在内网访问
就变成了
https://xxx.xxx.com/items?itemName=xxxx
发现
而且哪怕是通过外网下载,离线安装的,访问也是内网域名
那就有意思了
说明这个一定是通过某些方式读取配置的
疑惑
实话实说
我通过搜索关键词 vscode 插件市场 源 镜像等关键词
在Bing/百度/google都搜不到内容
很想知道具体是什么
机缘巧合
机缘巧合之下
多方打听
发现一个配置文件
在安装目录下(或者Windows用户也可以使用everything)
找到production.json
# 以下为我的本机路径
D:\SoftWare\VSCode\Microsoft VS Code\resources\app\product.json
用vscode打开
其中有个配置项为
"extensionsGallery": {
"nlsBaseUrl": "https://www.vscode-unpkg.net/_lp/",
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
"itemUrl": "https://marketplace.visualstudio.com/items",
"publisherUrl": "https://marketplace.visualstudio.com/publishers",
"resourceUrlTemplate": "https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",
"controlUrl": "https://az764295.vo.msecnd.net/extensions/marketplace.json"
},
只需要修改其中的serviceUrl itemUrl resourceUrlTemplate
为你的内网地址配置
(其实我研究了一下,应该就是一个网关把流量代理出去了)