The synchronization algorithm works as follows:
- Download existing application list from the server if present and decrypt it.
- Merge the data from the server into the local application list using a three-way merge.
- Apply any changes made to the application list to the desktop environment.
- Encrypt and upload the new application list.
- Store a copy of the application list locally for use as a baseline for the next merge.
All data is encrypted locally before transmission using AES-128. Therefore the server remains unaware of the actual data being synchronized.
The communication with the server is handled via a simple REST interface which is documented at https://0install.de/sync/.
If you want to run your own Sync server you have the following options:
- Use our PHP script on your web server.
- Use an empty directory on a WebDAV server.
- Use a Windows file share.