This script keeps a domain name pointing server.yourdomain.com to your ip address using Amazon's route53 api. It can be useful something like a home server or a raspberry pi, or anything that could execute python.
This script could be a replacement for no-ip, dyn or duck dns services if executed often.
- A dns query is made to get your external ip address.
- A rest api call is made to update your domain to point on your ip address.
The Amazon route53 API provides an api to change the A record on a domain (on which ip the domain points to). This script uses this api and push it the ip address it discovered on a subdomain.
I have a server at home that i use on a weekly basis and I wand it to be always accessible on internet using my own domain name. My ISP Provider charges for fixed ip address and my ip changes often. I was using will warren bash script, but I wanted to have something more reliable. Also I wanted to have logs that showed what the script did, and when error happened. Those are the reason why I invested time to create this project.
Please follow these instruction from step 2-4 to setup your amazon server. The recovered values should be added to your ddns_aws_updater.ini
- Copy and edit the
ddns_updater_aws/ddns_updater_aws.default.ini
toddns_updater_aws/ddns_updater_aws.ini
- Install the requirements
python setup.py install
- Execute the software (python style
python -m ddns_updater_aws
, bash styleddns_updater_aws/__main__.py
)
The script only updates once the IP, it's intended usage is to launch the script at an interval by something like a cron job. see Advanced usage
only tested on ubuntu 12.04, should work on other platforms however.
tox -r
- This script does not save your current IP, in other words, EVERYTIME a call is made to this script it post the new IP to Amazon route53.
- This script currently does not support IPV6 (AAAA record). See section below.
- Additionnal requirements for using specific interface, see Advanced usage for details
Opening a pull-request or an issue is encouraged !