Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPv6 support and Python 3 conversion #33

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

Conversation

dvdme
Copy link

@dvdme dvdme commented Dec 9, 2019

This introduces support to Python 3, since Python 2 will
deprecated in January 1st 2020.
More info here: https://www.python.org/doc/sunset-python-2/

This Python 3 conversion breaks compatibility with Python 2
but since Python 2 will be deprecated, I see no issue with that.

Another update this is introducing is ipv6 support since I started
getting my ip in v6 format from the ifconfig providers.

There is a new config entry subdomains6 for configuring the ipv6
domains that will be updated if the returned ip is ipv6.

With ipv6, the script will update either ipv6 or ipv4 depending on
the value returned by the provider.

The usage of the script remains the same.

Other changes made:

  • Use print() function instead of the print statement
  • Better readability by using f-string
  • Use the json object directly from requestsinstead of parsing the
    content with the json module
  • Add function to check for ipv6
  • Add `subdomains6`` to config got ipv6 subdomains
  • Incresed verbosity option

David Ervideira and others added 8 commits December 9, 2019 11:57
This introduces support to Python 3, since Python 2 will
deprecated in January 1st 2020.
More info here: https://www.python.org/doc/sunset-python-2/

This Python 3 conversion breaks compatibility with Python 2
but since Python 2 will be deprecated, I see no issue with that.

Another update this is introducing is ipv6 support since I started
getting my ip in v6 format from the ifconfig providers.

There is a new config entry `subdomains6` for configuring the ipv6
domains that will be updated if the returned ip is ipv6.

With ipv6, the script will update either ipv6 or ipv4 depending on
the value returned by the provider.

The usage of the script remains the same.

Other changes made:

 * Use `print()` function instead of the `print` statement
 * Better readability by using f-string
 * Use the json object directly from `requests`instead of parsing the
content with the `json` module
 * Add function to check for ipv6
 * Add `subdomains6`` to config got ipv6 subdomains
 * Incresed verbosity option
* Add option for the script to repeat itself
  after N seconds

* Add a Dockerfile so that this could be run
  inside docker
This is in practice a complete rewrite of the application.

Configuration is simplified and the execution can create a
record if it does not exist.

It supports IPv6 if the IP Lookup Service supports it too.

There is no distintion between IPv4 and IPv6 in the configuration,
this should be all abstracted by the application.
Update app to work with the latest Gandi API
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant