Synology NAS Python API
Synology Python API
Questo articolo va un pò fuori tema in quanto tratta di un modulo scritto da me in Python 3 per, chi lo conosce, il nostro amato Synology NAS.
Il NAS nell'immagine è solo di esempio in quanto il modulo funzionerà con tutti i modelli della serie DS.
Il Synology è un NAS per casa e ufficio facile da usare, accessibile ovunque ti trovi grazie alla sua interfaccia facile da capire e impostare.
DS218J uno dei tanti modelli disponibili |
Il Synology è un NAS per casa e ufficio facile da usare, accessibile ovunque ti trovi grazie alla sua interfaccia facile da capire e impostare.
Se usi molto python, per la precisione python 3, e ti piace creare script o applicazioni con questo linguaggio di programmazione, in più se possiedi un NAS di questo genere, questo modulo potrebbe fare al tuo caso.
link al modulo:
https://github.com/N4S4/synology-api
link al modulo:
https://github.com/N4S4/synology-api
Tutte le istruzioni sono incluse nella pagina su Github, purtroppo in Inglese per renderlo accessibile a chiunque, qui spiegherò genericamente l'installazione e funzioni disponibili in questo modulo.
Per cominciare:
Se sei su questa pagina assumo che tu abbia già qualche familiarità con python.
Ci sono due metodi per installare questo modulo, quella più facile è tramite pip install, nel caso non hai idea di cosa sia prima leggi questo post.
da terminale:
pip3 install git+https://github.com/N4S4/synology-api
se sei su windows:
oppure puoi scaricare manualmente il pacchetto ed estrarlo nella cartella che preferisci, py -3 -m pip install git+https://github.com/N4S4/synology-api
da terminale spostati nella cartella del modulo:
cd percorso/del/modulo
una volta nella cartella esegui il comando:
python3.x setup.py install
Su windows:
py -3 setup.py install
Fatto ciò siamo pronti per usare il modulo per gli scopi più svariati (entro il limite delle funzioni),
ci sono molte funzioni disponibili in questo modulo e continuerò ad aggiunge e aggiornare le funzioni.
le app con cui si può interagire (per ora) sono:
- SysInfo
- FileStation
- DownloadStation
- AudioStation
- Backup
- Virtualization
per usare il modulo basta basta importarlo:
import synology_api
una volta importato bisognerà inizializzare la classe:
ora si possono usare tutte le funzioni relative alla classe FileStation ad esempio:
Non elencherò tutte le funzioni qui in quanto penso sia già esaustivo leggere la descrizione del modulo su Github.
Ovviamente per qualsiasi informazione, dubbio o problema potete lasciare un commento.
Nel caso hai familiarità con la piattaforma Github e vuoi contribuire o segnalare errori non esitare a farlo tramite la stessa.
fl = filestation.FileStation('Synology Ip', 'Synology Port', 'Username', 'Password')
ora si possono usare tutte le funzioni relative alla classe FileStation ad esempio:
fl.get_info()
Non elencherò tutte le funzioni qui in quanto penso sia già esaustivo leggere la descrizione del modulo su Github.
Ovviamente per qualsiasi informazione, dubbio o problema potete lasciare un commento.
Nel caso hai familiarità con la piattaforma Github e vuoi contribuire o segnalare errori non esitare a farlo tramite la stessa.
Hi,
RispondiEliminawe are using a Syno and i need to create reports to know which users have access to which shared folders.
With your API, we'll i be able to extract for each folders the Ldap Users and groups having access ?
Best regards,
Pat
Hi Pat,
EliminaAt the moment the functions are still limited, read the full description in the readme file of the repository on github...maybe you may find something interesting for your use.
Also there is a heavy job in progress which add new functionalities and improve speed performance.. maybe in the nearest future I will add some more functs