Skip to main content

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


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)

Uploaded Source

Built Distribution

dynuipv4update-0.12-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

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

Hashes for dynuipv4update-0.12.tar.gz
Algorithm Hash digest
SHA256 b082f3c11a99bec91c32b14be9e52a9fe5b2f1bf2a4ae1cc3e6c71d04e6d3c33
MD5 0eae42f3e4b34d80622e50235512b4d8
BLAKE2b-256 0928dc7c237437159dc23c3e948043d6b6267860102b752491a2dba7adc366ff

See more details on using hashes here.

File details

Details for the file dynuipv4update-0.12-py3-none-any.whl.

File metadata

File hashes

Hashes for dynuipv4update-0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 9408a4436203b8ee068b3c6e05adaed90e3919d1ba51cded77a595b0eae7c18d
MD5 663de5b37de3646029509c4279c633fe
BLAKE2b-256 3c13ce510ca93f59362b9e39a1a99a9ce13a3f20314765458729128138fa874b

See more details on using hashes here.

Supported by

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