Giter Club home page Giter Club logo

ddns53's Introduction

ddns53

Dynamic DNS service using Amazon's Route 53 product.

About

There exist externally hosted services that manage mapping and updating dynamic IP addresses to domain names, but not near as many that can be run self hosted. The ddns53 utility allows one to directly update the IP address a registered domain name should point to provided that the domain is managed in Amazon's Route 53. In order to acomplish this task, boto3, the official Python library for accessing AWS, is leveraged.

Note, this utility is not by any means endorsed by Amazon. In addition, use of this software may violate the terms of service specified by your internet service provider. The end user assumes all responsiblity for the use of this software.

Set Up

The following steps should briefly outline all that is needed to do in order to get this utility to work.

  1. Install Python.
sudo apt install python3
  1. Install boto3.
pip3 install boto3
  1. Configure AWS IAM user credentials (~/.aws/credentials).
[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY
  1. Configure AWS region (~/.aws/config).
[default]
region=us-west-2

Execution

To run the utility from the command line, all that is needed is to provide the domain hosted in Amazon's Route 53 that is to be updated.

./ddns53 [DOMAIN]

For example, if the domain foo.com is to be targeted, the utlitlity would be run as follows.

./ddns53 foo.com

For best results, this tool can be scheduled to run as a cron job to automatically update the DNS address record if/when your ISP decides to assign you a new IP address. For an example, here is an entry in crontab to run every hour while logging any errors to a local file.

0 * * * * /home/pi/ddns53 foo.com >> /home/pi/ddns53.log 2>&1

Future Development

After doing some more digging, it looks like a lot of other domain registrars have API access available. Given this is a small program, I'm not totally sure if it makes sense to extend it to support other registrars given they will definitely have web API differences. On the other hand, it would be interesting to have a more generic solution or something that at least supports the major players out there. Stay tuned to find out more...

ddns53's People

Contributors

mreutman avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.