Router friendly client to update AWS Route53 entries for Dynamic DNS funtionality
- MySQL/MariaDB
- PHP 8+
- HTTP server
or
- Save the project on your server (download here)
- Set database information on
dbconfig.php
- Download
/docker
files on your server, example:
curl -o .env https://raw.githubusercontent.com/ivancarlosti/ddnsonroute53/main/docker/.env
curl -o docker-compose.yml https://raw.githubusercontent.com/ivancarlosti/ddnsonroute53/main/docker/docker-compose.yml
- Edit both
.env
,docker-compose.yml
files- This Docker Compose contains only PHP + nginx + mysqli as webserver, you can use a reverse proxy for SSL, default exposed port is
5666
, an external MySQL/MariaDB is required
- This Docker Compose contains only PHP + nginx + mysqli as webserver, you can use a reverse proxy for SSL, default exposed port is
- Start Docker Compose, example:
docker compose pull && docker compose up -d
- Download
/docker
files on your server, example:
curl -o .env https://raw.githubusercontent.com/ivancarlosti/ddnsonroute53/main/docker/.env
curl -o docker-compose.yml https://raw.githubusercontent.com/ivancarlosti/ddnsonroute53/main/docker/docker-compose-full.yml
- Edit both
.env
,docker-compose.yml
files- This Docker Compose contains following services, adapt it for your needs:
- PHP + nginx + mysqli as webserver
- MariaDB as database
- Traefik to get automatic SSL certificate and reverse proxy
- This Docker Compose contains following services, adapt it for your needs:
- Start Docker Compose, example:
docker compose pull && docker compose up -d
- Run
setup.php
on browser to set username and password - Run
index.php
on browser to login - Access
Manage AWS Credentials
menu and fill required fields - Access
Manage DDNS Entries
to add, edit and delete DDNS entries - (optional) Access
Manage Users
to change user password, create new users, add/edit reCAPTCHA keys - (optional) Access
View All Logs
to check last 30 days of entries created and/or updated
IAM required policy, remember to update YOURZONEID
value to related domain zone ID and subdomain.example.com.
to your domain or subdomain for service usage:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"route53:ChangeResourceRecordSets",
"route53:ListResourceRecordSets"
],
"Resource": "arn:aws:route53:::hostedzone/YOURZONEID",
"Condition": {
"ForAllValues:StringLike": {
"route53:ChangeResourceRecordSetsNormalizedRecordNames": [
"*.subdomain.example.com."
]
}
}
},
{
"Effect": "Allow",
"Action": "route53:GetChange",
"Resource": "*"
}
]
}
To simplify the process, [FQDN]
is also used as login for basic auth purposes.
Example: https://[FQDN]:[PASSWORD]@subdomain.example.com/update.php?hostname=[FQDN]&myip=[IP]
TP-Link Omada Update URL:
https://[USERNAME]:[PASSWORD]@subdomain.example.com/update.php?hostname=[DOMAIN]&myip=[IP]
- HTML beautification
- Build releases using Compose to populate AWS SDK dinamically
Using PHP with the Suhosin patch is not recommended, but is common on some Ubuntu and Debian distributions. To modify suhosin.ini
, add the following line.
suhosin.executor.include.whitelist = phar
- For personal support and queries, please submit a new issue to have it addressed.
- For commercial related questions, please contact me directly for consulting costs.
If you found this project helpful, consider |
---|
buying me a coffee, donate by paypal, sponsor this project or just leave a starβ |
Thanks for your support, it is much appreciated! |