<commit_before># GDU | Generic DNS Update [![Build Status](https://travis-ci.org/dlecan/generic-dns-update.svg?branch=master)](https://travis-ci.org/dlecan/generic-dns-update)
A tiny cross-platform tool to update DNS zonefiles (such as Gandi.net) when you have a dymanic IP address.

It's a DynDNS or equivalent alternative, is available for several OS and has a simple configuration by command line parameters.

For developpers, it's written in Rust and can be easily extended to add new DNS providers or new methods to detect your public IP address.

## Features

- [x] Detect your public IP address
  - [x] By HTTP
  - [] By DNS lookup

- Create or update your DNS provider zonefiles to associate to public IP address with an A or AAAA DNS record.
  - [x] Gandi.net
  - [] Other providers

- Run on several OS:
  - [x] Linux x86_64
  - [x] Linux ARMv6 and more, such as Raspberry PI all models, including PI2
  - [x] Windows 32/64 bits
  - [] OS X

## Command line usage

```
$ gdu --help

USAGE:
  gdu [FLAGS] [OPTIONS]

FLAGS:
    -n, --dry-run    Dry run, don't really update Gandi zone file
    -f, --force      Force new zonefile creation even if IP address isn't modified
    -h, --help       Prints help information
    -V, --version    Prints version information<commit_msg>(fix) README formatting<commit_after># GDU | Generic DNS Update [![Build Status](https://travis-ci.org/dlecan/generic-dns-update.svg?branch=master)](https://travis-ci.org/dlecan/generic-dns-update)
A tiny cross-platform tool to update DNS zonefiles (such as Gandi.net) when you have a dymanic IP address.

It's a DynDNS or equivalent alternative, is available for several OS and has a simple configuration by command line parameters.

For developpers, it's written in Rust and can be easily extended to add new DNS providers or new methods to detect your public IP address.

## Features

- [x] Detect your public IP address
  - [x] By HTTP
  - [ ] By DNS lookup

- Create or update your DNS provider zonefiles to associate to public IP address with an A or AAAA DNS record.
  - [x] Gandi.net
  - [ ] Other providers

- Run on several OS:
  - [x] Linux x86_64
  - [x] Linux ARMv6 and more, such as Raspberry PI all models, including PI2
  - [x] Windows 32/64 bits
  - [ ] OS X

## Command line usage

```
$ gdu --help

USAGE:
  gdu [FLAGS] [OPTIONS]

FLAGS:
    -n, --dry-run    Dry run, don't really update Gandi zone file
    -f, --force      Force new zonefile creation even if IP address isn't modified
    -h, --help       Prints help information
    -V, --version    Prints version information
{'fraction_non_alphanumeric': 0.09136662795199381, 'fraction_numerical': 0.007742934572202865, 'mean_word_length': 3.1948051948051948, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '276801', 'n_tokens_mistral': 825, 'n_tokens_neox': 785, 'n_words': 351}