Skip to content

Releases: kulmi84/Google-Calendar-Backup-for-QNAP

Google Calendar Backup v1.0.3

Choose a tag to compare

@github-actions github-actions released this 04 Oct 19:34

Google Calendar Backup 1.0.3

Neu: Testwarnung senden unter Sicherung, neben Einstellungen speichern.

  • Sendet auf Knopfdruck eine klar gekennzeichnete Watchdog: TESTWARNUNG mit Schweregrad Warnung an QuLog. Verwendet denselben App-/Watchdog-Präfix wie echte Watchdog-Warnungen.
  • Die Testwarnung erscheint als Testwarnung in der dauerhaften Fehlerhistorie.
  • Die Oberfläche wartet auf die Rückmeldung des QNAP-Protokollwerkzeugs. Bei fehlendem Werkzeug, Fehler oder Zeitüberschreitung erscheint eine Fehlermeldung. Eine fehlgeschlagene Speicherung der Historie wird separat angezeigt.
  • Die Bestätigung bedeutet ausschließlich, dass die Meldung an QuLog übergeben wurde. E-Mail/Push hängen von deiner QNAP-Benachrichtigungsregel ab; die App kann deren Zustellung nicht bestätigen.
  • Einstellungen, Kalender, ICS-Dateien, letzter Sicherungslauf und Watchdog-Zustand werden durch den Test nicht verändert. Der Test startet keine Sicherung und erzeugt keinen künstlichen Kalenderausfall.

Als Update über QTS App Center manuell installieren. Danach Testwarnung senden wählen, in QuLog nach TESTWARNUNG suchen und gegebenenfalls den Eingang von E-Mail/Push prüfen. Die Regel muss die Warnungen von Google Calendar Backup berücksichtigen.

Keine zusätzlichen Ports, weiterhin ausschließlich 127.0.0.1:19884 über den angemeldeten QTS-Zugang. Helles UI, Icon und bestehende Sicherungsfunktionen bleiben erhalten. Automatisierte Tests prüfen Übergabe und Fehlerfälle; die echte QuLog-/Benachrichtigungszustellung auf dem NAS ist noch zu prüfen.

Google Calendar Backup v1.0.2

Choose a tag to compare

@github-actions github-actions released this 04 Oct 16:37

Google Calendar Backup 1.0.2

Umsetzung der ausgewählten Ideen 1, 3, 4, 5, 6, 8 und 9:

  • ICS-Inhalt prüfen: Nicht leere Dateien bis 50 MiB, vollständige BEGIN:VCALENDAR/END:VCALENDAR-Hülle, VERSION:2.0 und geschlossene Komponenten. HTML und abgebrochene Kalender werden zurückgewiesen. Auch ein leerer Kalender ohne Termine ist gültig. Dies ist eine Strukturprüfung, kein vollständiger RFC-/Restore-Test.
  • Jeden Kalender überwachen: Jede konfigurierte Zeile wird einzeln bewertet; ein erfolgreich gesicherter Kalender verdeckt fehlende Sicherungen anderer Kalender nicht. Ein Fehler stoppt die übrigen Kalender nicht.
  • Atomisches Speichern: Exklusive temporäre Datei im selben Zielordner, Prüfung und Synchronisierung vor Umbenennung zur endgültigen .ics. Ungültige Downloads ersetzen keine bestehende Sicherung. Abgebrochene HTTP-Verbindungen werden erkannt.
  • Fehlerhistorie: Die letzten 100 Fehler/Warnungen aus Sicherung, Wartung und Watchdog bleiben privat unter /etc/config/GoogleCalendarBackup/error-history/ gespeichert und sind in der Oberfläche sichtbar. Geheime URLs werden ausgeblendet. Vorhandene Textlogs werden nicht nachträglich importiert.
  • Unabhängiger Watchdog: Stündliche QTS-Cronprüfung läuft weiterhin auch bei gestopptem App-Dienst, jetzt mit derselben Inhaltsprüfung sowie Ordner-/Speicherplatzprüfung. 26-Stunden-Grenze, Anlaufzeit und tägliche Wiederholungsgrenze bleiben erhalten.
  • Speicherplatz/Zielordner prüfen: Vor jedem Download prüft die App Rechte, eine echte Schreibprobe und mindestens 60 MiB verfügbaren Platz (50 MiB maximaler Download plus 10 MiB Reserve). Der freie Platz erscheint in der Oberfläche. Gleichzeitige andere Schreibvorgänge oder Freigabequoten können dennoch später Fehler verursachen; diese werden erfasst.
  • Backup-Alter in der GUI: Pro Kalender erscheinen Zeitpunkt, Alter und aktueller/fehlender/veralteter Status. Die Dateiüberwachung funktioniert auch nach einem App-Neustart. Prüfung im Backend höchstens einmal pro Minute, zusätzlich nach Konfigurationsänderung und Sicherung.

