Skip to main content

Python console for unbound

Project description

Build Testing Pypi

Python console for unbound server

Table of contents

Installation

python 3.13.x python 3.11.x python 3.10.x

This module can be installed from pypi website.

This command will install the module with yaml support for loading zone data.

pip install unbound_console[yaml]

If loading a zone using yaml is not required use the following command, zone data can instead be loaded through the LocalZone object:

pip install unbound_console

Remote Control on Unbound

unbound 1.22.x unbound 1.21.x unbound 1.20.x unbound 1.19.x

Before to use this utility. You must activate the remote control on your unbound server. See config file example.

Execute command

You can execute commands with the function send_command. See nlnetlabs documentations for the full list of available commands.

  • Import the module in your code
from unbound_console import RemoteControl

An asyncio implementation is available, use RemoteControlAsync instead.

  • Configure the remote control client with tls support. You can also provide a unix socket unix_sock="/var/run/unbound-console.sock".
rc = RemoteControl(host="127.0.0.1", port=8953,
                   server_cert = "/etc/unbound/unbound_server.pem",
                   client_cert= "/etc/unbound/unbound_control.pem",
                   client_key= "/etc/unbound/unbound_control.key")
  • Execute a command and get output
o = rc.send_command(cmd="status")
print(o)

Loading zone from YAML file

YAML zone definition example:

This requires installing unbound_console with yaml support

zone:
  name: home.
  type: static
  records:
    - "router.home. 86400 IN A 192.168.0.1"
    - "192.168.0.1 86400 IN PTR router.test."

Call load_zone with the yaml file to load-it in your unbound server.

o = rc.load_zone(zone_data='<yaml content>')
print(o)

Loading zone from "LocalZone" object

Example loading from a LocalZone object:

from unbound_console import LocalZone

zone = LocalZone(
    name="home",
    type="static",
    records=[
      "router.home. 86400 IN A 192.168.0.1",
      "192.168.0.1 86400 IN PTR router.test.",
    ],
)
o = rc.load_zone(zone_data=zone)
print(o)

Execute bulk command

domains_bulk = []
domains_bulk.append( "www.google.com always_nxdomain")

o = rc.send_command(cmd="local_zones", data_list=domains_bulk)
print(o)

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

unbound_console-0.6.6.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unbound_console-0.6.6-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file unbound_console-0.6.6.tar.gz.

File metadata

  • Download URL: unbound_console-0.6.6.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for unbound_console-0.6.6.tar.gz
Algorithm Hash digest
SHA256 3d4e69b0479ae0347dce29a01cf7b41cd229374e0d268378f6e95f266d3fb541
MD5 e60f5395b658adf6fbf025f2c50e73ec
BLAKE2b-256 be5d9650647e3c9a3b4476779875cfbc94215eca29f66bf552a62188a7c624b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for unbound_console-0.6.6.tar.gz:

Publisher: publish.yml on dmachard/python-unbound-console

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unbound_console-0.6.6-py3-none-any.whl.

File metadata

File hashes

Hashes for unbound_console-0.6.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6aa4669d4e522bfa6dadb63d9f6a921d44f0a0b938c3ea2e2300223e280f70dd
MD5 d04bab0abac92a797f3a6fb220ce3900
BLAKE2b-256 7cc9b90355e2a40c8461ada5861096d358a5e3301135bca06313f7a8f841f139

See more details on using hashes here.

Provenance

The following attestation bundles were made for unbound_console-0.6.6-py3-none-any.whl:

Publisher: publish.yml on dmachard/python-unbound-console

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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