Version prüfen
Version prüfen
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
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.
Re: Version prüfen
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.
Re: Version prüfen
Alles klar, habe nun mir mal ein Jenkins CI eingerichtet. War ein wenig Aufwand aber es sollte nun automatisch funktionieren 

Re: Version prüfen
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:
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)
Re: Version prüfen
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.
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.
Re: Version prüfen
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
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

Re: Version prüfen
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.
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.
Re: Version prüfen
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
)
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
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

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

Re: Version prüfen
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:
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}
Re: Version prüfen
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.
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.