
lolinternet/vscgallery参见:[***]
该服务可镜像Visual Studio Code的网络资源,使其能在离线环境(如气隙环境)中无缝使用,或搭建私有扩展库。通过预期的接口提供内容服务,无需修改任何公开可用的二进制文件。通常,您只需同步所需内容到无互联网连接的系统,并将DNS指向镜像服务即可。不修改任何二进制文件或扩展。
在有互联网连接的系统上,vscsync 会:
在无互联网连接的系统上,vscgallery 会:
可能的待办事项:
包含两个组件:vscsync 在有互联网连接的系统上镜像内容,vscgallery 提供支持VS Code使用所需的API和端点。虽然设计用于离线环境,但通过一些DNS技巧,也可以将其作为"企业"VS Code扩展库运行。
在有互联网连接的系统上:
获取/镜像Docker容器(vscsync/vscgallery)。
docker-compose pull
在有互联网连接的系统上设置并运行vscsync服务。
docker-compose up vscsync
将工件复制到无互联网连接的系统。
在无互联网连接的系统上:
在无互联网连接的系统上,确保以下DNS地址指向vscgallery服务。
这可以通过企业DNS服务器实现,或通过修改客户端的hosts文件。
在您的环境中配置SSL/TLS以支持离线使用。
Windows 10:将证书导入计算机的受信任根证书颁发机构(开始 > "管理计算机证书")。
Darwin:将证书导入计算机的受信任根证书颁发机构。
Ubuntu:最简单的方法似乎是打开Chrome,导航到chrome://settings/certificates,选择"授权机构"并添加证书。
运行vscgallery服务,确保工件可被服务访问。它需要监听443端口。
docker-compose up vscgallery
使用Chrome导航到[***] Code可能无法正常工作。
打开VS Code,希望您可以神奇地安装扩展和更新。帮助 > 开发者工具 > 网络应该会告诉您发生了什么。
注意:Chrome(而非其他浏览器)可能会给您更好的指示,因为VS Code和Chrome共享相同的证书信任。
本指南将在同一Docker主机上设置vscsync和vscgallery服务。
获取docker-compose.yml文件。
将DNS地址指向vscgallery服务。
这可以通过企业DNS服务器实现,或通过修改客户端的hosts文件。
按上述说明部署必要的SSL/TLS证书。
运行服务
docker-compose up
使用Chrome导航到[***] Code可能无法正常工作。
打开VS Code,希望您可以神奇地安装扩展和更新。帮助 > 开发者工具 > 网络应该会告诉您发生了什么。
这些参数可以作为命令行参数传递给sync.py(例如--varA或--varB),或通过Docker环境变量SYNCARGS传递。
--sync 获取稳定版二进制文件和流行扩展。--syncall 获取所有内容(稳定版二进制文件、insider版二进制文件和所有扩展)。--sync --check-insider 获取稳定版二进制文件、insider版二进制文件和流行扩展。usage: sync.py [-h] [--sync] [--syncall] [--artifacts ARTIFACTDIR] [--frequency FREQUENCY] [--check-binaries] [--check-insider] [--check-recommended-extensions] [--check-specified-extensions] [--extension-name EXTENSIONNAME] [--extension-search EXTENSIONSEARCH] [--update-binaries] [--update-extensions] [--update-malicious-extensions] [--prerelease-extensions] [--vscode-version VSCODEVERSION] [--skip-binaries] [--debug] [--logfile LOGFILE] Synchronises VSCode in an Offline Environment optional arguments: -h, --help show this help message and exit --sync 基本用户同步。包括稳定版二进制文件和典型扩展 --syncall 高级用户同步。包括所有二进制文件和扩展 --artifacts ARTIFACTDIR 下载工件的路径 --frequency FREQUENCY 尝试更新的频率(例如,休眠'12h'后重试) --total-recommended N 要获取的推荐扩展数量(默认:200) --check-binaries 检查更新的二进制文件 --check-insider 检查更新的insider二进制文件 --check-recommended-extensions 检查推荐扩展 --check-specified-extensions 检查<artifacts>/specified.json中的扩展 --extension-name EXTENSIONNAME 按名称查找特定扩展 --extension-search EXTENSIONSEARCH 搜索一组扩展 --update-binaries 下载二进制文件 --update-extensions 下载扩展 --update-malicious-extensions 更新***扩展列表 --prerelease-extensions 下载预发布扩展。默认为false。 --vscode-version 用于搜索扩展的VSCode版本。 --skip-binaries 跳过下载二进制文件 --debug 显示调试输出 --logfile LOGFILE 设置存储日志输出的日志文件
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务