Das helle UI und Icon bleiben erhalten. Keine zusätzlichen Ports: weiterhin ausschließlich 127.0.0.1:19884 über den QTS-Proxy. Verpasste Läufe werden nicht automatisch nachgeholt. Es gibt keinen neuen Aktivierungsschalter; die Funktionen werden beim Update automatisch genutzt.

Installation: Als Update über QTS App Center manuell installieren, Jetzt sichern ausführen und die Angaben bei allen Kalendern sowie den Zielordner prüfen. Automatisierte Tests und QDK-Paketprüfung ersetzen keine Prüfung der neuen Funktionen auf dem tatsächlichen QTS-NAS. Für E-Mail/Push bleibt eine passende QNAP-Benachrichtigungsregel nötig.

Google Calendar Backup v1.0.1

Choose a tag to compare

@github-actions github-actions released this 04 Oct 15:31

Google Calendar Backup 1.0.1

Neu: unabhängiger Watchdog für die tägliche Sicherung.

  • Eine separate QTS-Cronaufgabe prüft stündlich zur Minute 15 jeden konfigurierten Kalender. Sie benötigt den laufenden App-Dienst nicht.
  • Fehlt eine lesbare ICS-Sicherung aus den letzten 26 Stunden, meldet der Watchdog eine Warnung im QNAP-Systemprotokoll (QuLog). Neue Kalender ohne Sicherung erhalten zunächst 26 Stunden Anlaufzeit.
  • Warnungen werden höchstens einmal täglich je Kalender wiederholt. Nach erfolgreicher Sicherung wird eine Entwarnung protokolliert.
  • Unlesbare Zielordner und mehrdeutige Kalender-Dateinamen werden ebenfalls gemeldet. Unfertige, leere und fremde Dateien zählen nicht als Sicherung.
  • Beim Entfernen des QPKG wird nur dessen markierte Watchdog-Cronaufgabe entfernt. Die alte, manuell angelegte Sicherungsaufgabe wird nicht wieder eingerichtet.

Die bisherigen Funktionen, das helle UI und das Kalender-Icon bleiben erhalten. Der Node-Dienst lauscht weiterhin ausschließlich auf 127.0.0.1:19884; keine zusätzlichen Ports.

Installation: QPKG über QTS App Center manuell als Update installieren. Kalender und Zielordner kontrollieren, Jetzt sichern ausführen und QuLog prüfen. Eine QNAP-Benachrichtigungsregel ist erforderlich, wenn Warnungen zusätzlich per E-Mail oder Push zugestellt werden sollen. Der Watchdog überwacht auch bei gestoppter/deaktivierter App weiter; für längere absichtliche Pausen entstehen entsprechend Warnungen.

Automatisierte Tests und der QDK-Build prüfen die Umsetzung; die neue Cron-/QuLog-Integration muss nach dem Update auf dem tatsächlichen QTS-NAS überprüft werden. Der Watchdog ist kein Wiederherstellungstest und kann bei ausgeschaltetem NAS oder ausgefallenem QTS-Crond keine Meldung erzeugen.

Google Calendar Backup v1.0.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 19:36

Google Calendar Backup 1.0.0 Stable

First stable version for QNAP QTS on x86_64, based on version 0.1.16 successfully tested on the user's QNAP. Public publication approved by the user on 2026-10-03.

Changes since 0.1.16

  • Promote the tested application to version 1.0.0 Stable.
  • Align application and QPKG version metadata, README, changelog and release documentation.
  • Publish the reviewed stable GitHub release with the QPKG installer and SHA-256 checksum.
  • Retain application behavior, bundled Node.js runtime and complete license notices from 0.1.16. No new application features or behavior changes are introduced.

Features

Back up multiple private Google Calendars as timestamped ICS snapshots, manually or on a daily schedule, with configurable retention, QNAP folder selection, backup status and QuLog messages. Access uses the authenticated QTS proxy; the backend binds only to localhost.

Download and installation

Requires QTS 5.1.0+ on x86_64. Install GoogleCalendarBackup_1.0.0_x86_64.qpkg through QNAP App Center → Manuell installieren / Install Manually. The adjacent .qpkg.sha256 file contains its SHA-256 checksum. GitHub source ZIP/TAR archives are not installers.

