napalm-zyxel
NAPALM driver for Zyxel VMG series residential gateways (VMG4005-B50A and similar), built on
napalm-device-types
(ResidentialGatewayDriver).
Tested against
| Model | Firmware |
|---|---|
| not recorded yet | not recorded yet |
Connection
The gateway's web API (the Zyxel DAL protocol) over HTTP on port 80, or HTTPS on port 443
with use_tls. The driver fetches the gateway's RSA public key, sends a fresh AES key
encrypted with it, and logs in with the web interface account; every request and response
after that is AES-encrypted.
from napalm import get_network_driver
driver = get_network_driver("zyxel")
with driver("192.0.2.1", "admin", "secret", optional_args={"use_tls": True}) as device:
print(device.get_facts())
| Optional argument | Default | Meaning |
|---|---|---|
use_tls |
False |
HTTPS instead of HTTP |
port |
443 with use_tls, else 80 |
port of the web interface |
verify |
False |
verify the gateway's TLS certificate |
Supported
| Getter / action | Source |
|---|---|
get_facts |
basic device information |
get_interfaces, get_interfaces_ip |
basic device information (WAN, LAN, Wi-Fi) |
get_arp_table |
derived from the active LAN hosts |
get_wan_status |
basic device information |
get_hosts |
DAL LAN_HOSTS, else the DHCP page |
get_port_forwards, get_nat_translations |
DAL NAT_PORTMAP, else the status page |
get_wireless_clients, get_ssids, get_radio_status |
DAL, else the wireless page |
get_diagnostics |
DAL DIAGNOSTICS |
ping |
DAL PINGTEST |
is_alive |
TCP connect to the web port |
reboot_host |
DAL REBOOT |
restart_wifi |
DAL WIFI_RESTART |
Not supported
Configuration changes (load_merge_candidate and load_replace_candidate raise
NotImplementedError), get_config, LLDP, BGP, NTP, SNMP, users, routes, MAC address
table, optics, environment, traceroute, VPN tunnels and the CLI.
Development
The rules are in STANDARDS.md.
python -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/pytest --cov
License
Apache-2.0
Metadata
Release files for napalm-zyxel 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| napalm_zyxel-0.3.0.tar.gz | 17.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| napalm_zyxel-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.0 kB
Release files / napalm_zyxel-0.3.0.tar.gz
| Download URL | napalm_zyxel-0.3.0.tar.gz |
|---|---|
| Size | 17.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a4ee207f1a7b3d4d75770ddf581d69cd29027bb160f545d63b83af451ad16bae
|
|
BLAKE2b-256 checksum How to use checksums |
a4ff73d8225e8fa1fbecefab8946f9e3e50d14cd8f9ff02d6029ff350806897c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / napalm_zyxel-0.3.0-py3-none-any.whl
| Download URL | napalm_zyxel-0.3.0-py3-none-any.whl |
|---|---|
| Size | 14.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e219ff80a9fa03bc89d54b76b893c5b94eca572739e0695cd36e30a0ab328c2c
|
|
BLAKE2b-256 checksum How to use checksums |
38466da91d00b2b2adf540baa92f00cad65901de82c275de47149fbd8cfc1eef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Security for napalm-zyxel 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.