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.10.tar.gz
(8.4 kB
view details)
Built Distribution
File details
Details for the file dynuipv4update-0.10.tar.gz
.
File metadata
- Download URL: dynuipv4update-0.10.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dacf297be8070aae22e88275ec1537adf4a3d95e6e6b9841414dc441aaf55e46 |
|
MD5 | 148d64d0d773fdfc15b5274b23b60fdd |
|
BLAKE2b-256 | 2be60f4d34424ff991a716b8fe46f22a161d30c1379528e0786bbd725cf34083 |
File details
Details for the file dynuipv4update-0.10-py3-none-any.whl
.
File metadata
- Download URL: dynuipv4update-0.10-py3-none-any.whl
- Upload date:
- Size: 10.3 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 | 239d528b9d6d4dc36e8f0a246bd73dba45b826a4c7fabd9ef78efee3d56182e8 |
|
MD5 | a59943442a15601066d58fbd082d04dc |
|
BLAKE2b-256 | 7da236ba7c96eb2948b8145f1fdb2b6e5da508a8f2bb4d1cd2d6a1b93835269d |