Skip to content

Setting Up Local Updates

The Enterprise server can self-host Enterprise client updates and function as an update server. This is really useful for deployments on networks with no internet access or deployments on intranets where most/all clients will have a much better connection to the Enterprise server versus our official update server. Completing this setup will provide updates from both the stable and dev update channels to your clients, making updating and switching between versions as easy as being connected to our official update server.

By default, the Enterprise server image does not come with any updates installed. You will need to set this up manually with the manage_server program. The Enterprise server image does have the latest base installers included for each platform, however, which can be downloaded from the start page (https://localhost:3535, or your equivalent with your host and port).

Downloading Updates

The first step of setting up local updates is to download the updates from the official update servers. Simply run manage_server updates download and all updates, from both the stable and dev update channels, will be downloaded to a local folder (named client_updates by default).

Additionally:

  • Use the --latest-only or --min-version flag to limit the number of update bundles downloaded (late in a release cycle, there will be a lot).
  • Use the --platforms flag to specify a comma-separated set of platforms if you don't want all 3 (linux, macosx, and win64).
  • Use the --legacy-format flag if you need to update versions of Binary Ninja prior to our 3.0 release.

You do not need to run manage_server on the same host as the Enterprise server in order for this to function. So, if your Enterprise server does not have internet connectivity, you can run manage_server on a different internet-connected host and simply move the client_updates folder to the Enterprise server host afterward.

Warning

If the update process fails to download one or more updates, the update_keys file won't be created inside the client_updates folder. This will cause a subsequent sync action (see below) to fail.

Updates sometimes fail to fully download for a variety of reasons. The easiest way to fix this in almost all cases is to simply re-run the updates download command. Any already-downloaded updates will be verified, and anything missing or corrupted will be downloaded or re-downloaded. (As of right now, these processes look identical in the command's output.)

Syncing Updates

Once the updates have been downloaded, they can be synced to the Enterprise server by running manage_server updates sync. This will add all updates from the client_updates folder (you can specify its path with the --switch switch) you created in the previous step that don't already exist in the Enterprise server.

To get more updates in the future, simply re-run the updates download command from the previous section (which will download any new updates and re-verify any old ones). Then, re-run the updates sync command from this section with the updated client_updates folder to sync the new updates to the Enterprise server.

Updating Clients

In order to use the updates you've synced, your Enterprise clients will need to check the "Use Enterprise Server For Updates" option in the "Updates" section of the Settings window within Binary Ninja. This will switch the client over to using the Enterprise server for all updates.