<commit_before>dns-made-easy-updater
=====================

- Author: <NAME>
- Website: http://blog.crowbird.com
- License: Apache License, Version 2.0
- Requirements: Java 1.5+
- Supported OS: any OS that has a JVM
- Download: http://blog.crowbird.com/artifacts/dns-made-easy-updater/

What is it?
-----------
The project creates two command line utilities for performing secure dynamic DNS updates 
with DNS Made Easy. One is the manualupdater which can be used for manually performing
an update by specifying all the parameters on the command line. The other utility is
autoupdater which reads the configuration parameters from a properties files, stores
the last known public IP address, and only performs an update when the IP address changes.

How does it work?
-----------------
The utilities make HTTPS calls to a RESTful service hosted by DNS Made Easy. 
See http://oldcp.dnsmadeeasy.com/enterprisedns/ddnstechspec.html for information 
on the communication specification.

The utilities can used behind NAT because they determine your public IP address using
a "reflector" hosted by DNS Made Easy. The utilities call out to the "reflector" which
simply echos back the IP address from which your request originated. That address is
then used in the sebsequent DDNS update.

Proxy Users: If you need to use this utility behind a proxy server you can set the 
HTTP and HTTPS proxy servers using standard Java command line properties. 
See http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html for 
information on how to configure your proxies. But be warned that the proxies public
IP address will be used in your DDNS updates.

How do I use it?
----------------
1. Download the latest version from http://blog.crowbird.com/artifacts/dns-made-easy-updater.
2. Extract the file to your machine.
3. Modify config.properties to match the information for the DDNS record you want to update.
4. Execute `./autoupdater --config-file path/to/config.properties --current-ip-file where/to/save/current-ip.properties`
5. You should see "success" if all went well, otherwise you need to troubleshoot.
6. Once you have the command is working you'll want to automate the execution using cron or Windows Scheduled Task.

For unix systems run crontab -e and add a line like this:
	
    * * * * * /home/user/dns-made-easy-updater/bin/autoupdater -c /home/user/dns-made-easy-updater/config.properties -i /home/user/dns-made-easy-updater/current-ip.properties >> /home/user/dns-made-easy-updater/update.log 2>&1

Command Line Usage
------------------
*****
    Usage: autoupdater [options]<commit_msg>Fixed typo in README.md.<commit_after>dns-made-easy-updater
=====================
- Author: <NAME>
- Website: http://blog.crowbird.com
- Download: http://blog.crowbird.com/artifacts/dns-made-easy-updater/
- License: Apache License, Version 2.0
- Supported OS: any OS that has a JVM
- Requirements: Java 1.5+

What is it?
-----------
The project creates two command line utilities for performing secure dynamic DNS updates 
with DNS Made Easy. One is the manualupdater which can be used for manually performing
an update by specifying all the parameters on the command line. The other utility is
autoupdater which reads the configuration parameters from a properties files, stores
the last known public IP address, and only performs an update when the IP address changes.

How does it work?
-----------------
The utilities make HTTPS calls to a RESTful service hosted by DNS Made Easy. 
See http://oldcp.dnsmadeeasy.com/enterprisedns/ddnstechspec.html for information 
on the communication specification.

The utilities can used behind NAT because they determine your public IP address using
a "reflector" hosted by DNS Made Easy. The utilities call out to the "reflector" which
simply echos back the IP address from which your request originated. That address is
then used in the subsequent DDNS update.

Proxy Users: If you need to use this utility behind a proxy server you can set the 
HTTP and HTTPS proxy servers using standard Java command line properties. 
See http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html for 
information on how to configure your proxies. But be warned that the proxies public
IP address will be used in your DDNS updates.

How do I use it?
----------------
1. Download the latest version from http://blog.crowbird.com/artifacts/dns-made-easy-updater.
2. Extract the file to your machine.
3. Modify config.properties to match the information for the DDNS record you want to update.
4. Execute `./autoupdater --config-file path/to/config.properties --current-ip-file where/to/save/current-ip.properties`
5. You should see "success" if all went well, otherwise you need to troubleshoot.
6. Once you have the command is working you'll want to automate the execution using cron or Windows Scheduled Task.

For unix systems run crontab -e and add a line like this:
	
    * * * * * /home/user/dns-made-easy-updater/bin/autoupdater -c /home/user/dns-made-easy-updater/config.properties -i /home/user/dns-made-easy-updater/current-ip.properties >> /home/user/dns-made-easy-updater/update.log 2>&1

Command Line Usage
------------------
*****
    Usage: autoupdater [options]
{'fraction_non_alphanumeric': 0.10129969418960244, 'fraction_numerical': 0.004969418960244648, 'mean_word_length': 3.6681534344335414, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2154356', 'n_tokens_mistral': 1519, 'n_tokens_neox': 1445, 'n_words': 654}