{"id":16810983,"url":"https://github.com/johnf/serverless-dyndns","last_synced_at":"2025-03-17T10:42:04.000Z","repository":{"id":42653556,"uuid":"262539790","full_name":"johnf/serverless-dyndns","owner":"johnf","description":"DynDNS Compatible Route 53 Dynamic DNS","archived":false,"fork":false,"pushed_at":"2023-08-28T06:52:30.000Z","size":1561,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-23T20:14:32.817Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-09T09:51:35.000Z","updated_at":"2023-08-28T06:52:35.000Z","dependencies_parsed_at":"2023-02-08T09:15:52.084Z","dependency_job_id":null,"html_url":"https://github.com/johnf/serverless-dyndns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnf%2Fserverless-dyndns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnf%2Fserverless-dyndns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnf%2Fserverless-dyndns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnf%2Fserverless-dyndns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnf","download_url":"https://codeload.github.com/johnf/serverless-dyndns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244018954,"owners_count":20384663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T10:17:20.831Z","updated_at":"2025-03-17T10:42:03.983Z","avatar_url":"https://github.com/johnf.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Route53 DynDNS Compatible Dynamic DNS\n\nThis will deploy a DynDNS compatible endpoint into your account that can create\nDynamic DNS entries in your Route 53 hosted zones.\n\nThis means it will work with `dclient` or any device that supports DynDNS and\nlet's you set the server name to connect to. I'm using it on Unifi Gateways.\n\nThe endpoint is quote basic and only supports one username/password combination\nand requires that the zones are in the same account.\n\n## Deploy\n\nFirst create the configuration by filling out the following in `.env.production`\n``` bash\nAPI_HOSTNAME=dyndns.example.com\nAPI_ZONENAME=example.com\nUSERNAME=admin\nPASSWORD=CREATE_A_RANDOM_PASSWORD_HERE\nHOSTNAMES=\"vpn.example.com,foo.example.org\"\n```\n\nNext create certificate, map the domain and deploy\n``` bash\nyarn create_cert\nyarn create_domain\nyarn deploy\n```\n\n## Configuration\n\n* **API_HOSTNAME** - Where the endpoint will live e.g.  https://dyndns.example.com\n* **API_ZONENAME** - The Route 53 Zone Name that the above lives in\n* **USERNAME** - The username for clients\n* **PASSWORD** - The password for clients\n* **HOSTNAMES** - A comma delimited list of hostnames that are allowed to be updated\n\n## Useful commands\n\n* `npm run build`   compile typescript to js\n* `npm run watch`   watch for changes and compile\n* `npm run test`    perform the jest unit tests\n* `cdk deploy`      deploy this stack to your default AWS account/region\n* `cdk diff`        compare deployed stack with current state\n* `cdk synth`       emits the synthesized CloudFormation template\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnf%2Fserverless-dyndns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnf%2Fserverless-dyndns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnf%2Fserverless-dyndns/lists"}