Version prüfen

German Support for Syncovery on Linux etc.
Stefan
Posts: 37
Joined: Sat Apr 04, 2020 6:52 pm

Version prüfen

Post by Stefan »

Hallo,

da ich einen Docker-Container mir für die Linux Version gebaut habe, würde ich natürlich immer gerne wissen wann eine neue Version erscheint (oder das sogar automatisieren).

Daher die Frage: Gibt es eiune Möglichkeit die aktuellste Version von Syncovery für Linux zu prüfen? Also z.B. eine URL welche die aktuellste Versionsnummer bereitstellt?

Gruß
Stefan

EDIT:
Es gibt folgende URLs um neue Versionen zu prüfen:

Debian x64: https://www.syncovery.com/linver_amd64.deb.txt
tar.gz x64: https://www.syncovery.com/linver_x86_64.tar.gz.txt
tar.gz Web x64: https://www.syncovery.com/linver_x86_64-Web.tar.gz.txt
Guardian: https://www.syncovery.com/linver_guardi ... tar.gz.txt
RemoteService: https://www.syncovery.com/linver_rs_x86_64.tar.gz.txt
Last edited by Stefan on Sat Jun 12, 2021 6:15 pm, edited 2 times in total.

tobias
Posts: 1589
Joined: Tue Mar 31, 2020 7:37 pm

Re: Version prüfen

Post by tobias »

Leider werden nicht alle Linux-Pakete immer gleichzeitig aktualisert, daher gibt es solche Textdateien nicht. Im Moment sieht es so aus, dass man den HTML-Seitentext der Downloadseite verarbeiten müsste. Ich hoffe aber, in Zukunft eine Updateprüfung implementieren zu können.

Stefan
Posts: 37
Joined: Sat Apr 04, 2020 6:52 pm

Re: Version prüfen

Post by Stefan »

Alles klar, habe nun mir mal ein Jenkins CI eingerichtet. War ein wenig Aufwand aber es sollte nun automatisch funktionieren :D

Stefan
Posts: 37
Joined: Sat Apr 04, 2020 6:52 pm

Re: Version prüfen

Post by Stefan »

Habe eben gesehen, dass es nun den Linux Installer für Windows gibt. Hab das natürlich gleich ausprobiert und gesehen, dass er diese URL abruft für eine Update-Prüfung: https://www.syncovery.com/linver_amd64.deb.txt

Daher meine Frage:
  • Kann man diese URL (oder auch andere) dazu verwenden, die aktuellste Version zu ermitteln?
  • Gibt es noch andere URLs über welche man Versionen prüfen kann? (z.B. den guardian)

tobias
Posts: 1589
Joined: Tue Mar 31, 2020 7:37 pm

Re: Version prüfen

Post by tobias »

Hi,
ja, ich habe inzwischen sehr viele dieser kleinen Versionsdateien für die ganzen verschiedenen Linux-Downloads.

Allerdings noch nicht für den Guardian oder den Remote Service.

Die URL bleibt dauerhaft bestehen.

Stefan
Posts: 37
Joined: Sat Apr 04, 2020 6:52 pm

Re: Version prüfen

Post by Stefan »

Danke für die Rückmeldung!

Aktuell überarbeite ich meine CI damit hier nicht immer die vollständige Webpage geprüft werden muss.
Zusätzlich habe ich mir gedacht, dass ich auch gleich noch den Guardian und den RS mit inkludiere - dann ist der Container mal komplett :-P

tobias
Posts: 1589
Joined: Tue Mar 31, 2020 7:37 pm

Re: Version prüfen

Post by tobias »

Hi,
es geht ja nur um amd/Intel 64 Bit und Debian Packages, richtig?

Ich könnte so eine Versionsdatei für den Guardian und Remote Service eben schnell machen.

Stefan
Posts: 37
Joined: Sat Apr 04, 2020 6:52 pm

Re: Version prüfen

Post by Stefan »

Ja es geht nur um die x86_64 Version.

Also ursprünglich wollte ich den Link aus der linkver nehmen und alle Komponenten per .deb Pakete installieren. Dann ist mir aber aufgefallen, dass diese Pakete die SYNCOVERY_HOME environment variable ignorieren und sich immer in /etc/.Syncovery ablegen. Das kann ich im Docker aber nicht umstellen da den schon einige nutzen und jeder sonst hier eine Anpassung machen müsste um von /config/.Syncovery auf /etc/.Syncovery umzusteigen. Somit habe ich wieder auf die .tar.gz umgestellt. Das bedeutet ich lese per Regex die Versionsnummer aus und baue mir daraus dann die .tar.gz Download-URL.

