Skip to main content

Access Netgear routers using their SOAP API

Project description

pyNetgear

pipeline status

pyNetgear provides an easy to use Python API to control your Netgear router. It uses the SOAP-api on modern Netgear routers to communicate. It is built by reverse engineering the requests made by the NETGEAR Genie app.

pyNetgear works with Python 2 and 3.

If you are connected to the network of the Netgear router, a host is optional. If you are connected via a wired connection to the Netgear router, a password is optional. The username defaults to admin. The port defaults to 5000. The ssl defaults to false. You can specify url and it will take precedence on host/port/ssl parameters. This allows the use of HTTPS, https://orbilogin.com for example.

It currently supports the following operations:

login
Logs in to the router. Will return True or False to indicate success.

get_attached_devices
Returns a list of named tuples describing the device signal, ip, name, mac, type, link_rate and allow_or_block.

get_attached_devices_2
Returns a list of named tuples describing the device signal, ip, name, mac, type, link_rate, allow_or_block, device_type, device_model, ssid and conn_ap_mac.

This call is slower and probably heavier on the router load.

get_traffic_meter
Return a dict containing the traffic meter information from the router (if enabled in the webinterface).

allow_block_device
Allows user to block/unblock devices from accessing router by specifying mac_addr and new device_status (Block/Allow) Note: In order to use this function, Remote Management must be enabled in the router's admin settings.

Installation

You can install PyNetgear from PyPi using pip3 install pynetgear (use pip if you're still using Python 2).

Usage

To test run from the console: $ python -m pynetgear [<pass>] [<host>] [<user>] [<port>] [<ssl>]

To use within your Python scripts:

from pynetgear import Netgear

netgear = Netgear(password=mypassword)

for i in netgear.get_attached_devices():
    print i

Supported routers

It has been tested with the Netgear R6300 router and the Netgear WNDR4500 router. According to the NETGEAR Genie app description, the following routers should work:

  • Netgear Orbi
  • Netgear R7800
  • Netgear R7500v2 (Port 80)
  • Netgear R7000
  • Netgear R6900
  • Netgear R6300
  • Netgear R6250
  • Netgear R6200
  • Netgear R6100
  • Netgear N300 - Model: C3000 (Port 80)
  • Netgear Centria (WNDR4700, WND4720)
  • Netgear WNDR4500
  • Netgear WNDR4300
  • Netgear WNDR4000
  • Netgear WNDR3800
  • Netgear WNDR3700v3
  • Netgear WNDR3700v2
  • Netgear WNDR3400v2
  • Netgear WNR3500Lv2
  • Netgear WNR2200
  • Netgear WNR2000v3
  • Netgear WNR2000v4 (Port 80)
  • Netgear WNR1500
  • Netgear WNR1000v2
  • Netgear WNR1000v3
  • Netgear WNDRMAC
  • Netgear WNR612v2

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

pynetgear-0.9.2.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

pynetgear-0.9.2-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file pynetgear-0.9.2.tar.gz.

File metadata

  • Download URL: pynetgear-0.9.2.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.1

File hashes

Hashes for pynetgear-0.9.2.tar.gz
Algorithm Hash digest
SHA256 fc24c5991ca9048f88e6c3ddf73463aa3fd7c4d53a87c6b5ad21462a5d5980fb
MD5 1f383184a8b0db00a2f1a4e024420cae
BLAKE2b-256 4a3189e3f1a2c3a384a07c13d816a69a19d29066b50cf8b8446c70319ac10ca4

See more details on using hashes here.

Provenance

File details

Details for the file pynetgear-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: pynetgear-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.1

File hashes

Hashes for pynetgear-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 758aff8524b81a000745ed9a8775176138da614f4d50078c2240ee20d9be0fc4
MD5 5403398d9055e39c3ff77cc9f10f078a
BLAKE2b-256 d906c1b917907580f9040e0bb23e67b894ca49b6869a9d339c6e5f1226141bf1

See more details on using hashes here.

Provenance

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