[Release] Favoriten: Auto FTP Sync | Update 1.0.2 | 25.01.25

  • UPDATE: v1.0.2 25.01.25

    Hallo zusammen,

    ich möchte euch mein Kodi-Skript vorstellen, das die Automatisierung der Favoriten-Synchronisation übernimmt. Damit könnt ihr eure Favoriten bequem über mehrere Geräte hinweg aktuell halten – besonders praktisch für alle, die oft zwischen verschiedenen Kodi-Installationen wechseln. Zusätzlich könnt ihr damit auch addon_data (also die Einstellungen diverser Add-ons) synchronisieren und Hintergrundbilder rotieren lassen.

    Da ich dieses Skript im privaten Bereich für Freunde und Bekannte nutze, ist es vor allem als Hilfe zur Selbsthilfe gedacht. Jeder kann selbst entscheiden, wie er es einsetzen möchte. Besonders Kodi-Build-Ersteller könnten zusätzliche Möglichkeiten daraus ziehen, um ihre Builds konsistent zu halten.

    Im Folgenden findet ihr eine detaillierte Beschreibung der einzelnen Funktionen und Einstellungen, die in der Benutzeroberfläche des Add-ons sichtbar sind. Viel Spaß beim Ausprobieren!

    Erklärung des Skripts: Auto FTP Sync

    Spoiler anzeigen

    Dieses Skript hilft dir, deine Kodi-Favoriten (sowohl Standard- als auch statische Ordner-Favoriten) und den Ordner addon_data automatisch mit einem FTP-Server zu synchronisieren. Damit kannst du bequem Einstellungen, Favoriten und diverse Addon-Konfigurationen über mehrere Geräte hinweg aktuell halten.

    1. Standard-Favoriten

    Was sind Standard-Favoriten?
    Standard-Favoriten sind die Favoriten, die in der Datei favourites.xml im userdata-Ordner deines Kodi-Systems gespeichert sind.

    Wie funktioniert die Synchronisation?

    1. Das Skript prüft, ob ein benutzerdefinierter Ordnername in den Einstellungen angegeben wurde.
    2. Anschließend kontrolliert es, ob dieser Ordner auf dem FTP-Server existiert. Ist das nicht der Fall, erfolgt eine Fehlermeldung.
    3. Das Skript lädt die favourites.xml vom FTP-Server herunter und vergleicht sie mit der lokalen favourites.xml.
    4. Die Favoriten werden zusammengeführt („Merge“): Neue Favoriten werden hinzugefügt, gelöschte Favoriten entfernt.
    5. Schließlich wird die aktualisierte favourites.xml zurück auf den FTP-Server hochgeladen.

    2. Statische Ordner-Favoriten

    Was sind Statische Ordner-Favoriten?
    Dies sind Favoriten, die in speziellen Ordnern (z. B. Anime, Horror, Marvel, Goat) liegen und vom Add-on plugin.program.super.favourites verwaltet werden. Du kannst die Ordnerliste in den Einstellungen anpassen.

    Wie funktioniert die Synchronisation?

    1. Das Skript liest die Liste der statischen Ordner aus den Einstellungen.
    2. Für jeden Ordner prüft es, ob der entsprechende Ordner auf dem FTP-Server (innerhalb deines benutzerdefinierten Ordners) vorhanden ist. Fehlt er, erscheint eine Fehlermeldung.
    3. Je nach Einstellung „Server-Priorität“:
      • Aktiviert:
        1. Das Skript lädt die favourites.xml vom Server herunter und überschreibt damit die lokale Datei.
        2. Anschließend wird die lokale (aktualisierte) favourites.xml erneut auf den FTP-Server hochgeladen.
      • Deaktiviert:
        1. Das Skript lädt die favourites.xml vom FTP-Server herunter und führt sie mit der lokalen Datei zusammen.
        2. Danach wird die zusammengeführte Fassung wieder hochgeladen.

    3. Addon-Data-Synchronisation

    Was ist addon_data?
    Im Ordner addon_data von Kodi speichern viele Add-ons ihre Konfigurationen, Einstellungen und andere Daten.

    Wie funktioniert die Synchronisation?

    1. Hauptsystem:
      • Das Skript erstellt automatisch eine ZIP-Datei deines lokalen addon_data-Ordners und lädt sie auf den FTP-Server hoch.
    2. Nicht-Hauptsystem:
      • Das Skript lädt die ZIP-Datei vom FTP-Server herunter, entpackt sie in den lokalen addon_data-Ordner und kann ihn dadurch aktualisieren.

    Damit bleiben nicht nur deine Favoriten synchron, sondern auch wichtige Addon-Einstellungen auf allen verwendeten Kodi-Geräten.

    Synchronisation zwischen zwei Systemen

    Spoiler anzeigen
    1. System 1 fügt einen Favoriten hinzu
      1. Wenn du auf System 1 einen neuen Favoriten hinzufügst und Kodi neu startest, vergleicht das Skript deine lokale favourites.xml mit der Datei auf dem FTP-Server.
      2. Der neue Favorit wird zur favourites.xml auf dem FTP-Server hinzugefügt.
      3. Anschließend wird die aktualisierte favourites.xml zurück auf den FTP-Server hochgeladen.
    2. System 2 entfernt einen Favoriten
      1. Wenn du auf System 2 einen Favoriten entfernst und Kodi neu startest, führt das Skript wieder einen Vergleich zwischen lokaler und Server-favourites.xml durch.
      2. Der entfernte Favorit wird aus der favourites.xml auf dem FTP-Server gelöscht.
      3. Danach lädt das Skript die aktualisierte favourites.xml auf den FTP-Server hoch.
    3. Synchronisation bei jedem Start
      1. Jedes Mal, wenn Kodi startet, wird die aktuelle favourites.xml vom FTP-Server heruntergeladen und mit deiner lokalen Datei verglichen.
      2. Neue Favoriten, die lokal existieren und nicht auf dem Server zu finden sind, werden hinzugefügt.
      3. Favoriten, die nur auf dem Server vorhanden sind, lokal aber fehlen, werden entfernt.
      4. Am Ende wird die aktualisierte favourites.xml wieder zum FTP-Server hochgeladen.
    4. Schritt-für-Schritt-Beispiel

    5. System 1 (Neuer Favorit)
      1. Du fügst einen neuen Favoriten hinzu.
      2. Beim nächsten Kodi-Start erkennt das Skript den neuen Eintrag und fügt ihn in die Server-favourites.xml ein.
      3. Die aktualisierte Datei wird hochgeladen.
    6. System 2 (Favorit entfernen)
      1. Du entfernst einen Favoriten.
      2. Beim nächsten Kodi-Start wird der gelöschte Eintrag auch aus der Server-favourites.xml entfernt.
      3. Die aktualisierte Datei wird hochgeladen.
    7. System 1 und System 2 (Synchronisation)
      1. Beim nächsten Start auf beiden Systemen lädt Kodi jeweils die Server-favourites.xml herunter.
      2. Beide Geräte erhalten nun denselben Stand:
        1. Der neue Favorit von System 1 ist überall vorhanden.
        2. Der gelöschte Favorit von System 2 ist überall entfernt.
    8. So bleibt die Favoritenliste auf allen Systemen immer identisch, ganz egal, wo du zuletzt etwas geändert hast.

    Funktionen und Einstellungen:

    Spoiler anzeigen
    1. Synchronisation aktivieren
      1. Beschreibung: Schaltet die gesamte Synchronisation ein oder aus.
      2. Wichtig: Diese Option muss aktiviert sein, damit das Skript überhaupt ausgeführt wird.
    2. Benutzerdefinierter Ordnername
      1. Beschreibung: Ein eindeutiger Ordnername, der auf dem FTP-Server angelegt wird, um Deine Standard-Favoriten zu speichern.
      2. Wichtig: Existiert dieser Ordner bereits, erhältst Du eine Benachrichtigung. Wähle den Ordnernamen daher sorgfältig.
    3. Standard-Favoriten synchronisieren
      1. Beschreibung: Steuert die Synchronisation der Haupt-Favoritenliste (favourites.xml).
      2. Wichtig: Wenn aktiv, werden Deine Standard-Favoriten automatisch beim Skriptlauf abgeglichen.
    4. Statische Ordner synchronisieren (z.B. Anime, Horror, Marvel, Goat)
      1. Beschreibung: Aktiviert die Synchronisation zusätzlicher Favoritenordner, die in plugin.program.super.favourites liegen.
      2. Wichtig: Diese Ordner werden nur dann gemerged bzw. überschrieben, wenn die Option eingeschaltet ist.
    5. Statische Ordner (durch Kommas getrennt)
      1. Beschreibung: Eine Liste von Ordnernamen, die als „Statisch“ behandelt werden sollen. Beispiel: Anime, Horror, Marvel, Goat.
      2. Wichtig: Die Ordnernamen hier müssen exakt den Ordnernamen auf dem FTP-Server entsprechen.
    6. FTP-Basisverzeichnis
      1. Beschreibung: Das Hauptverzeichnis auf dem FTP-Server, in dem Deine Favoriten (und ggf. addon_data) gespeichert werden.
      2. Wichtig: Stelle sicher, dass Du dort Lese‐/Schreibrechte hast.
    7. FTP-Host
      1. Beschreibung: Hostname oder IP-Adresse Deines FTP-Servers.
      2. Wichtig: Das Skript verbindet sich über diesen Host mit dem Server.
    8. FTP-Benutzer
      1. Beschreibung: Benutzername für den FTP-Server.
      2. Wichtig: Du benötigst einen gültigen Account, der Zugriff auf das gewünschte Verzeichnis hat.
    9. FTP-Passwort
      1. Beschreibung: Passwort zu Deinem FTP-Benutzer.
      2. Wichtig: Achte auf sichere Credentials – das Skript speichert sie in seinen Einstellungen.
    10. Server-Priorität für statische Ordner
    11. Beschreibung: Legt fest, ob die vom Server geholten Favoriten die lokalen Favoriten überschreiben sollen (nur für statische Ordner!).
    12. Wichtig: Hat keinen Einfluss auf die Standard-Favoriten. Ist diese Option aktiviert, überschreiben die Ordnerinhalte vom Server die lokalen Ordner.
    13. 'addon_data' Sync
    14. Beschreibung: Wenn aktiviert, wird zusätzlich der komplette addon_data-Ordner beim Hauptsystem als ZIP auf den FTP-Server hochgeladen und von den Nicht-Hauptsystemen heruntergeladen. Dadurch kannst Du Addon-Einstellungen auf allen Geräten abgleichen.
    15. Wichtig: Stelle sicher, dass in addon_data keine kritischen oder zu großen Dateien liegen, die Du nicht synchronisieren möchtest.

    Durch korrektes Konfigurieren all dieser Optionen gewährleistest Du eine reibungslose Synchronisation Deiner Favoriten sowie Deines addon_data-Ordners über den FTP-Server.

    Verwendung:

    Spoiler anzeigen
    1. Konfiguration
      1. Trage alle FTP-Einstellungen (Host, Benutzername, Passwort, Basisverzeichnis) korrekt in den Add-on-Einstellungen ein.
      2. Aktiviere die Synchronisation (Enable Sync), damit das Skript überhaupt ausgeführt wird.
    2. Ordnerstruktur
      1. Auf dem FTP-Server sollte folgende Struktur verfügbar sein:

        Code
        /{ftp_base_path}/auto_fav_sync/{custom_folder}/
        /{ftp_base_path}/auto_fav_sync/static/{folder}/
      2. {custom_folder}: Der in den Add-on-Einstellungen festgelegte, benutzerdefinierte Ordnername.
      3. {folder}: Vordefinierte Ordnernamen wie Anime, Horror, Marvel, Goat (oder andere, die Du in den Einstellungen angegeben hast).
    3. Synchronisationsoptionen
      1. Lege in den Add-on-Einstellungen fest, ob Du Standard-Favoriten, statische Ordner (z. B. Anime, Horror, Marvel, Goat) und ggf. 'addon_data' synchronisieren möchtest.
      2. Passe bei Bedarf weitere Optionen an, wie z. B. Server-Priorität für statische Ordner.
    4. Sobald alles korrekt eingerichtet ist, lädt das Skript beim Start von Kodi Deine Favoriten (und optional Dein addon_data) hoch bzw. herunter und hält sie auf allen Geräten synchron.

    Changelog:

    Spoiler anzeigen

    v1.0.2

    • Texte, Bilder und Addon-Beschreibung überarbeitet
    • Code-Optimierungen
    • Neu: `addon_data`-Synchronisation integriert

    v1.0.1

    • Code-Verbesserungen
    • Statische Ordner werden nun korrekt aus den Einstellungen übernommen

    Beste Grüße, DK

  • Wäre ja cool, wenn es auch SMB geben würde und nicht nur FTP. Denn einen FTP Server betreibt ja kaum einer, ist irgendwie so 90er… ;)

    Aber coole Sache!

    TVServer: origenAE (S16V) als DVBViewer MediaServer
    SAT>IP Hardware: 3x Digibit Twin
    Clienten: 1x DuneHD, 2x KII Pro DVB-S2 (S905) (CE 9.2.8), 1x FireTV Stick 4K MAX, 1x OctagonSF8008 E2 Receiver (openATV)

  • Danke für das Feedback.

    Mit SMB habe ich mich nie beschäftigt und eigentlich ist das auch nur aus einer "not" Heraus entstanden wie man so schön sagt.

    Und einen FTP hast du bei jedem Free-Webspace dabei, von daher ist das auch überhaupt keine große Sache.
    Allerdings würde ich mir eine Variante mit einer SMB-Connection mal bei Zeit ansehen.

    LG

  • Ganz banal, geht auch SFTP?

    das Einzige was am Ende zählt ist
    dass ihr lebt was ihr liebt und liebt wofür ihr lebt


    Kodi HTPC - W11 | AMD Athlon 3000G | Pioneer A 504R Bj. 96
    OMV NAS - NAS | Emby Server | LogitechMediaServer
    3x Logitech SqueezeBox & 3x RasPi PiCorePlayer
    Unifi Netzwerk | Sophos XGS Firewall | Agfeo TK | Kentix Security
    Loxone SmartHome

  • Ich beschäftige mich noch gar nicht so lange damit und Kodi allgemein, aber SFTP direkt in Kodi zu verwenden, ist wegen der Einschränkungen in der Kodi-Umgebung schwierig denke ich.

    So wie ich das verstehe würde dafür die paramiko-Bibliothek notwendig sein, wenn mir jemand sagen könnte wie ich das in Kodi integriert bekomen würde, könnte man das bestimmt umsetzen.

    Letztendlich glaube ich, dass ich um eine SMB-Variante nicht herumkommen werde. Ich würde gerne alle Varianten abstecken wollen, dass wäre schön :)

  • Neue Version | Neuinstallation | Neue Funktion

    Beschreibung

    Auto FTP Sync ist ein praktisches Kodi-Addon, das Ihnen hilft, Ihre Favoriten und Hintergrundbilder automatisch zwischen mehreren Kodi-Installationen zu synchronisieren. Mit diesem Addon können Sie sicherstellen, dass Ihre Favoriten stets auf dem neuesten Stand sind und dass Ihre Hintergrundbilder regelmäßig rotieren, um für visuelle Abwechslung zu sorgen.

    Hinweise

    • Neuinstallation erforderlich: Aufgrund der signifikanten Änderungen in der Funktionsweise des Addons wird eine Neuinstallation empfohlen.
    • Automatischer Hintergrundwechsler: Diese neue Funktion ist unabhängig von der Favoriten-Synchronisation und bietet eine automatische Rotation der Hintergrundbilder.

    Hauptfunktionen

    Spoiler anzeigen
    1. Automatische Synchronisation der Favoriten:
      • Hauptsystem vs. Subsystem:
        • Hauptsystem: Favoriten werden vom Hauptsystem zum FTP-Server hochgeladen.
        • Subsystem: Favoriten werden vom FTP-Server auf das Subsystem heruntergeladen.
      • Statische Favoritenordner:
        • Sie können spezifische Ordner (z.B. Anime, Horror, Marvel) definieren, deren Favoriten ebenfalls synchronisiert werden.
        • Diese Ordner können auf Wunsch vom Hauptsystem überschrieben werden.

    Automatische Hintergrundbild-Rotation:

    Spoiler anzeigen
    • Bildlisten-URL:
      • Geben Sie die URL zu einer Textdatei an, die Links zu Bildern enthält.
      • Die Textdatei muss im folgenden Format vorliegen:

        Code
        [img]https://example.com/image1.jpg[/img]
        [img]https://example.com/image2.jpg[/img]
      • Bildpfade:
        • Das heruntergeladene Bild wird als marvel.jpg im userdata-Ordner gespeichert und als fanart.jpg im plugin.video.xstream Addon-Ordner.
      • Optionale Hintergrundbild-Rotation:
        • Sie können die Hintergrundbild-Rotation ein- oder ausschalten.

    Einstellungen

    Spoiler anzeigen
    1. Allgemeine Einstellungen:
      • Synchronisation aktivieren (enable_sync:( Aktivieren oder deaktivieren Sie die automatische Synchronisation.
      • Hauptsystem (is_main_system:( Definieren Sie, ob das aktuelle System das Hauptsystem ist.
    2. FTP Einstellungen:
      • FTP-Basispfad (ftp_base_path:( Geben Sie den Basispfad auf dem FTP-Server an.
      • FTP-Host (ftp_host:( Geben Sie die FTP-Host-Adresse ein.
      • FTP-Benutzer (ftp_user:( Geben Sie den FTP-Benutzernamen ein.
      • FTP-Passwort (ftp_pass:( Geben Sie das FTP-Passwort ein.
    3. Synchronisationsoptionen:
      • Statische Favoriten überschreiben (overwrite_static:( Definieren Sie, ob die statischen Favoriten vom Hauptsystem überschrieben werden sollen.
      • Statische Ordner (static_folders:( Geben Sie die Namen der statischen Ordner an, getrennt durch Kommas (z.B. Anime,Horror,Marvel).
    4. Bild Einstellungen:
      • Bildlisten-URL (image_list_url:( Geben Sie die URL zur Textdatei mit den Bild-URLs an.
      • Hintergrundbild-Rotation aktivieren (rotate_backgrounds:( Aktivieren oder deaktivieren Sie die automatische Hintergrundbild-Rotation.

    Installation und Konfiguration

    Spoiler anzeigen
    1. Installation:
      • Laden Sie das Addon herunter und installieren Sie es in Kodi.
      • Starten Sie Kodi nach der Installation neu.
    2. Konfiguration:
      • Öffnen Sie die Addon-Einstellungen.
      • Konfigurieren Sie die Einstellungen gemäß den obigen Beschreibungen.
      • Speichern Sie die Änderungen und schließen Sie die Einstellungen.

    Mit Auto FTP Sync können Sie Ihre Kodi-Erfahrung nahtlos und visuell ansprechend gestalten, indem Sie Ihre Favoriten synchron halten und regelmäßig neue Hintergrundbilder genießen.

  • Wahrscheinlich den Userdata bzw vielleicht sogar AddonData Ordner synchronisieren. Dann hat man immer die gleichen Addons und die gleichen Einstellungen

  • Also das wäre eine Idee, lediglich mache ich mir da wegen der Datenmenge Gedanken, wobei es sicher möglich sein sollte das ganze vorher in einer Datei zu komprimieren.

    Auf dem System findet eine Komprimierung statt *.zip - Diese wird dann hochgeladen/heruntergeladen und entladen. Aber bei jedem Start würde das ja für Verzögerungen sorgen. Da müsste ich mir mal durch den Kopf gehen lassen, was da die beste Lösung wäre!?

    Das ist erst mein erstes Addon in Python und alleine das, fand ich als Leie schon sehr mühselig, aber die Lust ist da.

  • Geplant:

    1. Weitere Upload-Möglichkeiten (Syncronisation)
      1. SFTP & SMB
      2. Weitere (Hast du Ideen=)

    Hast du irgendwelche Ideen die noch umgesetzt werden können? Was mir möglich ist, würde ich versuchen umzusetzen.

    Das ließe sich ggf noch weiterspinnen. Zb die Addons wären ein lohnenswertes Ziel.

    Kannst du das evtl. etwas ausführen wie du dir das vorstellst?

    den Userdata bzw vielleicht sogar AddonData Ordner synchronisieren

    Ist das gemeint?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!