{"id":40196732,"url":"https://github.com/bwgjoseph/downloader","last_synced_at":"2026-01-19T20:04:14.352Z","repository":{"id":41533411,"uuid":"510038292","full_name":"bwgjoseph/downloader","owner":"bwgjoseph","description":"Scripts to download files for air-gapped environment","archived":false,"fork":false,"pushed_at":"2025-08-08T16:22:55.000Z","size":108,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-08T18:25:53.356Z","etag":null,"topics":["airgapped","automation","hacktoberfest","offline","powershell","winget","winget-cli"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bwgjoseph.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-07-03T13:57:09.000Z","updated_at":"2025-08-08T16:22:58.000Z","dependencies_parsed_at":"2023-10-02T21:31:51.249Z","dependency_job_id":"fc977a33-2d2e-49ff-a955-66e69987cd47","html_url":"https://github.com/bwgjoseph/downloader","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bwgjoseph/downloader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwgjoseph%2Fdownloader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwgjoseph%2Fdownloader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwgjoseph%2Fdownloader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwgjoseph%2Fdownloader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bwgjoseph","download_url":"https://codeload.github.com/bwgjoseph/downloader/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwgjoseph%2Fdownloader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28583644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T19:46:29.903Z","status":"ssl_error","status_checked_at":"2026-01-19T19:45:54.560Z","response_time":67,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["airgapped","automation","hacktoberfest","offline","powershell","winget","winget-cli"],"created_at":"2026-01-19T20:04:14.291Z","updated_at":"2026-01-19T20:04:14.347Z","avatar_url":"https://github.com/bwgjoseph.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Downloader\n\nThis repository contains scripts to download files for air-gapped environment. I wrote a [blogpost](https://bwgjoseph.com/how-i-automate-downloading-of-application-installers-using-powershell) on how I came to this solution.\n\n## Winget Downloads\n\nPowershell script to download application installers based off `winget-applications.txt` which is extracted (manually)\n\n### Run\n\nOn PowerShell, run\n\n```powershell\ncd winget\n.\\winget-downloads.ps1\n```\n\nBy default, the installers will be downloaded to `_winget_applications` directory\n\n## Applications Downloads\n\nPowershell script to download application installers based off `custom-applications.txt` which is extracted (manually). This is to support downloading of applications that is not supported by `winget`\n\n### Run\n\nOn PowerShell, run\n\n```powershell\ncd apps\n.\\apps-downloads.ps1\n```\n\nBy default, the installers will be downloaded to `_applications` directory\n\n## VSCode Plugin Downloads\n\nPowershell script to download plugins based off `vscode-plugins.txt` which is extracted (manually). It is possible to extract a list of plugins by running `code --list-extensions \u003e vscode-plugins.txt`.\n\n### Prerequisite\n\nThis requires [jq](https://github.com/stedolan/jq) to be available\n\n### Run\n\nOn PowerShell, run\n\n```powershell\ncd plugins/vscode\n.\\vscode-plugin-downloads.ps1\n```\n\nBy default, the plugins will be downloaded to `_vscode_plugins` directory\n\nOnce downloads is complete, it will generate a `_install.bat` file in `_vscode_plugins` directory. Double click to install/upgrade all downloaded extensions automatically\n\n## VSCode Model Downloads\n\nPowershell script to download models based off `vscode-models.txt` which is extracted (manually).\n\n### Run\n\nOn PowerShell, run\n\n```powershell\n.\\\\vscode-models-downloads.ps1 -username joseph -version 1.2.30\n```\n\nBy default, the installers will be downloaded to `_vscode_models` directory\n\n## IntelliJ Plugin Downloads\n\nPowershell script to download plugins based off `intellij-plugins.txt` which is extracted (manually).\n\n### Run\n\nOn PowerShell, run\n\n```powershell\ncd plugins/intellij\n.\\intellij-plugin-downloads.ps1 -version 2023.2\n```\n\nBy default, the installers will be downloaded to `_intellij_plugins_2023.2` directory. If `version` is not specific, the default will be `2023.2`\n\n## Github Applications Downloads\n\nPowershell script to download application based off `github-applications.txt` which relies on `Github Releases`\n\n### Prerequisite\n\nThis requires [github-cli](https://cli.github.com/) to be available\n\n### Run\n\nOn PowerShell, run\n\n```powershell\ncd github\n.\\github-downloads.ps1\n```\n\nBy default, the installers will be downloaded to `_github_applications` directory\n\n**Note** that it does not support filtering to specific \"application\" or \"version\" to download\n\n## Playwright Downloads\n\nPowershell script to download playwright binaries based off `browsers.json` which is downloaded from [github](https://raw.githubusercontent.com/microsoft/playwright/main/packages/playwright-core/browsers.json). This allows us to grab the latest version right before download starts.\n\n### Run\n\nOn PowerShell, run\n\n```powershell\ncd playwright\n.\\playwright-downloads.ps1\n```\n\nBy default, the installers will be downloaded to `_playwright` directory\n\n## Features\n\n- [x] Extract application list automatically from `winget list`\n- [x] Support downloading files not from `winget`\n- [x] Support downloading VSCode extension\n  - [x] Generates `_install.bat` script for one-click install\n- [x] Support downloading VSCode intellicode models\n- [x] Support downloading IntelliJ extension\n- [x] Support downloading via github-cli\n\n## Todo\n\n- [ ] Compare last downloaded version with current run to download only updated applications\n- [ ] Compress downloaded files into archive","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwgjoseph%2Fdownloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbwgjoseph%2Fdownloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwgjoseph%2Fdownloader/lists"}