Python CLI for Synology DSM.
Project description
Python CLI for Synology DSM.
Dependencies
Python 2.7 or greater
PyYaml
pip install pyyaml or easy_install pyyaml
requests
pip install requests or easy_install requests
Installation
pip install syncli
OR
git clone https://github.com/singhsaysdotcom/syncli.git ~/syncli
ln -sf ~/syncli/syncli/syncli.py /usr/local/bin/syncli
Usage
Basic syntax is syncli --host <hostname> <command>
syncli handles authentication in one of two ways. You can either specify a username and password as command line options
syncli --host <hostname> --username <username> --password <password> <command>
OR
you can put them in a configuration file ~/.syncli.yaml by default. The config file is a yaml file with the following structure.
host:
username: <username>
password: <password>
Credentials provided as command line arguments override values from the configuration file, if both exist.
**IMPORTANT: ** Currently authentication sends your credentials over http in plain text, so this is not safe to use at all over a public network or the internet. syncli defaults to ‘http’ (DSM default), but you override it with --proto=https.
Currently Supported Operations
reboot : reboots the device
$ syncli --host xxxxx reboot
Done
shutdown : shuts down the device
$ syncli --host xxxxx shutdown
Done
stats : prints stats from the resource monitor.
$ syncli --host xxxxx stats
cpu: 0% loadavg: 119 115 114
mem: 7% of 1GB
info : prints out system information
$ syncli --host xxxxx info
ntpenabled : True
ramsize : 1024
usbdev : []
usbbaselevel : 1
ntpserver : ntp.xxxxxxx.xxx
satadev : []
timezone : Melbourne
version : DSM 4.2-3211
systemp : 34
systime : 2013-07-03 05:53:39
optime : 15:32:13
model : DS412+
serial : XXXXXXXXXX
systempwarn : False
list_packages : lists all packages installed via the Package Manager.
$ syncli --host xxxxx list_packages
Plex Media Server (stop)
DHCP Server (running)
CouchPotato Server (stop)
Python (running)
SABnzbd (stop)
SickBeard (stop)
available_packages : lists all packages available for installation.
$ syncli --host xxxxx available_packages
iTunes Server (1.1-2270)
VPN Server (1.1-2267)
Cloud Station (2.0-2402)
Time Backup (1.2-2278)
Surveillance Station (6.0-2636)
Mono (2.11.1-0004)
Syslog Server (2.1-2309)
...
start_package : start the named package.
$ syncli --host xxxxx --package 'Plex Media Server' start_package
Done
stop_package : stops the named package.
$ syncli --host xxxxx --package 'Plex Media Server' stop_package
Done
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file syncli-0.0.3.tar.gz
.
File metadata
- Download URL: syncli-0.0.3.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbf7bd403cb54f0e49ff1c7cfdc80f0659a3f170431b0db867a81be4dff68786 |
|
MD5 | efdc454a0e726d2c90e4aebeadbbd9f6 |
|
BLAKE2b-256 | e276cec830e62bfa7c2b90d36dde22efa6006a0245bfe7bb04f5885717b3be58 |