Skip to content

Commit

Permalink
Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
aaronparker committed Apr 14, 2024
1 parent e5940db commit d60ad12
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 29 deletions.
44 changes: 42 additions & 2 deletions docs/endpoints.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The Evergreen API can return the endpoint URLs used by Evergreen to retrieve app

The list of endpoints can be imported into firewall or proxy server systems where an allowed list of endpoints is required before using Evergreen to download application installers. All endpoints are accessed on TCP 80 or 443.

## Usage
## API Usage

The API provides two lists of endpoints - URLs used by Evergreen to determine application versions and downloads, and URLs used to download application installers.

Expand All @@ -28,7 +28,7 @@ Here is an example using `Invoke-RestMethod` to return the list of URLs used by
PS C:\> Invoke-RestMethod -Uri "https://evergreen-api.stealthpuppy.com/endpoints/downloads"
```

## Output
### Output

Output returns from both of these endpoints is in JSON format - the name of the application (a string) and the endpoints (an array) for that application are both returned. Here's sample output filtered for Microsoft Edge:

Expand All @@ -52,3 +52,43 @@ Application Endpoints
----------- ---------
MicrosoftEdge {edgeupdates.microsoft.com, www.microsoft.com}
```

## Using Get-EvergreenEndpoint

`Get-EvergreenEndpoint` can be used to simplify usage of the API, by returning all endpoints used by Evergreen in a single object. Running `Get-EvergreenEndpoint` with no parameters, will return a complete list of endpoints and ports used for all applications.

```powershell
PS C:\> Get-EvergreenEndpoint
Application Endpoints Ports
----------- --------- -----
1Password {1password.com, app-updates.agilebits.com, downloads.1password.com, cdn.agilebits.com} {443}
1Password7 {1password.com, c.1password.com, download.app.com"} {443}
1PasswordCLI {app-updates.agilebits.com, cache.agilebits.com, developer.1password.com} {443}
7zip {nchc.dl.sourceforge.net, sourceforge.net, www.7-zip.org, versaweb.dl.sourceforge.net} {443}
7ZipZS {api.github.com, mcmilk.de, github.com} {443}
AdobeAcrobat {ardownload2.adobe.com, armmf.adobe.com, helpx.adobe.com} {443}
AdobeAcrobatDC {ardownload2.adobe.com, rdc.adobe.io, www.adobe.com} {443}
AdobeAcrobatProStdDC {helpx.adobe.com, rdc.adobe.io, trials.adobe.com} {443}
AdobeAcrobatReaderDC {acrobat.adobe.com, rdc.adobe.io, ardownload2.adobe.com} {443}
AdobeBrackets {brackets.io, api.github.com, github.com} {80, 443}
```

`Get-EvergreenEndpoint` can return endpoints for a single application or an array of with the `-Name` parameter. In the example below `Get-EvergreenEndpoint` is used to return the endpoints and ports for the Microsoft Teams and Microsoft Edge endpoints.

```powershell
PS C:\> Get-EvergreenEndpoint -Name "MicrosoftTeams", "MicrosoftEdge"
Application Endpoints Ports
----------- --------- -----
MicrosoftEdge {edgeupdates.microsoft.com, www.microsoft.com, msedge.sf.dl.delivery.mp.microsoft.com} {443}
MicrosoftTeams {config.teams.microsoft.com, www.microsoft.com, statics.teams.cdn.office.net} {443}
```

### Return a simple list of all endpoints

The output of `Get-EvergreenEndpoint` can be filtered to create a simple list of all unique endpoint URLs. The command below will generate an array of URLs that can then be used for an allow list of all endpoints required by Evergreen.

```powershell
PS C:\> Get-EvergreenEndpoint | Select-Object -ExpandProperty "Endpoints" -Unique
```
33 changes: 6 additions & 27 deletions docs/issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,6 @@ Updating `Get-GitHubRepoRelease` to support authenticated requests is planned fo

## Application Functions

### 7zip

