https://github.com/kjenney/synology-ddns-python-route53
Update a Route53 Record with Synology DDNS
https://github.com/kjenney/synology-ddns-python-route53
Last synced: 3 months ago
JSON representation
Update a Route53 Record with Synology DDNS
- Host: GitHub
- URL: https://github.com/kjenney/synology-ddns-python-route53
- Owner: kjenney
- Created: 2022-06-21T12:39:06.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-06-21T13:07:20.000Z (almost 3 years ago)
- Last Synced: 2025-01-07T20:12:48.706Z (5 months ago)
- Language: Python
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# synology-ddns-python-route53
A serverless AWS Lambda function that updates a Route53 record for a domain name using the [Synology Dynamic DNS](https://www.synology.com/en-us/support/dynamic-dns/dynamic-dns-overview/) service.
Inspired by https://www.synoforum.com/resources/ddns-with-aws-lambda-and-route53.25/
# Usage
## Configuration
The function has three constants/environment variables defined:
```
USERNAME: A random string used to authenticate the function from the Synology Dynamic DNS service.
PASSWORD: A random password that is used to authenticate from the Synology Dynamic DNS service.
HOSTED_ZONE_ID: The ID of the hosted zone that is used to update the DNS record.
```## Deployment
```
serverless deploy \
--param="username=mysupersecretusername" \
--param="password=mysupersecretpassword" \
--param="hostedzoneid=myawsdomainhostedzoneid"
```## Update Synology DDNS
Update Synology's DDNS service with the API Geateway URL given when this deploys. Use the same USERNAME and PASSWORD as defined in the deployment.
The query in Synology should look like this:
```
https://.execute-api..amazonaws.com?hostname=__HOSTNAME__&ip=__MYIP__&username=__USERNAME__&password=__PASSWORD__
```