Skip to main content

dyDNS

Open in Code Ocean

Cite: takefuji (2022) dyDNS for dynamic DNS updater in freedns.afraid.org [Source Code]. https://doi.org/10.24433/CO.2993693.v1

Y. Takefuji. (2023). International companies and governments need to be alerted to a fatal flaw in DOI management policy to prevent security breaches. Digital Society. https://doi.org/10.1007/s44206-023-00055-1

This is under review.

For software reproducibility validation, codeocean is used for generating DOI for publication in refereed journals (IEEE, Elsevier).

dyDNS is a PyPI package for periodically activating dynamicDNS in freedns.afraid.org.

Important information such as username, password and domain name should be encrypted with free dynamic DNS providers.

You need to have an account on freedns.afraid.org and choose dynamic domain names: https://freedns.afraid.org/

You can have up to five domain names for free dynamic DNS.

dyDNS does not need superuser privilege.

How to prepare for dyDNS

To use this PyPI dyDNS, you need to prepare for .freedns directory and two files: crypted and key.

The following is the procedure for creating two files, crypted and key, in the .freedns directory:
1.You must create .freedns directory in your home directory.
$ cd
$ mkdir .freedns
$ cd .freedns
2.In .freedns directory, you should create a plain authentication file in plain text: freedns.info.
freedns.info file has three lines (username, password, dynamic domain name).
$ cat freedns.info
USERNAME = "username_freedns.afraid.org"
PASSWORD = "password_freedns.afraid.org"
UPDATE_DOMAINS = ["your_domain_name", ] 
3. Create a plain file of encryption/decryption key for OpenSSL.
key file must contain a string or strings with any characters.
$ cat key
your_key 
4. Change to the key file permission that only you can read.
$ chmod 700 key
5. Encrypt freedns.info to crypted file.
$ openssl enc -e -aes256 -pbkdf2 -in freedns.info -out crypted -k `cat key` 
6. Delete freedns.info file for security.
$ rm freedns.info
7. ".freedns" directory has two files: crypted and key
$ ls
crypted key

How to install dyDNS

$ pip install dydns

How to run dyDNS

$ dydns

There are two types of messages from freedns.afraid.org:

b'No Updated: Address xxx.xxx.xxx.xxx has not changed.\n'

b'Updated Address xxx.xxx.xxx.xxx has changed.\n'

crontab

You should type the following command to set crontab schedule:

$ crontab -e

The following shows an example in crontab scheduler to run dyDNS every 9 minutes.

*/9 * * * * dydns >/dev/null

Metadata

Release files for dyDNS 0.0.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dyDNS 0.0.12
File Size Uploaded Provenance
dyDNS-0.0.12.tar.gz 3.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for dyDNS 0.0.12
File Interpreter ABI Platform
dyDNS-0.0.12-py3-none-any.whl Python 3 none any Details

Total release size: 7.4 kB

Release files / dyDNS-0.0.12.tar.gz

Download URL dyDNS-0.0.12.tar.gz
Size 3.7 kB
Tags Source
SHA-256 checksum
How to use checksums
221a14c97794859b59e6dff8f055beb53db66c26db2d69b2f6547219d6f5ee1c
BLAKE2b-256 checksum
How to use checksums
ad855035dc5940603d3640f0c12521b02d1e0f09a7f594097233ad67dfe1a3e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / dyDNS-0.0.12-py3-none-any.whl

Download URL dyDNS-0.0.12-py3-none-any.whl
Size 3.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f444702f19870a3fd18eb84c898984a985ea8a908cc5c6ce0d87ea3ce568fa80
BLAKE2b-256 checksum
How to use checksums
471e03ee6ff30dd139b316ba084591aca3848c0c3ad7d3e9d9772767a0968375
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Security for dyDNS 0.0.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page