Skip to content

Microsoft API Fix and general improvements #84

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 29 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
5c8be84
added more platforms and build types including web
Apr 15, 2025
fceed16
fixed the error for recomendations
Apr 15, 2025
f6829c7
Add to do list
moritzgrede May 20, 2025
07a3b8d
Fix typo
moritzgrede May 20, 2025
a5c8b78
Remove output to "malicious.json"
moritzgrede May 20, 2025
bb29181
Change test order of malicious extensions
moritzgrede May 20, 2025
2b7f07a
Detect latest VS Code version if argument is left empty
moritzgrede May 20, 2025
37bccac
Add garbage collection
moritzgrede May 20, 2025
3ebe486
Add update for existing extensions
moritzgrede May 20, 2025
7b50a5f
Add garbage collection for binaries
moritzgrede May 20, 2025
134d959
Add option to skip update of existing extensions
moritzgrede May 20, 2025
1c476bd
Remove default frequency for sync
moritzgrede May 20, 2025
b96421f
Fix for Microsoft api change #81
moritzgrede May 20, 2025
e56bc41
Merge remote-tracking branch 'SpeedyH30/main' into int
moritzgrede May 20, 2025
a3bb37f
Fix platforms win32 to win32-x64 #81
moritzgrede May 20, 2025
e04b456
Fix retrieval of existing extensions
moritzgrede May 20, 2025
7243180
Fix retrieval of malicious extensions
moritzgrede May 20, 2025
fb3c322
Add shorthand for most arguments
moritzgrede May 20, 2025
8db4dd6
Change formatting of arguments to make them more readable
moritzgrede May 20, 2025
72e1777
Update documentation
moritzgrede May 20, 2025
5d7f458
Add argument to skip recommended extensions
moritzgrede May 20, 2025
48a9320
Fix missing import
moritzgrede May 20, 2025
6212bf3
Fix unhandled exception
moritzgrede May 20, 2025
722db11
Fix RegEx pattern as raw string
moritzgrede May 20, 2025
b042b4d
Remove deprecated attribute 'version'
moritzgrede May 20, 2025
4679d0a
Fix deprecated 'utcnow' method
moritzgrede May 20, 2025
d06f55f
Merge branch 'dev/feature_skipRecommended' into int
moritzgrede May 20, 2025
ba99907
Add default frequency back
moritzgrede May 21, 2025
1a3ad57
Add output of malicious extensions to malicious.json
moritzgrede May 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 17 additions & 56 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,131 +1,92 @@
# Change Log for Visual Studio Code - Offline Gallery and Updater

## [1.0.24] - 2023-06-05

## `1.0.24` - 2023-06-05
### Fixed

- Improvements to requests session handling to prevent ConnectionErrors due to repeated connections. Thanks @tomer953 for reporting.

### Added

- Note about Firefox in Readme.md. Thanks @jmorcate for highlighting this gap.

### Changed

- Sort gallery listings with simple python sort.
- Removed deprecated logzero dependency, switched to logging. Thanks @bdsoha for the implementation and note.

## [1.0.23] - 2022-11-09

## `1.0.23` - 2022-11-09
### Fixed

- @forky2 resolved an issue related to incorrect version ordering (from reverse-alphanumberical to reverse-chronological), which prevented extensions updating correctly by vscode clients.

## [1.0.22] - 2022-10-31

## `1.0.22` - 2022-10-31
### Added

- @maxtruxa added support for specifying docker container environment variable `SSLARGS` to control SSL arguments, or disable SSL by setting `BIND=0.0.0.0:80` and `SSLARGS=` (empty).

### Changed

- @Precioussheep improved consistency of the codebase, reducing bonus code and added typing.

## [1.0.21] - 2022-08-08

## `1.0.21` - 2022-08-08
### Added

