DSM7DemoSPK DSM7DemoSPK - Paket Entwickler Demo für DSM 7

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.148
Punkte für Reaktionen
1.113
Punkte
314

DSM7DemoSPK

Paket Entwickler Demo für DSM 7​

Mit der „DSM 7 Paket Entwickler Demo“ möchte ich allen ambitionierten als auch zukünftigen 3rd-Party Entwicklern eine mögliche Plattform für die Paketentwicklung des DiskStation Manager 7 von Synology anbieten. Dieses Framework basiert dabei auf der jeweils aktuellen, im DSM implementierten BASH Version sowie der textbasierten Auszeichnungssprache HTML. Weitere Script- und/oder Programmiersprachen wie CSS, JavaScript, AJAX, jQuery, Python, Perl etc. sind möglich, kommen hier jedoch nicht zum Einsatz. Grundlegende Abfragen und Routinen, um einen sicheren und reibungslosen Betrieb innerhalb des DSM zu gewährleisten, sind bereits implementiert und in den Scripten entsprechend kommentiert. Dazu gehört u.a. ...
  • Systemberechtigungen (Privilegien)
    Mit Einführung von DSM 7 erhält eine Anwendung (im folgenden App genannt) nur noch dann root Berechtigungen, wenn Synology dies explizit genehmigt. In allen anderen Fällen ist eine App dazu gezwungen, ihre Privilegien so weit zu senken, das diese nur noch mit stark eingeschränkten Benutzer- und Gruppenrechten auskommen muss. Um diese restriktiven Privilegien ein wenig zu lockern, besteht die Möglichkeit, die App in weitere Gruppen, wie z.B. der Gruppe der Administratoren aufzunehmen. Eine entsprechende Funktion zum hinzufügen bzw. entfernen wurde in die App integriert und kann optional über ein kleines Script angepasst und ausgeführt werden.

  • GET-/POST-Request Engine
    Implementierung einer GET-/POST-Request Engine um anfallende Formulardaten, Parameterübergaben und Seitenaufrufe zu verarbeiten, wobei sämtliche Formulardaten über die POST-Methode, an Links angegangene Variablen über die GET-Methode übertragen werden. Aus Gründen der Sicherheit werden alle übertragenen Variablen intern durch ein assoziatives Array maskiert bevor diese weiterverarbeitet werden.

  • Spracheinstellungen
    Die GUI ist für Mehrsprachigkeit ausgelegt und wird der Systemsprache des DSM angepasst.

Systemvoraussetzungen​

DSM7DemoSPK wurde speziell für die Verwendung auf Synology NAS Systemen entwickelt die das Betriebsystem DiskStation Manager 7 oder höher verwenden.

Installationshinweise​

Informationen zur Installation und Konfiguration findet ihr aktuell nur auf meinem GitHub Repository unter https://github.com/toafez/DSM7DemoSPK. Zukünftig sollen diese Information auch an dieser Stelle angeboten werden.

Lizenz​

DSM7DemoSPK unterliegt der GNU GENERAL PUBLIC LICENCE Version 3 von 29. Juni 2007 und wird somit lizenzkostenfrei angeboten. Eine Haftung (auch bei möglichen Datenverlusten durch die Software) wird grundsätzlich ausgeschlossen. Hierzu ein Auszug aus der GPL3 (ins deutsche übersetzt)...

Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version.

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK.

Weitere Einzelheiten finden Sie in der GNU General Public License. Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, siehe http://www.gnu.org/licenses/

Tommes
 
Zuletzt bearbeitet:

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.148
Punkte für Reaktionen
1.113
Punkte
314
Für alle, die es interessiert...

Ich habe ein paar Änderungen im Repository DSM7DemoSPK vorgenommen. Unter anderem hat man nun die Möglichkeit, den Paketordner, den Paketnamen, den Maintrainer sowie den Copyright Hinweis senen Wünschen nach anzupassen. In einem weiteren Schritt hat man außerdem die Wahl, ob man das SPK über ein von mir selbstgeschriebenes Script, oder man mittels dem toolkit/toolchain, so wie im Synology DSM 7.0 Developer Guide beschrieben, packen lassen möchte. Für letzteres wurden alle nötigen Dateien und Änderungen den Repo hinzugefügt.

Vielleicht mag das irgendwann ja mal jemand testen und ggf.Feedback geben, ob alles funktioniert.

Tommes
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.148
Punkte für Reaktionen
1.113
Punkte
314
Für alle, die es interessiert...

Ich habe das Demo-SPK mal auf den neusten Stand gebracht. Durch die Umstellung auf die iFrame Unterstützung konnte ich einige Authentifizierungsabfragen entfernen, da diese nun nicht mehr benötigt werden. Dafür können sich jetzt auch Domain und LDAP-Benutzer gegenüber der App authentifizieren, was zuvor nur lokalen DSM-Benutzerkonten vorbehalten war. Die Sicherheit der App ist weiterhin gewährleistet.

Resultierend aus den grade erwähnten Anpassungen gelten die nachfolgenden Texte in der o.a. App-Beschreibung nicht mehr. (Falls ein Mod hier mitliest, darf er den Text gerne aus dem ersten Beitrag entfernen)
  • Anwendungsberechtigungen (SynoToken)
    Ist in der DSM Systemsteuerung der „Schutz gegen Cross-Site Request Forgery Attacken verbessern“ aktiviert, müssen sich DSM Apps am System mit einen entsprechenden Token (Synology nennt ihn SynoToken) authentifizieren. Ist das der Fall, wird der SynoToken innerhalb der App ausgewertet und mit dem QUERY_STRING SynoToken=[token] an die URL angehangen.

  • Benutzerberechtigung (Authentifizierung)
    Des Weiteren wird geprüft, ob ein, am DSM angemeldeter Benutzer existiert, ob dieser der Gruppe der Administratoren angehört und privilegiert ist, die App zu nutzen.
Anmerkung: Der SynoToken wird dank der iFrame Unterstützung automatisch vom System ausgewertet und an die URI gehangen, sollte der „Schutz gegen Cross-Site Request Forgery Attacken verbessern“ aktiviert sein.

Weiterhin viel Spaß

Tommes
 
  • Like
Reaktionen: geimist


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat