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.

Source Distribution

synology-srm-0.2.3.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

synology_srm-0.2.3-py2.py3-none-any.whl (8.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file synology-srm-0.2.3.tar.gz.

File metadata

  • Download URL: synology-srm-0.2.3.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for synology-srm-0.2.3.tar.gz
Algorithm Hash digest
SHA256 44a01dcf589666c13f7b693e7a290537aa0438a50aefd24d5df46c9a13a4e8f3
MD5 05bbd45f88d8872161fe0f8906b06b60
BLAKE2b-256 9b0c01b048e03552a985dad3a01482134f1b2a0bf07cd403c5da075463218f15

See more details on using hashes here.

File details

Details for the file synology_srm-0.2.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for synology_srm-0.2.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 84616df3db4b3ea85ee741654d0bafbc5f8c92acb2a362725b50517413513639
MD5 45c57b38c50357583c4f704ade501848
BLAKE2b-256 dd24bee55704523e6966f3142c259be69bb1efc39796b1e719b6dc3d47e434c5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page