- @tomer953 added support for fetching a specified number of recommended extensions `--total-recommended`.
- @Ebsan added support for fetching pre-release extensions `--prerelease-extensions` and fix fetching other extensions [#31](https://github.com/LOLINTERNETZ/vscodeoffline/issues/31).
- @Ebsan added support for specifying which Visual Studio Code version to masquerade as when fetching extensions `--vscode-version`.

### Changed

- Merge dependabot suggestions for CI pipeline updates.
- Utilise individual requests, rather than a Requests session, for fetching extensions to improve stability of fetch process. Should resolve [#33](https://github.com/LOLINTERNETZ/vscodeoffline/issues/33). Thanks @Ebsan for the fix and @annieherram for reporting.
- Updated build-in certificate and key to update its expiry [#37](https://github.com/LOLINTERNETZ/vscodeoffline/issues/37). Included CA chain aswell. Thanks for reporting @Ebsan.
- Removed platform suport for ia32 builds, as they're no longer provided since ~1.35.
- Split out this changelog.

### Fixed

- @tomer953 removed a duplicate flag to QueryFlags.
- @Ebsan fixed an issue with downloading cross-platform extensions [#24](https://github.com/LOLINTERNETZ/vscodeoffline/issues/24).

## [1.0.20]

## `1.0.20`
### Fixed

- Fixed an issue when downloading multiple versions of extensions. Thanks @forky2!

## [1.0.19]

## `1.0.19`
### Fixed

- Lots of really solid bug fixes. Thank you to @fullylegit! Resilience improvements when fetching from marketplace. Thanks @forky2 and @ebsan.

## [1.0.18]

## `1.0.18`
### Changed

- Meta release to trigger CI.

## [1.0.17]

## `1.0.17`
### Changed

- CORS support for gallery. Thanks @kenyon!

## [1.0.16]

## `1.0.16`
### Changed

- Support for saving sync logs to file. Thanks @ap0yuv!

## [1.0.16]

## `1.0.16`
### Changed

- Improve extension stats handling.

## [1.0.14]

## `1.0.14`
### Fixed

- Fixed insider builds being re-fetched.

## [1.0.13]

## `1.0.13`
### Added

- Added initial support for extension version handling. Hopefully this resolves issue #4.

## [1.0.12]

## `1.0.12`
### Fixed

- @ttutko fixed a bug preventing multiple build qualities (stable/insider) from being downloaded. Thanks @darkonejr for investigating and reporting.

## [1.0.11]

## `1.0.11`
### Fixed

- Fixed bugs in Gallery sorting, and added timeouts for Sync.

## [1.0.10]

## `1.0.10`
### Changed

- Refactored to improve consistency.

## [1.0.9]

## `1.0.9`
### Added

- Added support for Remote Development, currently (2019-05-12) available to insiders. Refactored various badness.

## [1.0.8]

## `1.0.8`
### Added

- Insiders support and extension packs (remotes).
64 changes: 31 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ On the non-Internet connected system:

1. On the non-Internet connected system, ensure the following DNS addresses are pointed toward the vscgallery service.
* update.code.visualstudio.com
* az764295.vo.msecnd.net
* main.vscode-cdn.net
* marketplace.visualstudio.com

This may be achieved using a corporate DNS server, or by modifying a client's host file.
Expand Down Expand Up @@ -90,7 +90,7 @@ This guide will setup the vscsync and vscgallery service on the same Docker host

2. Point the DNS addresses to the vscgallery service.
* update.code.visualstudio.com
* az764295.vo.msecnd.net
* main.vscode-cdn.net
* marketplace.visualstudio.com

This may be achieved using a corporate DNS server, or by modifying a client's host file.
Expand All @@ -116,50 +116,48 @@ These arguments can be passed as command line arguments to sync.py (e.g. --varA

### Possible Args:
```
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]
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] [--prerelease-extensions]
[--update-binaries] [--update-extensions] [--update-malicious-extensions] [--skip-binaries] [--vscode-version VERSION] [--total-recommended TOTALRECOMMENDED] [--debug] [--logfile LOGFILE] [--include-existing] [--skip-existing] [--garbage-collection]

Synchronises VSCode in an Offline Environment

optional arguments:
options:
-h, --help show this help message and exit
--sync The basic-user sync. It includes stable binaries and
typical extensions
--syncall The power-user sync. It includes all binaries and
extensions
--artifacts ARTIFACTDIR
--sync, -s The basic-user sync. It includes stable binaries and typical extensions
--syncall, -a The power-user sync. It includes all binaries and extensions
--artifacts ARTIFACTDIR, -d ARTIFACTDIR
Path to downloaded artifacts
--frequency FREQUENCY
The frequency to try and update (e.g. sleep for '12h'
and try again
--total-recommended N
The number of recommended extensions to fetch
(default: 200)
--frequency FREQUENCY, -f FREQUENCY
The frequency to try and update (e.g. sleep for '12h' and try again)
--check-binaries Check for updated binaries
--check-insider Check for updated insider binaries
--check-insider, -i Check for updated insider binaries
--check-recommended-extensions
Check for recommended extensions
--check-specified-extensions
--check-specified-extensions, -w
Check for extensions in <artifacts>/specified.json
--extension-name EXTENSIONNAME
--extension-name EXTENSIONNAME, -n EXTENSIONNAME
Find a specific extension by name
--extension-search EXTENSIONSEARCH
Search for a set of extensions
--update-binaries Download binaries
--update-extensions Download extensions
--update-malicious-extensions
Update the malicious extension list
--prerelease-extensions
--prerelease-extensions, -p
Download prerelease extensions. Defaults to false.
--vscode-version
--update-binaries, -b
Download binaries
--update-extensions, -u
Download extensions
--update-malicious-extensions, -m
Update the malicious extension list
--skip-binaries, -B Skip downloading binaries
--vscode-version VERSION, -v VERSION
VSCode version to search extensions as.
--skip-binaries Skip downloading binaries
--total-recommended TOTALRECOMMENDED
Total number of recommended extensions to sync from Search API. Defaults to 500
--debug Show debug output
--logfile LOGFILE Sets a logfile to store loggging output
--logfile LOGFILE, -l LOGFILE
Sets a logfile to store loggging output
--include-existing, -e
Include existing extensions in the update process
--skip-existing, -E Skip inclusion of existing extensions in the update process
--garbage-collection, -g
Remove old versions of artifacts (binaries / extensions)
```
1 change: 0 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: '3'
services:

vscsync:
Expand Down
Loading