All Projects → srueg → dynamic-cloud-dns

srueg / dynamic-cloud-dns

Licence: MIT license
Dynamic DNS with Google Cloud Functions

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to dynamic-cloud-dns

Functions Samples
Collection of sample apps showcasing popular use cases using Cloud Functions for Firebase
Stars: ✭ 10,576 (+35153.33%)
Mutual labels:  google-cloud-functions
ddns
Simple restful dynamic DNS service
Stars: ✭ 25 (-16.67%)
Mutual labels:  dynamic-dns
firebase-functions-es6-example
Use ES6 to develop Cloud Functions for Firebase today!
Stars: ✭ 20 (-33.33%)
Mutual labels:  google-cloud-functions
tinydnsdyn
[mirror] Dynamic DNS for djbdns or tinydns
Stars: ✭ 18 (-40%)
Mutual labels:  dynamic-dns
python-ddns
A self-hosted dynamic DNS service using BIND9 and python.
Stars: ✭ 26 (-13.33%)
Mutual labels:  dynamic-dns
route53-dynamic-dns
Update AWS Route53 hosted zone with current public IP address. Alternative to Dynamic DNS services such as Dyn, No-IP, etc
Stars: ✭ 29 (-3.33%)
Mutual labels:  dynamic-dns
gSlack
Get Slack notifications from Google Cloud Platform
Stars: ✭ 69 (+130%)
Mutual labels:  google-cloud-functions
FunctionShield
A Serverless Security Library for Developers. Regain Control Over Your AWS Lambda & Google Cloud Functions Runtimes.
Stars: ✭ 36 (+20%)
Mutual labels:  google-cloud-functions
python-dyndnsc
dynamic dns (dyndns) update client with support for multiple protocols
Stars: ✭ 36 (+20%)
Mutual labels:  dynamic-dns
digitalocean-dyndns
Dynamic DNS using DigitalOcean's DNS Services
Stars: ✭ 64 (+113.33%)
Mutual labels:  dynamic-dns
dynamic-dns-netcup-api
A simple dynamic DNS client written in PHP for use with the netcup DNS API.
Stars: ✭ 127 (+323.33%)
Mutual labels:  dynamic-dns
DnsTube
Access your computer from anywhere. DnsTube is a Windows .NET dynamic DNS client for Cloudflare.
Stars: ✭ 137 (+356.67%)
Mutual labels:  dynamic-dns
docker-ddns-cloudflare
Cloudflare DDNS Script
Stars: ✭ 21 (-30%)
Mutual labels:  dynamic-dns
Serverless
⚡ Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! –
Stars: ✭ 41,584 (+138513.33%)
Mutual labels:  google-cloud-functions
serverless-multicloud-example
An example Node Express app that can be deployed in any major cloud by the Serverless framework
Stars: ✭ 20 (-33.33%)
Mutual labels:  google-cloud-functions
hyperform
⚡ Lightweight serverless framework for NodeJS
Stars: ✭ 156 (+420%)
Mutual labels:  google-cloud-functions
ovh-dynhost
A command line script to update a OVH DynHost with your current public ip. (This repo is a mirror. Official one: https://gitlab.com/rubendibattista/ovh-dynhost)
Stars: ✭ 12 (-60%)
Mutual labels:  dynamic-dns
DynamicDNS
基于DNSPod构建的DDNS软件
Stars: ✭ 21 (-30%)
Mutual labels:  dynamic-dns
serverless-gcf
An extension for running Probot on Google Cloud Functions
Stars: ✭ 15 (-50%)
Mutual labels:  google-cloud-functions
Trust Dns
A Rust based DNS client, server, and resolver
Stars: ✭ 2,155 (+7083.33%)
Mutual labels:  dynamic-dns

Dynamic Cloud DNS

Dynamic DNS functionality backed by Google Cloud DNS hosted on Google Cloud Functions. The deployed function can be called with the host, IPv4 and IPv6 address to update. The data can be either URL query parameters or a JSON body.

curl https://us-central1-<project-name>.cloudfunctions.net/updateHost?token=<secretToken>&host=test.example.com&ipv4=192.168.1.1&ipv6=::1
curl https://us-central1-<project-name>.cloudfunctions.net/updateHost \
    -d '{ \
            token: "<secretToken>" \
            host: "test.example.com" \
            ipv4: "192.168.1.1" \
            ipv6: "::1" \
        }'

If neither an IPv4 nor an IPv6 address is provided, the source address of the request is used.

Configuration

Settings are stored in settings.json

Config Description
dnsZone The Google Cloud DNS Zone name in which the records reside.
secretToken A secret token, used to authenticate users.
allowedHosts A list of hosts that callers are allowed to update. May include "*" to allow all hosts.
ttl Time to live for records in seconds.

To be able to authenticate against the Google Cloud DNS API, an environment variable GOOGLE_APPLICATION_CREDENTIALS must be set, which points to a valid credentials.json. The Google Cloud project name is read from the env var GCLOUD_PROJECT.

Local Development

  • nvm use
  • npm install
  • Setup your Gcloud credentials: export GOOGLE_APPLICATION_CREDENTIALS=/Path/to/your/credentials.json
  • To start the emulator in the background: npm start &
  • Send requests to the emulator: curl localhost:8080?token=<secretToken>&host=test.example.com&ipv4=192.168.1.1&ipv6=::1

See docs for further info.

Deploy to Google Cloud Functions

Client

If you want to call this automatically under Linux, you can try Dynamic Cloud DNS Client

License

Copyright (c) 2020, Simon Rüegg. All rights reserved.

Dynamic Cloud DNS is licensed under the MIT License.

See LICENSE for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].