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
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).
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
dev update channels, will be downloaded to a local folder (named
client_updates by default).
- Use the
--min-versionflag to limit the number of update bundles downloaded (late in a release cycle, there will be a lot).
- Use the
--platformsflag to specify a comma-separated set of platforms if you don't want all 3 (
- Use the
--legacy-formatflag 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.
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.)
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.
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.