Skip to content
forked from pv8/noipy

Command line tool to update No-IP, DuckDNS and DynDNS hosts IP

License

Notifications You must be signed in to change notification settings

dasizeman/noipy

 
 

Repository files navigation

noipy: DDNS update tool

image

image

image

image

Code Health

image

Command line tool to update DDNS hosts IP address via update API. Initially the tool was designed to update IP address only on No-IP DDNS provider. But now noipy has support for the following DDNS providers:

Supported by

Download PyCharm

"Develop with pleasure!"

Installation

To install noipy, simply:

$ pip install noipy

Note: noipy will also install the Requests HTTP library.

Usage

Basic usage of noipy command line tool:

$ noipy -u <your username> -p <your password> -n <your hostname on DDNS provider>
        --provider {generic|noip|dyn|duck}

For DuckDNS provider, the command line would look like this:

$ noipy -u <your token> -n <your DuckDNS domain> --provider duck

Or you can just use --hostname (-n) and --provider arguments if you have previously stored your auth information with --store option.

$ noipy --hostname <your hostname on DDNS provider> --provider {generic|noip|dyn| duck}

You can also specify a custom DDNS URL (thanks to @jayennis22):

$ noipy --hostname <your hostname on DDNS provider> [--provider  generic]
        --url <custom DDNS URL>

It is also possible to inform an IP address other than the machine's current:

$ noipy --hostname <your hostname on DDNS provider> 127.0.0.1

If --provider option is not informed, generic will be used as provider.

For details:

$ noipy --help

Storing auth information

With --store option it is possible to store login information. The information is sotred in $HOME/.noipy/ directory:

$ noipy --store --username <your username> --password <your password> \
    --provider {generic|noip|dyn| duck}

Or simply:

$ noipy --store --provider {generic|noip|dyn| duck}

And type username and password when required.

Note: password is stored simply encoded with Base64 method and is not actually encrypted!

Contributing

Improvements & Troubleshooting

If you have any enhancement suggestions or find a bug, please:

  1. Open an issue
  2. Fork the project
  3. Do your magic
  4. Please, PEP8 and test your code
  5. Is everything working? Send a pull request

Running tests

Install tests dependencies (tox and flake8):

$ pip install -r dev-requirements.txt

Test the code against all supported Python versions and check it against PEP8 with tox:

$ tox

License

Copyright (c) 2013 Pablo O Vieira (povieira).

About

Command line tool to update No-IP, DuckDNS and DynDNS hosts IP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.1%
  • Makefile 1.9%