Skip to main content

Synology SRM API

Project description

Synology SRM API

Build status PyPi version PyPI pyversions

Python 3 library to use the Synology SRM (Synology Router Manager) API. This is NOT the same thing as Synology DSM (DiskStation Manager).

This library should work with the following devices.

  • RT1900ac
  • RT2600ac

It's not possible to create another account in SRM with admin permissions. You'll need to use your admin account (or the one you renamed at creation).

Usage

import synology_srm

client = synology_srm.Client(
    host='192.168.1.254',
    port=8001,
    https=True,
    username='admin',
    password='admin',
)

You can now access all namespaces from the API. The following methods are availabe.

  • Base
    • getinfo_encryption()
    • query_info()
  • Core
    • list_ddns_extip()
    • list_ddns_record()
    • get_system_utilization()
    • get_network_nsm_device(filters={})
    • get_ngfw_traffic(interval=live|day|week|month)
    • list_certificate()
    • export_certificate(path=certificate.zip)
  • Mesh
    • get_network_wanstatus()
    • get_network_wifidevice()
    • get_system_info()

For instance, to list all endpoints available in the API.

endpoints = client.base.query_info()

for endpoint, config in endpoints.items():
    print("API endpoint {} (minVersion={}, maxVersion={})".format(
        endpoint,
        config['minVersion'],
        config['maxVersion'],
    ))

Manual endpoints

It's possible to target endpoints not directly supported by this library by using the raw http client.

response = client.http.call(
    endpoint='entry.cgi',
    api='SYNO.Core.System.Utilization',
    method='get',
    version=1,
)

HTTPS auto-signed certificate

You can disable the HTTPS certificate verification if you are using a self-signed certificate.

client.http.disable_https_verify()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for synology-srm, version 0.2.2
Filename, size File type Python version Upload date Hashes
Filename, size synology_srm-0.2.2-py2.py3-none-any.whl (8.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size synology-srm-0.2.2.tar.gz (7.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page