Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

r53ddns (Route 53 Dynamic DNS) is a simple command-line utility used to update an AWS Route 53 DNS entry with the current public IP Address of the executing host. Used to maintain DNS records which point to a dynamic address.

r53ddns utilizes the boto3 Python API to interface with AWS.

Usage

From the commandline or via systemd/cron service. A valid AWS credential file is required for the user executing the utility. This is typically placed in ~/.aws/credentials or the credentials may be specified using environment variables.

[default]
aws_access_key_id = ACCESSKEY-ID
aws_secret_access_key = SECRET-KEY
region = us-west-2

The user associated with the access key requires the following AWS permissions:

  • route53:ChangeResourceRecordSets

  • route53:ListResourceRecordSets

Optionally the following permission is required to permit SNS notifications (used with the –notify option or environment variable):

  • sns:Publish

An example AWS JSON Policy document might look like:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Action": "sns:Publish",
            "Resource": "arn:aws:sns:REGION:ACCT-NO:TOPIC-NAME"
        },
        {
            "Sid": "2",
            "Effect": "Allow",
            "Action": [
                "route53:ChangeResourceRecordSets",
                "route53:ListResourceRecordSets"
            ],
            "Resource": "arn:aws:route53:::hostedzone/ZONEID"
        }
    ]
}

Note the Resource qualifiers should be replaced with valid Resource ARN’s if utilized.

Installation

Requirements:

  • Python >= 3.6.x

Using venv & pip

python3 -m venv venv
source venv/bin/activate
pip install dnsupdater

Installation as a daemon using Systemd

Create/install systemd service and timer unit files. .timer will execute the .service file periodically upon boot of the OS, and every 5 minutes thereafter.

[Unit]
Description=route53 dynamic dns update client
After=network.target

[Service]
Type=oneshot
User=awsuser
Environment="PATH=/opt/r53ddns/venv/bin"
ExecStart=/opt/r53ddns/venv/bin/dnsupdater

[Install]
WantedBy=network.target
[Unit]
Description=Execute r53ddns periodically

[Timer]
OnBootSec=1min
OnUnitActiveSec=5min

[Install]
WantedBy=timers.target

Release files for r53ddns 0.1.0b3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for r53ddns 0.1.0b3
File Size Uploaded
r53ddns-0.1.0b3.tar.gz 6.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for r53ddns 0.1.0b3
File Interpreter ABI Platform
r53ddns-0.1.0b3-py3-none-any.whl Python 3 none any Details

Total release size: 17.5 kB

Release files / r53ddns-0.1.0b3.tar.gz

Download URL r53ddns-0.1.0b3.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
041354ca897e584e2b9262c75e283009cf3e52dd31e9351e2615d8f53ad3515f
BLAKE2b-256 checksum
How to use checksums
4147eee2027f20b57645d9e91bae64a89a0f807dc3568b427757c6ac2967fa0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.4

Release files / r53ddns-0.1.0b3-py3-none-any.whl

Download URL r53ddns-0.1.0b3-py3-none-any.whl
Size 11.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c21424ef21a1a93bb6545fa863105ce29f425ac3435e48158aefbc1bd92c83fd
BLAKE2b-256 checksum
How to use checksums
228ed651e920951020032452475df8ad794ac8dcff52e118afd9b34bc0b1d393
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.4

Release history Release notifications | RSS feed

This release

0.1.0b3 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page