Upgrades retain configuration under /etc/config/GoogleCalendarBackup. Launch through QTS, check calendars and target folder, run Jetzt sichern, and inspect the generated ICS files.

The community package is not digitally signed by QNAP; review the relevant App Center setting if QTS blocks installation.

Verification

The user confirmed successful operation of 0.1.16 on the QNAP. The 1.0.0 workflow runs Linux application tests, verifies the downloaded runtime checksum, builds with QDK 2.5.3 and checks required payload files, embedded version and license notices. Application tests and QPKG build and package verification completed successfully. The newly numbered 1.0.0 package has not yet been separately tested on the NAS.

Known limitations

  • ARM and QuTS hero remain unverified.
  • Scheduling uses NAS local time and does not catch up missed runs.
  • Folder selection cannot apply the signed-in QTS user's individual share permissions. Restrict app access to trusted users and protect the backup folder.
  • ICS snapshots omit account settings and sharing permissions; automatic restore is not provided.

Application license: MIT. Bundled Node.js retains its own license notices. Independent community project, without QNAP or Google affiliation.

Google Calendar Backup v0.1.15

Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Oct 09:30

Installable x86_64 QPKG for QNAP QTS. Built and verified with QDK.

Google Calendar Backup v0.1.14

Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Sep 11:47

Installable x86_64 QPKG for QNAP QTS. Built and verified with QDK.

Google Calendar Backup v0.1.8

Pre-release

Choose a tag to compare

@kulmi84 kulmi84 released this 27 Sep 08:06

Behobener Fehler

  • Die QNAP-Ordnerauswahl erreicht den Dienst jetzt zuverlässig über den QTS-Proxy.
  • /share-Pfade werden per POST übertragen und nicht mehr als URL-Teil fehlinterpretiert.
  • Ein alter Node-Prozess wird nach einem Update anhand der Paketversion erkannt und sauber ersetzt.
  • API-Pfade mit abschließendem Slash werden ebenfalls akzeptiert.

Sicherheit

  • Der Dienst lauscht weiterhin ausschließlich auf 127.0.0.1.
  • Zugriff nur über den angemeldeten QTS-Proxy.

System: QTS 5.x, x86_64 (z. B. TS-673A)

Google Calendar Backup v0.1.7

Pre-release

Choose a tag to compare

@kulmi84 kulmi84 released this 27 Sep 07:43

Behobene Fehler

  • Behebt „Service Unavailable“ durch robuste Erkennung der mitgelieferten Node-Runtime
  • Wartet beim Paketstart auf einen erfolgreichen lokalen Health-Check
  • Schließt den versehentlich wieder offenen LAN-Zugriff: Dienst lauscht ausschließlich auf 127.0.0.1
  • Zugriff nur über den angemeldeten QTS-Proxy; kein zusätzliches App-Passwort

Außerdem neu

  • Sicherer QNAP-Ordnerbrowser für Freigaben und Unterordner
  • Gewünschtes „31“-Kalenderlogo als Web-, App-Center- und Desktop-Icon
  • Korrekte ID-Erzeugung beim Speichern neuer Kalender

System: QTS 5.x, x86_64 (z. B. TS-673A)

Google Calendar Backup v0.1.5

Pre-release

Choose a tag to compare

@kulmi84 kulmi84 released this 27 Sep 07:10

Änderungen

  • Behebt „Service Unavailable“ durch robuste Erkennung der mitgelieferten Node-Runtime
  • Prüft den Dienststart mit einem echten lokalen Health-Check
  • Neuer sicherer QNAP-Ordnerbrowser für Freigaben und Unterordner
  • „31“-Kalenderlogo jetzt auch als QNAP-App- und Desktop-Icon
  • Behebt die ID-Erzeugung beim Speichern neu angelegter Kalender
  • Zugriff weiterhin ausschließlich über den angemeldeten QTS-Proxy; kein offener LAN-Port

System: QTS 5.x, x86_64 (z. B. TS-673A)

Google Calendar Backup for QNAP 0.1.3

Pre-release

Choose a tag to compare

@kulmi84 kulmi84 released this 26 Sep 19:12

QTS proxy compatibility fix.

  • CSS and JavaScript are embedded directly in the delivered page
  • No separate web assets can be blocked by the QTS proxy
  • API path is derived from the actual QTS app URL
  • Service remains restricted to 127.0.0.1
  • Existing calendars and settings are retained

The .qpkg asset can be installed directly in App Center. The ZIP is provided as an alternative.