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
, andwin64
). - 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.