Skip to content

RogueScholar/service.addonsync

Repository files navigation

AddonSync

Repository size in bytes    Last Git commit date     Keybase PGP Fingerprint     REUSE badge     Pre-Commit Enabled"     GitHub CodeQL Static Analysis

AddonSync logo

For Kodi v19 "Matrix" and above


Purpose

There have been several requests over the years for Kodi add-ons to be able to sync their configuration across different installations. This Kodi service addon, AddonSync, has been built to fill that need.

The AddonSync service allows you to designate one of your Kodi installations as the "Master" and have all your other installations (referred to as "Slaves") synchronize their add-on configurations to those used by the Master installation. This is made possible by having the Master timestamp all changes to your add-ons configurations and record them in an index file to be stored in a shared network folder, where also are housed a full copy of said add-on configuration files. Subsequently whenever a "Slave" installation is started it checks the timestamps of its own add-ons' configurations against the index from the Master, and if any are found to be newer, those add-ons' settings are copied in full from those used by the Master. This synchronization process can be configured to happen every time Kodi starts as well as at a specified recurring time interval whenever Kodi is open.

More information can be found on the GitHub wiki.

Installation

You can install AddonSync from Kodi’s Add-ons panel by selecting the option 'Install from zip file' and navigating to the location to which you downloaded and saved the following file: service.addonsync-main.zip.

It will also be published to the GitHub Releases page of this repository upon conclusion of the testing phase for the port to Python 3/Kodi v19 "Matrix".

Initial Setup

As described above, AddonSync uses a Master/Slave model and each Kodi installation you install it on must be configured to behave as either the Master or a Slave. There can be only a single Master installation for each network share, but the number of Slave installations that may sync from any Master’s network share is theoretically unlimited.

First determine which of your Kodi installations will be the Master, and once AddonSync is installed and configured on it, then completes the initial copy of its addons' settings to the network share, you may begin to setup the "Slaves" that will mirror their add-ons' settings from it.

Default Exclusions

There are some add-ons that by their nature will prove problematic for the typical Kodi user to sync between installations, usually because they’re sensitive to the particular device being used to run Kodi, its display resolution or the graphics chipset it is built upon. Common add-ons that fall into this grouping include:

  • Skins,

  • Metadata scrapers, and

  • Kodi’s built-in screensavers

By default, AddonSync will also exclude from the sync process any add-ons whose versions are different across different installations. Add-on repositories are also omitted from the sync process, so it is left to the user to ensure those repos that are required to keep the syncing add-ons upgraded in unison on all installations are present and functional.

Repository Layout

File Tree

root
├── .github
│     └── workflows
│            └── codeql-analysis.yml
├── LICENSES
│     ├── CC0-1.0.txt
│     ├── GPL-2.0-or-later.txt
│     ├── MIT.txt
│     └── MPL-2.0.txt
├── resources
│     ├── css
│     |       ├── asciidoctor.css
│     |       └── bootstrap_superhero.min.css
│     ├── language
│     |       ├── resource.language.en_gb
│     │       |      └── strings.po
│     |       ├── resource.language.en_us
│     │       |      └── strings.po
│     |       ├── resource.language.pt_pt
│     │       |      └── strings.po
│     ├── lib
│     |       ├── init.py
│     |       ├── addonsync.py
│     |       ├── core.py
│     |       ├── filter.py
│     |       ├── service.py
│     |       └── settings.py
│     ├── banner.png
│     ├── banner.png.license
│     ├── clearlogo.png
│     ├── clearlogo.png.license
│     ├── fanart.png
│     ├── fanart.png.license
│     ├── file-tree.png
│     ├── file-tree.png.license
│     ├── icon.png
│     ├── icon.png.license
│     ├── Kodi-logo.png
│     ├── Kodi-logo.png.license
│     ├── screenshot-01.png
│     ├── screenshot-01.png.license
│     ├── screenshot-02.png
│     ├── screenshot-02.png.license
│     ├── screenshot-03.png
│     ├── screenshot-03.png.license
│     ├── settings.xml
│     ├── social-preview.jpg
│     └── social-preview.jpg.license
├── .editorconfig
├── .gitignore
├── .pre-commit-config.yaml
├── .prospector.yaml
├── .style.yapf
├── addon.xml
├── LICENSE.adoc
├── pylintrc
├── README.adoc
├── service.addonsync-v101.0.2.spdx
└── tox.ini

FOSSA Analysis

FOSSA Status Widget

Colophon

The terms of the Mozilla Public License 2.0 govern the acceptable use of the contents of this repository, unless otherwise specified within a specific file. This document (README.adoc) is released under the terms of the Creative Commons Public Domain Dedication 1.0.

Kodi logo
Credits

Maintained by Peter J. Mello.

Kodi® and the Kodi logo are registered trademarks of the Kodi Foundation

Document Version: 101.0.2
Last Updated: 2024-04-23 10:12:24 -0700