Updates the Dynamic DNS (DDNS) record for a given subdomain and domain using the Dynu API
Project description
Updates the Dynamic DNS (DDNS) record for a given subdomain and domain using the Dynu API
Tested against Windows 10 / Python 3.10 / Anaconda
pip install dynuipv4update
Update the Dynamic DNS (DDNS) record for a given subdomain and domain using the Dynu API ( https://www.dynu.com/ ).
This function sends a request to the Dynu API to update the IP (v4 only!!) address associated with
the specified subdomain and domain using the provided credentials. It can be used as a
one-time call or as a background thread that periodically updates the IP address.
Args:
apikey (str): The API key for authentication with the Dynu API.
subdomain (str): The subdomain to update (e.g., 'bububaba' in 'bububaba.ddnsfree.com').
domain (str): The domain to update (e.g., 'ddnsfree.com').
password (str): The password for authentication with Dynu, used to generate a password hash.
as_thread (bool, optional): If True, run the update as a background thread. Default is True.
frequency (int, optional): The frequency (in seconds) at which to update the IP address.
Ignored if as_thread is False. Default is 30 seconds.
print_update (bool, optional): If True, print updates when the IP address is changed.
Ignored if as_thread is False. Default is True.
Returns:
If as_thread is True, returns a thread object representing the background update task.
If as_thread is False, returns the current IP address for the specified subdomain and domain.
Example:
subdomain = r"bababu"
domain = "ddnsfree.com"
apikey = "xxxxxx"
sleep_ip_update = 30
dyn_password = r"xxxxx"
# one time call
updatedip = update_dynamic_dns(
apikey=apikey,
subdomain=second_level_domain,
domain=top_level_domain,
password=dyn_password,
as_thread=False,
frequency=30,
print_update=True,
)
print(updatedip)
# as thread
update_dynamic_dns(
apikey=apikey,
subdomain=second_level_domain,
domain=top_level_domain,
password=dyn_password,
as_thread=True,
frequency=30,
print_update=True,
)
print(
ipconfig.allipscans[f"{second_level_domain}.{top_level_domain}"]
) # ips are stored here when you use as_thread=True
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
dynuipv4update-0.12.tar.gz
(8.3 kB
view details)
Built Distribution
File details
Details for the file dynuipv4update-0.12.tar.gz
.
File metadata
- Download URL: dynuipv4update-0.12.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b082f3c11a99bec91c32b14be9e52a9fe5b2f1bf2a4ae1cc3e6c71d04e6d3c33 |
|
MD5 | 0eae42f3e4b34d80622e50235512b4d8 |
|
BLAKE2b-256 | 0928dc7c237437159dc23c3e948043d6b6267860102b752491a2dba7adc366ff |
File details
Details for the file dynuipv4update-0.12-py3-none-any.whl
.
File metadata
- Download URL: dynuipv4update-0.12-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9408a4436203b8ee068b3c6e05adaed90e3919d1ba51cded77a595b0eae7c18d |
|
MD5 | 663de5b37de3646029509c4279c633fe |
|
BLAKE2b-256 | 3c13ce510ca93f59362b9e39a1a99a9ce13a3f20314765458729128138fa874b |