{"id":15489347,"url":"https://github.com/rene-d/vscode-dl","last_synced_at":"2025-10-12T03:31:27.764Z","repository":{"id":57477551,"uuid":"140764225","full_name":"rene-d/vscode-dl","owner":"rene-d","description":"Visual Studio Code and extensions downloader for offline installations","archived":true,"fork":false,"pushed_at":"2023-01-17T21:50:24.000Z","size":681,"stargazers_count":13,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-29T09:36:47.584Z","etag":null,"topics":["visual-studio-code","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://rene-d.github.io/vscode-dl/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rene-d.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-12T20:59:03.000Z","updated_at":"2025-01-24T20:44:32.000Z","dependencies_parsed_at":"2023-02-10T12:16:09.792Z","dependency_job_id":null,"html_url":"https://github.com/rene-d/vscode-dl","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/rene-d/vscode-dl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rene-d%2Fvscode-dl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rene-d%2Fvscode-dl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rene-d%2Fvscode-dl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rene-d%2Fvscode-dl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rene-d","download_url":"https://codeload.github.com/rene-d/vscode-dl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rene-d%2Fvscode-dl/sbom","scorecard":{"id":770888,"data":{"date":"2025-08-11","repo":{"name":"github.com/rene-d/vscode-dl","commit":"fa9cd9c6e0a272dd959491d5f9ccaafb0bf329fd"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2,"checks":[{"name":"Code-Review","score":0,"reason":"Found 1/27 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: The Unlicense: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2021-142 / GHSA-8q59-q68h-6hv4","Warn: Project is vulnerable to: PYSEC-2018-49 / GHSA-rprw-h62v-c2w7","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating alpine:latest to alpine:latest@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Warn: containerImage not pinned by hash: container/Dockerfile.alpine:1: pin your Docker image by updating alpine to alpine@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Warn: containerImage not pinned by hash: container/Dockerfile.buster:1: pin your Docker image by updating buildpack-deps:buster to buildpack-deps:buster@sha256:c9285bcb198c0ae171bfc350a4af94ddfda547c4e4d2900a92c280232319341e","Warn: containerImage not pinned by hash: tests/client/Dockerfile:1: pin your Docker image by updating ubuntu:disco to ubuntu:disco@sha256:2adeae829bf27a3399a0e7db8ae38d5adb89bcaf1bbef378240bc0e6724e8344","Warn: pipCommand not pinned by hash: Dockerfile:3-7","Warn: pipCommand not pinned by hash: Dockerfile:14","Info:   0 out of   4 containerImage dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T02:15:51.912Z","repository_id":57477551,"created_at":"2025-08-23T02:15:51.912Z","updated_at":"2025-08-23T02:15:51.912Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010148,"owners_count":26084692,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["visual-studio-code","vscode","vscode-extension"],"created_at":"2024-10-02T07:05:09.201Z","updated_at":"2025-10-12T03:31:27.423Z","avatar_url":"https://github.com/rene-d.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VSCode Downloader\n\n[![Build Status](https://travis-ci.org/rene-d/vscode-dl.svg?branch=master)](https://travis-ci.org/rene-d/vscode-dl)\n[![pyi](https://img.shields.io/pypi/v/vscode-dl.svg)](https://pypi.python.org/pypi/vscode-dl)\n[![pyi](https://img.shields.io/pypi/pyversions/vscode-dl.svg)](https://pypi.python.org/pypi/vscode-dl)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n\n## Description\n\n[vscode-dl](https://rene-d.github.io/vscode-dl) is a Python3 script that downloads the latest Linux version of [Visual Studio Code](http://code.visualstudio.com) and a curated list of extensions for installation on computers without Internet connection or proxy restrictions.\n\nThe program also creates a catalog in JSON and Markdown that can be incorporated into a web page, like this [example](https://rene-d.github.io/vscode-dl/demo.html).\n\nWhen run again, it tries to update extensions and VSCode to their latest version.\n\n## Installation\n\n### Requirements\n\n* [Python3](https://www.python.org/downloads) : version \u003e= 3.6 (older ones *won't* work because of [f-strings](https://www.python.org/dev/peps/pep-0498)). The companion tool (see below) requires Python \u003e= 3.5.\n\n### pip\n\nThis installs the latest stable, released version.\n\n```bash\npip3 install -U vscode-dl\n```\n\n### virtualenv\n\n```bash\npython3 -m venv vscode-dl\nvscode-dl/bin/pip install vscode-dl\nvscode-dl/bin/vscode-dl --help\n```\n\n### from GitHub repository\n\n```bash\npip3 install -r requirements.txt\n\n# install the package\npython3 setup.py install\n\n# run directly from source\ncd src/vscode_dl\n./vscode_dl.py --help\n```\n\n## Basic usage\n\nDownload Visual Studio Code and extensions listed in `extensions.yaml` (if found, otherwise the default list) into the `web/` subdirectory ([screenshot](http://rene-d.github.io/vscode-dl/screenshot.html)) :\n```bash\nvscode-dl\n```\n\nScan installed extensions and add them to the download list :\n```bash\nvscode-dl -i\n```\n\nMore options are available. Use `vscode-dl --help` to show them.\n\n## Run with Docker\n\nA Dockerfile is provided to run the app into a container, with interpreter and requirements ready-to-use.\n\n```bash\n# build the image\ndocker build -t vscode-dl .\n\n# run the downloader\ndocker run -ti --rm -v /path/to/mirror:/app/web vscode-dl\n\n# run the downloader with an alternate extension list\ndocker run -ti --rm -v /path/to/mirror:/app/web -v /path/to/extensions.yaml:/app/extensions.yaml vscode-dl\n```\n\n## Installation and update tool\n\n### First use\n\nOn a offline installation, [get.py](src/vscode_dl/get.py) install or updates Code, downloads and updates the installed extensions from the mirror.\n\nIt requires Python 3.5+ and [requests](http://python-requests.org) that should be installed on all modern Debian/Ubuntu.\n\n```bash\ncurl -skL http://mirror.url:port/get.py | python3 - http://mirror.url:port/\n```\n\nThe flag `-t` permits to provide a minimal set of extensions to be installed. They should be listed in a JSON array.\n\nExample of a file `myteam.json` (to be copied in the mirror directory):\n```JSON\n[\"ms-python.python\", \"formulahendry.code-runner\"]\n```\n\nThe following command wil install or update Code and the extensions listed above.\n```bash\npython3 \u003c(curl -sL http://mirror.url:port/get.py) -t myteam http://mirror.url:port/\n```\n\n### The companion tool : `code-tool`\n\nThe tool installs itself into `~/.local/bin/code-tool`. This tool can be used to maintenance tasks and install new extensions. You may have to add this directory to your PATH.\n\n```bash\n# update Code and extensions\ncode-tool -u\n\n# display version and mirror url\ncode-tool -V\n\n# list available extensions\ncode-tool -l\n\n# install an extension\ncode-tool -i \u003cextension.key\u003e\n```\n\nMore options are available. Use `code-tool --help` to show them.\n\n## The development container\n\nCode allows you to [develop inside a container](https://code.visualstudio.com/docs/remote/containers). Unluckily, this feature requires Internet connection since the remote server is downloaded when attaching to the container, unless this server is already installed. This is the aim of scripts into [container/](container/) subdirectory.\n\nIt can be easily adapted to an existing build environment, even for SSH remote development.\n\nAs the time of writing (December 2019), only x64, armhf, arm64 and Alpine/amd64 platforms are available.\n\n## The Go extension case\n\nThe [Go extension](https://marketplace.visualstudio.com/items/ms-vscode.Go) requires some Go packages to be functional (linter, formatter, code analyzer, etc.). These dependencies are listed into the extension, that tries to install them from Internet. To bypass this step, the sync program (`vscode-dl` uses `go get -d` command to download the required packages, and the update tool (`get.py` aka. `code-tool`) installs them in `~/go` (default GOPATH). Thus, the GOPATH environment variable should include at least this directory.\n\n## Links\n\n* [Official Visual Studio Code site](https://code.visualstudio.com/)\n* [Official GitHub](https://github.com/microsoft/vscode)\n* [Extensions](https://marketplace.visualstudio.com/vscode)\n* [Awesome list for Visual Studio Code](https://github.com/viatsko/awesome-vscode)\n* [markdown-it](https://github.com/markdown-it/markdown-it)\n* [highlight.js](https://github.com/isagalaev/highlight.js)\n\n## License\n\n[Unlicense](http://unlicense.org) aka. Public Domain 😀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frene-d%2Fvscode-dl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frene-d%2Fvscode-dl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frene-d%2Fvscode-dl/lists"}