Giter VIP home page Giter VIP logo

aws-dyndns's Introduction

aws-dyndns

Manage a dynamic home IP address with an AWS hosted route53 domain

setup

In order to use this tool, you need to set up authentication credentials. Credentials for your AWS account can be found in the IAM Console. You can create or use an existing user or follow the instructions below to setup a new user.

IAM policy

Create a new IAM policy using ddns_iam_policy.json as a base. Remember to replace {YOUR_ZONE_ID_HERE} with the Hosted Zone ID for the route53 domain you want to update.

Give your policy a meaningful name and description, you'll need to refer to it in the next section. IAM_review_policy

IAM user

Create a new IAM user, give it a user name, and select Programmatic access for the access type. IAM_add_user

Next, select Attach existing policies directly, find the IAM policy you just created, and click the checkbox to the right of the policy name to attach it to your user. IAM_set_permissions

To see your new access key, choose Show. Your credentials will look something like this:

Access key ID: AKIAIOSFODNN7EXAMPLE
Secret access key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

To download the key pair, choose Download .csv file. Store the keys in a secure location. IAM_user_accessKey

AWS credentials

If you have the AWS CLI installed, then you can use it to configure your credentials file:

aws configure --profile ddns

Alternatively, you can create the credential file yourself. By default, its location is at ~/.aws/credentials:

[ddns]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY

By default, dns_update.py will use the ddns credential profile. You can change this by issuing the --profile PROFILE option.

usage

usage: dns_update.py [-h] [--profile PROFILE] --domain DOMAIN
                     [--record RECORD] [--zone ZONE] [--ttl TTL]

Manage a dynamic home IP address with an AWS hosted route53 domain

optional arguments:
  -h, --help            show this help message and exit
  --profile PROFILE, -p PROFILE
                        AWS credential profile
  --domain DOMAIN, -d DOMAIN
                        Domain to modify
  --record RECORD, -r RECORD
                        Record to modify
  --zone ZONE, -z ZONE  AWS hosted zone id
  --ttl TTL             Record TTL

aws-dyndns's People

Contributors

danpilch avatar naeramarth7 avatar robellegate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

aws-dyndns's Issues

Finds my public IP twice and then crashes

Found external IP: 88.112.107.181, 88.112.107.181
Updating resource record IP address
Traceback (most recent call last):
File "C:\Tools\DDNS R53\dns-update.py", line 132, in
run.update_record()
File "C:\Tools\DDNS R53\dns-update.py", line 83, in update_record
'Value': self.external_ip
File "C:\Users\adm-dnaumov\AppData\Roaming\Python\Python37\site-packages\botocore\client.py", line 357, in _api_call
return self._make_api_call(operation_name, kwargs)
File "C:\Users\adm-dnaumov\AppData\Roaming\Python\Python37\site-packages\botocore\client.py", line 661, in _make_api_call
raise error_class(parsed_response, operation_name)
botocore.errorfactory.InvalidChangeBatch: An error occurred (InvalidChangeBatch) when calling the ChangeResourceRecordSets operation: [Invalid Resource Record: FATAL problem: ARRDATANotSingleField (Value contains spaces) encountered with '88.112.107.181, 88.112.107.181']

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.