Den Regex den ich dazu nutze ist: 9\.[0-9]{1,2}[a-z]{0,2}
(ja ich weiß ist nicht schön aber dafür selten :lol:)

Da ich mit diesem Regex nicht unterscheiden kann ob das nun die Version von Syncovery oder RS ist, bräuchte ich somit wenn dann beide in einer eigenen Datei (oder mir muss jemand zeigen wie ich aus der einen Datei alle drei Werte kriegen würde per Bash-Script). Somit ist es egal ob ich es über die eine Datei auslese oder von insgesamt drei unterschiedlichen Seiten.

Macht auch keinen Unterschied für die Last auf dem Syncovery.com Server denn es wird nur eine Seite überwacht (die linver). Und nur wenn die sich ändert werden dann die linver, die guardian und die RS Seiten aufgerufen und die Versionsnummern extrahiert.

Wenn jemand eine bessere Lösung hat habe ich immer ein offenes Oh dafür :-)

Stefan
Posts: 37
Joined: Sat Apr 04, 2020 6:52 pm

Re: Version prüfen

Post by Stefan »

PS hab meine Regex noch ein wenig verbessert um eventuelle falsche Erkennungen vorzubeugen. Also vermutlich würde ich das nun auch in einer Datei hinbekommen - vorausgesetzt die können darin unterschieden werden.

Hier mein aktuelles Bash-Script:

Code: Select all

#!/bin/bash
SYNCOVERY_REGEX='https://www\.syncovery\.com/release/Syncovery-([1-9][0-9]?\.[0-9]{1,2}[a-z]{0,2})-amd64\.deb'
REMOTE_REGEX='SyncoveryRS-x86_64-([1-9][0-9]?\.[0-9]{1,2}[a-z]{0,2})\.tar\.gz'
GUARD_REGEX='SyncoveryGuardian-x86_64-([1-9][0-9]?\.[0-9]{1,2}[a-z]{0,2})\.tar\.gz'

SYNCOVERY=$(curl -s 'https://www.syncovery.com/linver_amd64.deb.txt' 2> /dev/null)
REMOTE=$(curl -s 'https://www.syncovery.com/remservlinux/' 2> /dev/null)
GUARD=$(curl -s 'https://www.syncovery.com/guardianlinux/' 2> /dev/null)

# internal parameters
SYNCOVERY_VERSION=""
SYNCOVERY_DOWNLOADLINK=""
REMOTE_VERSION=""
REMOTE_DOWNLOADLINK=""
GUARD_VERSION=""
GUARD_DOWNLOADLINK=""

# syncovery
if [[ $SYNCOVERY =~ $SYNCOVERY_REGEX ]]; then
    SYNCOVERY_VERSION=${BASH_REMATCH[1]}
    SYNCOVERY_DOWNLOADLINK="https://www.syncovery.com/release/SyncoveryCL-x86_64-${SYNCOVERY_VERSION}-Web.tar.gz"
fi

# remote
if [[ $REMOTE =~ $REMOTE_REGEX ]]; then
    REMOTE_VERSION=${BASH_REMATCH[1]}
    REMOTE_DOWNLOADLINK="https://www.syncovery.com/release/SyncoveryRS-x86_64-${REMOTE_VERSION}.tar.gz"
fi

# guardian
if [[ $GUARD =~ $GUARD_REGEX ]]; then
    GUARD_VERSION=${BASH_REMATCH[1]}
    GUARD_DOWNLOADLINK="https://www.syncovery.com/release/SyncoveryGuardian-x86_64-${GUARD_VERSION}.tar.gz"
fi

# check if both needed information are available and call jenkins if so
echo SYNCOVERY_VERSION=${SYNCOVERY_VERSION}
echo SYNCOVERY_DOWNLOADLINK=${SYNCOVERY_DOWNLOADLINK}
echo REMOTE_VERSION=${REMOTE_VERSION}
echo REMOTE_DOWNLOADLINK=${REMOTE_DOWNLOADLINK}
echo GUARD_VERSION=${GUARD_VERSION}
echo GUARD_DOWNLOADLINK=${GUARD_DOWNLOADLINK}

tobias
Posts: 1589
Joined: Tue Mar 31, 2020 7:37 pm

Re: Version prüfen

Post by tobias »

Hi,
es gibt auch noch diese Versionsdateien:

https://www.syncovery.com/linver_x86_64.tar.gz.txt

https://www.syncovery.com/linver_x86_64-Web.tar.gz.txt

Einfach zu jedem Download der Linux-Download-Seite gibt es eine solche Datei.

Die Downloadseite selbst holt sich die Versionsnummern und URLs aus diesen Dateien.

Ich mach jetzt noch zwei für Guardian und Remote Service jeweils tar gz.

Post Reply