The 32-bit installers returned by `7Zip` link to a SourceForge download page instead of the file directly. These installers can be downloaded by `Invoke-WebRequest` by setting the UserAgent to the [Googlebot](https://github.com/aaronparker/Evergreen/issues/124#issuecomment-839447242).

### AdobeAcrobat

Where Adobe releases an update for Acrobat/Reader DC for Windows ahead of macOS, the current patch release may not be returned. In most cases, Adobe keeps both platforms in sync, so this should be a rare occurrence.
Expand All @@ -45,19 +41,6 @@ Alternative application - `AdobeAcrobatDC` and `AdobeAcrobatReaderDC` use a web

Validate whether `AdobeAcrobat` returns the latest update version.

### CiscoWebEx

The versions returned for Cisco WebEx may be out of date. Refer to [Cisco WebEx - new app available, Evergreen returning legacy version only](https://github.com/aaronparker/evergreen/issues/197) until a fix is found.

### CitrixWorkspaceApp

#### HDX RealTime Media Engine

The version of the HDX RealTime Media Engine for Microsoft Skype for Business for Windows returned by `CitrixWorkspaceApp` is out of date. This is the version of the HDX RTME that is returned by the Workspace App update feed ([https://downloadplugins.citrix.com/ReceiverUpdates/Prod/catalog_win.xml](https://downloadplugins.citrix.com/ReceiverUpdates/Prod/catalog_win.xml)). Use `CitrixWorkspaceAppFeed` to find the latest version of the HDX RTME.

!!! info "Note"
`CitrixWorkspaceAppFeed` returns a link to the download page and not the installer directly. See [Get-CitrixWorkspaceApp does not return the latest Citrix HDX RealTime Media Engine](https://github.com/aaronparker/Evergreen/issues/59).

#### 404 Error

Occasionally `Get-EvergreenApp -Name "CitrixWorkspaceApp"` may fail with the following error:
Expand All @@ -74,9 +57,13 @@ This typically occurs right after the release of a new version of the Workspace

Occasionally `Get-EvergreenApp -Name "CitrixWorkspaceApp"` may not return the latest version of the Citrix Workspace app. This is due to Citrix making changes to the update feed at `https://downloadplugins.citrix.com/ReceiverUpdates/Prod/catalog_win.xml` to throttle or prevent automatic rollout of the latest Workspace app. The only recourse is to wait until Citrix corrects the update feed to include the latest version of the Workspace app again.

### FileZilla

`FileZilla` does not return application version data on PowerShell Core. This function does work on Windows PowerShell.

### GhislerTotalCommander

Supports Windows platforms only - this application relies on `Resolve-DnsName` which is not available under PowerShell 6+ on macOS or Linux.
This application function works OK without additional requirements on Windows, but requires the `DnsClient-PS` on macOS or Linux.

### LibreOffice

Expand All @@ -95,11 +82,7 @@ Channel properties are listed in the following articles: [Configuration options

Full channel names are listed here: [Update history for Microsoft 365 Apps](https://docs.microsoft.com/en-us/officeupdates/update-history-microsoft365-apps-by-date).

### MicrosoftFSLogixApps

Depending on release schedules, the preview version of the FSLogix Apps download may not be available. The preview version is found here: `https://aka.ms/fslogix/downloadpreview` - if no preview version is behind this URL, `Get-EvergreenApp -Name MicrosoftFSLogixApps` will return an error when attempting to resolve the preview URL, but will continue to return the release version.

### MicrosoftTeams
### MicrosoftTeamsClassic

The version number returned by the Microsoft Teams update API may be slightly different to the version number displayed in the `ProductVersion` property in the MSI or in Programs and Features. For example, `Get-EvergreenApp -Name MicrosoftTeams` may report a version number of `1.4.00.8872`, but the Windows Installer may report `1.4.0.8872`. Also see [Get-MicrosoftTeams displays slightly wrong formatted version number](https://github.com/aaronparker/Evergreen/issues/58).

Expand Down Expand Up @@ -163,7 +146,3 @@ The source code for the update site can be found here: [VideoLAN organization >

!!! info "Note"
`VMwareHorizonClient` returns the Horizon Client in .tar format. This the same URL used when the Horizon Client updates itself - you will need to unpack the .tar file to retrieve the executable installer.

### Zoom

`Zoom` returns versions as `Latest` for some downloads - the source used by this function does not provide a method for determining the version number. Also see [Zoom currently failing](https://github.com/aaronparker/Evergreen/issues/200)
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -164,5 +164,6 @@ nav:
- Get-EvergreenLibraryApp: help/en-US/Get-EvergreenLibraryApp.md
- Export-EvergreenApp: help/en-US/Export-EvergreenApp.md
- Export-EvergreenManifest: help/en-US/Export-EvergreenManifest.md
- Get-EvergreenEndpoint: help/en-US/Get-EvergreenEndpoint.md
- App Tracker: https://stealthpuppy.com/apptracker/
- PSPackageFactory: https://stealthpuppy.com/packagefactory/

0 comments on commit d60ad12

Please sign in to comment.