Python console for unbound
Project description
Python console for unbound server
Table of contents
- Installation
- Remote Control on Unbound
- Execute command
- Loading zone from YAML file
- Loading zone from "LocalZone" object
- Execute bulk command
Installation
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
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
RemoteControlAsyncinstead.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d4e69b0479ae0347dce29a01cf7b41cd229374e0d268378f6e95f266d3fb541
|
|
| MD5 |
e60f5395b658adf6fbf025f2c50e73ec
|
|
| BLAKE2b-256 |
be5d9650647e3c9a3b4476779875cfbc94215eca29f66bf552a62188a7c624b4
|
Provenance
The following attestation bundles were made for unbound_console-0.6.6.tar.gz:
Publisher:
publish.yml on dmachard/python-unbound-console
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
unbound_console-0.6.6.tar.gz -
Subject digest:
3d4e69b0479ae0347dce29a01cf7b41cd229374e0d268378f6e95f266d3fb541 - Sigstore transparency entry: 804371303
- Sigstore integration time:
-
Permalink:
dmachard/python-unbound-console@7a1078b197b3a8947651efe08c53cf938ba2e6c1 -
Branch / Tag:
refs/tags/v0.6.6 - Owner: https://github.com/dmachard
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7a1078b197b3a8947651efe08c53cf938ba2e6c1 -
Trigger Event:
release
-
Statement type:
File details
Details for the file unbound_console-0.6.6-py3-none-any.whl.
File metadata
- Download URL: unbound_console-0.6.6-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6aa4669d4e522bfa6dadb63d9f6a921d44f0a0b938c3ea2e2300223e280f70dd
|
|
| MD5 |
d04bab0abac92a797f3a6fb220ce3900
|
|
| BLAKE2b-256 |
7cc9b90355e2a40c8461ada5861096d358a5e3301135bca06313f7a8f841f139
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
unbound_console-0.6.6-py3-none-any.whl -
Subject digest:
6aa4669d4e522bfa6dadb63d9f6a921d44f0a0b938c3ea2e2300223e280f70dd - Sigstore transparency entry: 804371305
- Sigstore integration time:
-
Permalink:
dmachard/python-unbound-console@7a1078b197b3a8947651efe08c53cf938ba2e6c1 -
Branch / Tag:
refs/tags/v0.6.6 - Owner: https://github.com/dmachard
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7a1078b197b3a8947651efe08c53cf938ba2e6c1 -
Trigger Event:
release
-
Statement type: