dyDNS


NamedyDNS JSON
Version 0.0.12 PyPI version JSON
download
home_pagehttps://github.com/y-takefuji/dyDNS
Summaryactivating dynamicDNS for freedns.afraid.org
upload_time2024-05-18 05:16:04
maintainerNone
docs_urlNone
authoryoshiyasu takefuji
requires_python>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # dyDNS
[![Open in Code Ocean](https://codeocean.com/codeocean-assets/badge/open-in-code-ocean.svg)](https://codeocean.com/capsule/9669485/tree)

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.
<pre>
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
</pre>

# 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



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/y-takefuji/dyDNS",
    "name": "dyDNS",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "yoshiyasu takefuji",
    "author_email": "takefuji@keio.jp",
    "download_url": "https://files.pythonhosted.org/packages/ad/85/5035dc5940603d3640f0c12521b02d1e0f09a7f594097233ad67dfe1a3e8/dyDNS-0.0.12.tar.gz",
    "platform": null,
    "description": "# dyDNS\n[![Open in Code Ocean](https://codeocean.com/codeocean-assets/badge/open-in-code-ocean.svg)](https://codeocean.com/capsule/9669485/tree)\n\nCite: takefuji (2022) dyDNS for dynamic DNS updater in freedns.afraid.org [Source Code]. https://doi.org/10.24433/CO.2993693.v1\n\nY. 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\n\nThis is under review.\n\nFor software reproducibility validation, codeocean is used for generating DOI for publication in refereed journals (IEEE, Elsevier).\n\ndyDNS is a PyPI package for periodically activating dynamicDNS in freedns.afraid.org.\n\nImportant information such as username, password and domain name should be encrypted \nwith free dynamic DNS providers.\n\nYou need to have an account on freedns.afraid.org and choose dynamic domain names:\nhttps://freedns.afraid.org/\n\nYou can have up to five domain names for free dynamic DNS.\n\ndyDNS does not need superuser privilege.\n\n# How to prepare for dyDNS\nTo use this PyPI dyDNS, you need to prepare for .freedns directory and two files: crypted and key.\n<pre>\nThe following is the procedure for creating two files, crypted and key, in the .freedns directory:\n1.You must create .freedns directory in your home directory.\n$ cd\n$ mkdir .freedns\n$ cd .freedns\n2.In .freedns directory, you should create a plain authentication file in plain text: freedns.info.\nfreedns.info file has three lines (username, password, dynamic domain name).\n$ cat freedns.info\nUSERNAME = \"username_freedns.afraid.org\"\nPASSWORD = \"password_freedns.afraid.org\"\nUPDATE_DOMAINS = [\"your_domain_name\", ] \n3. Create a plain file of encryption/decryption key for OpenSSL.\nkey file must contain a string or strings with any characters.\n$ cat key\nyour_key \n4. Change to the key file permission that only you can read.\n$ chmod 700 key\n5. Encrypt freedns.info to crypted file.\n$ openssl enc -e -aes256 -pbkdf2 -in freedns.info -out crypted -k `cat key` \n6. Delete freedns.info file for security.\n$ rm freedns.info\n7. \".freedns\" directory has two files: crypted and key\n$ ls\ncrypted key\n</pre>\n\n# How to install dyDNS\n$ pip install dydns\n\n# How to run dyDNS\n$ dydns\n\nThere are two types of messages from freedns.afraid.org:\n\nb'No Updated: Address xxx.xxx.xxx.xxx has not changed.\\n'\n\nb'Updated Address xxx.xxx.xxx.xxx has changed.\\n'\n\n\n# crontab\nYou should type the following command to set crontab schedule:\n\n$ crontab -e\n\nThe following shows an example in crontab scheduler to run dyDNS every 9 minutes.\n\n*/9 * * * * dydns >/dev/null\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "activating dynamicDNS for freedns.afraid.org",
    "version": "0.0.12",
    "project_urls": {
        "Bug Tracker": "https://github.com/y-takefuji/dyDNS",
        "Homepage": "https://github.com/y-takefuji/dyDNS"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "471e03ee6ff30dd139b316ba084591aca3848c0c3ad7d3e9d9772767a0968375",
                "md5": "c96df3d0d94ed4a6bcd6443d8a510ce2",
                "sha256": "f444702f19870a3fd18eb84c898984a985ea8a908cc5c6ce0d87ea3ce568fa80"
            },
            "downloads": -1,
            "filename": "dyDNS-0.0.12-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c96df3d0d94ed4a6bcd6443d8a510ce2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 3703,
            "upload_time": "2024-05-18T05:16:02",
            "upload_time_iso_8601": "2024-05-18T05:16:02.176016Z",
            "url": "https://files.pythonhosted.org/packages/47/1e/03ee6ff30dd139b316ba084591aca3848c0c3ad7d3e9d9772767a0968375/dyDNS-0.0.12-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ad855035dc5940603d3640f0c12521b02d1e0f09a7f594097233ad67dfe1a3e8",
                "md5": "8cd0c4f7ac28f7f1d84049902cfe7605",
                "sha256": "221a14c97794859b59e6dff8f055beb53db66c26db2d69b2f6547219d6f5ee1c"
            },
            "downloads": -1,
            "filename": "dyDNS-0.0.12.tar.gz",
            "has_sig": false,
            "md5_digest": "8cd0c4f7ac28f7f1d84049902cfe7605",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 3701,
            "upload_time": "2024-05-18T05:16:04",
            "upload_time_iso_8601": "2024-05-18T05:16:04.242466Z",
            "url": "https://files.pythonhosted.org/packages/ad/85/5035dc5940603d3640f0c12521b02d1e0f09a7f594097233ad67dfe1a3e8/dyDNS-0.0.12.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-18 05:16:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "y-takefuji",
    "github_project": "dyDNS",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "dydns"
}
        
Elapsed time: 0.28952s