Add 'emailonly' client to send status emails without needing a DDNS host
This adds a protocol to send status updates without needing a Dynamic DNS host. This is useful if you don't have a DDNS host but want to be updated when the IP of a machine changes. Because of how ddclient is written, it requires setting a host name, but doesn't actually do anything with it. Let me know if there's a better way to handle this.
This commit is contained in:
parent
c56ce41824
commit
c7268e156a
2 changed files with 2338 additions and 698 deletions
132
ddclient.conf.in
132
ddclient.conf.in
|
|
@ -19,12 +19,12 @@
|
||||||
daemon=300 # check every 300 seconds
|
daemon=300 # check every 300 seconds
|
||||||
syslog=yes # log update msgs to syslog
|
syslog=yes # log update msgs to syslog
|
||||||
mail=root # mail all msgs to root
|
mail=root # mail all msgs to root
|
||||||
mail-failure=root # mail failed update msgs to root
|
mail-failure=root # mail failed update msgs to root
|
||||||
pid=@runstatedir@/ddclient.pid # record PID in file.
|
pid=@runstatedir@/ddclient.pid # record PID in file.
|
||||||
ssl=yes # use ssl-support. Works with
|
ssl=yes # use ssl-support. Works with
|
||||||
# ssl-library
|
# ssl-library
|
||||||
# postscript=script # run script after updating. The
|
# postscript=script # run script after updating. The
|
||||||
# new IP is added as argument.
|
# new IP is added as argument.
|
||||||
#
|
#
|
||||||
#use=watchguard-soho, fw=192.168.111.1:80 # via Watchguard's SOHO FW
|
#use=watchguard-soho, fw=192.168.111.1:80 # via Watchguard's SOHO FW
|
||||||
#use=netopia-r910, fw=192.168.111.1:80 # via Netopia R910 FW
|
#use=netopia-r910, fw=192.168.111.1:80 # via Netopia R910 FW
|
||||||
|
|
@ -88,7 +88,6 @@ ssl=yes # use ssl-support. Works with
|
||||||
# protocol=dyndns2 \
|
# protocol=dyndns2 \
|
||||||
# your-static-host.dyndns.org
|
# your-static-host.dyndns.org
|
||||||
|
|
||||||
##
|
|
||||||
##
|
##
|
||||||
## dyndns.org custom addresses
|
## dyndns.org custom addresses
|
||||||
##
|
##
|
||||||
|
|
@ -130,8 +129,8 @@ ssl=yes # use ssl-support. Works with
|
||||||
## OrgDNS.org account-configuration
|
## OrgDNS.org account-configuration
|
||||||
##
|
##
|
||||||
# use=web, web=members.orgdns.org/nic/ip
|
# use=web, web=members.orgdns.org/nic/ip
|
||||||
|
# protocol=dyndns2
|
||||||
# server=www.orgdns.org \
|
# server=www.orgdns.org \
|
||||||
# protocol=dyndns2 \
|
|
||||||
# login=yourLoginName \
|
# login=yourLoginName \
|
||||||
# password=yourPassword \
|
# password=yourPassword \
|
||||||
# yourSubdomain.orgdns.org
|
# yourSubdomain.orgdns.org
|
||||||
|
|
@ -139,11 +138,11 @@ ssl=yes # use ssl-support. Works with
|
||||||
##
|
##
|
||||||
## NameCheap (namecheap.com)
|
## NameCheap (namecheap.com)
|
||||||
##
|
##
|
||||||
# protocol=namecheap, \
|
# protocol=namecheap, \
|
||||||
# server=dynamicdns.park-your-domain.com, \
|
# server=dynamicdns.park-your-domain.com, \
|
||||||
# login=my-namecheap.com-login, \
|
# login=example.com, \
|
||||||
# password=my-namecheap.com-password \
|
# password=example.com-password \
|
||||||
# fully.qualified.host
|
# subdomain.example.com
|
||||||
|
|
||||||
##
|
##
|
||||||
## NearlyFreeSpeech.NET (nearlyfreespeech.net)
|
## NearlyFreeSpeech.NET (nearlyfreespeech.net)
|
||||||
|
|
@ -154,12 +153,10 @@ ssl=yes # use ssl-support. Works with
|
||||||
# zone=example.com \
|
# zone=example.com \
|
||||||
# example.com,subdomain.example.com
|
# example.com,subdomain.example.com
|
||||||
|
|
||||||
##
|
|
||||||
##
|
##
|
||||||
## Loopia (loopia.se)
|
## Loopia (loopia.se)
|
||||||
##
|
##
|
||||||
# use=web
|
# use=web, web=loopia
|
||||||
# web=loopia
|
|
||||||
# protocol=dyndns2
|
# protocol=dyndns2
|
||||||
# server=dns.loopia.se
|
# server=dns.loopia.se
|
||||||
# script=/XDynDNSServer/XDynDNS.php
|
# script=/XDynDNSServer/XDynDNS.php
|
||||||
|
|
@ -192,7 +189,7 @@ ssl=yes # use ssl-support. Works with
|
||||||
#protocol=cloudflare, \
|
#protocol=cloudflare, \
|
||||||
#zone=domain.tld, \
|
#zone=domain.tld, \
|
||||||
#ttl=1, \
|
#ttl=1, \
|
||||||
#login=your-login-email, \ # Only needed if you are using your global API key. If you are using an API token, set it to "token" (wihtout double quotes).
|
#login=your-login-email, \ # Only needed if you are using your global API key. If you are using an API token, set it to "token" (without double quotes).
|
||||||
#password=APIKey \ # This is either your global API key, or an API token. If you are using an API token, it must have the permissions "Zone - DNS - Edit" and "Zone - Zone - Read". The Zone resources must be "Include - All zones".
|
#password=APIKey \ # This is either your global API key, or an API token. If you are using an API token, it must have the permissions "Zone - DNS - Edit" and "Zone - Zone - Read". The Zone resources must be "Include - All zones".
|
||||||
#domain.tld,my.domain.tld
|
#domain.tld,my.domain.tld
|
||||||
|
|
||||||
|
|
@ -200,12 +197,23 @@ ssl=yes # use ssl-support. Works with
|
||||||
## Gandi (gandi.net)
|
## Gandi (gandi.net)
|
||||||
##
|
##
|
||||||
## Single host update
|
## Single host update
|
||||||
# protocol=gandi, \
|
# protocol=gandi
|
||||||
# zone=example.com, \
|
# zone=example.com
|
||||||
# password=my-gandi-api-key, \
|
# password=my-gandi-access-token
|
||||||
# ttl=3h \
|
# use-personal-access-token=yes
|
||||||
|
# ttl=10800 # optional
|
||||||
# myhost.example.com
|
# myhost.example.com
|
||||||
|
|
||||||
|
##
|
||||||
|
## GoDaddy (godaddy.com)
|
||||||
|
##
|
||||||
|
# protocol=godaddy, \
|
||||||
|
# password=my-godaddy-api-key, \
|
||||||
|
# password=my-godaddy-secret, \
|
||||||
|
# ttl=600 \
|
||||||
|
# zone=example.com, \
|
||||||
|
# myhost.example.com,nexthost.example.com
|
||||||
|
|
||||||
##
|
##
|
||||||
## Google Domains (www.google.com/domains)
|
## Google Domains (www.google.com/domains)
|
||||||
##
|
##
|
||||||
|
|
@ -233,12 +241,12 @@ ssl=yes # use ssl-support. Works with
|
||||||
##
|
##
|
||||||
## MyOnlinePortal (http://myonlineportal.net)
|
## MyOnlinePortal (http://myonlineportal.net)
|
||||||
##
|
##
|
||||||
# protocol=dyndns2
|
|
||||||
# ssl=yes
|
|
||||||
# # ipv6=yes # optional
|
# # ipv6=yes # optional
|
||||||
# use=web, web=myonlineportal.net/checkip
|
# use=web, web=myonlineportal.net/checkip
|
||||||
# # use=if, if=eth0 # alternative to use=web
|
# # use=if, if=eth0 # alternative to use=web
|
||||||
# # if-skip=Scope:Link # alternative to use=web
|
# # if-skip=Scope:Link # alternative to use=web
|
||||||
|
# protocol=dyndns2
|
||||||
|
# ssl=yes
|
||||||
# login=your-myonlineportal-username
|
# login=your-myonlineportal-username
|
||||||
# password=your-myonlineportal-password
|
# password=your-myonlineportal-password
|
||||||
# domain.myonlineportal.net
|
# domain.myonlineportal.net
|
||||||
|
|
@ -246,8 +254,8 @@ ssl=yes # use ssl-support. Works with
|
||||||
##
|
##
|
||||||
## nsupdate.info IPV4(https://www.nsupdate.info)
|
## nsupdate.info IPV4(https://www.nsupdate.info)
|
||||||
##
|
##
|
||||||
#protocol=dyndns2
|
|
||||||
#use=web, web=http://ipv4.nsupdate.info/myip
|
#use=web, web=http://ipv4.nsupdate.info/myip
|
||||||
|
#protocol=dyndns2
|
||||||
#server=ipv4.nsupdate.info
|
#server=ipv4.nsupdate.info
|
||||||
#login=domain.nsupdate.info
|
#login=domain.nsupdate.info
|
||||||
#password='123'
|
#password='123'
|
||||||
|
|
@ -257,8 +265,8 @@ ssl=yes # use ssl-support. Works with
|
||||||
## nsupdate.info IPV6 (https://www.nsupdate.info)
|
## nsupdate.info IPV6 (https://www.nsupdate.info)
|
||||||
## ddclient releases <= 3.8.1 do not support IPv6
|
## ddclient releases <= 3.8.1 do not support IPv6
|
||||||
##
|
##
|
||||||
#protocol=dyndns2
|
|
||||||
#usev6=if, if=eth0
|
#usev6=if, if=eth0
|
||||||
|
#protocol=dyndns2
|
||||||
#server=ipv6.nsupdate.info
|
#server=ipv6.nsupdate.info
|
||||||
#login=domain.nsupdate.info
|
#login=domain.nsupdate.info
|
||||||
#password='123'
|
#password='123'
|
||||||
|
|
@ -288,6 +296,16 @@ ssl=yes # use ssl-support. Works with
|
||||||
# password=your_password
|
# password=your_password
|
||||||
# test.example.com
|
# test.example.com
|
||||||
|
|
||||||
|
##
|
||||||
|
## Porkbun (https://porkbun.com/)
|
||||||
|
##
|
||||||
|
# protocol=porkbun
|
||||||
|
# apikey=APIKey
|
||||||
|
# secretapikey=SecretAPIKey
|
||||||
|
# root-domain=example.com
|
||||||
|
# host.example.com,host2.sub.example.com
|
||||||
|
# example.com,sub.example.com
|
||||||
|
|
||||||
##
|
##
|
||||||
## ClouDNS (https://www.cloudns.net)
|
## ClouDNS (https://www.cloudns.net)
|
||||||
##
|
##
|
||||||
|
|
@ -303,9 +321,79 @@ ssl=yes # use ssl-support. Works with
|
||||||
# password=mypassword \
|
# password=mypassword \
|
||||||
# myhost.mydomain.com
|
# myhost.mydomain.com
|
||||||
|
|
||||||
|
##
|
||||||
## dnsexit (www.dnsexit.com)
|
## dnsexit (www.dnsexit.com)
|
||||||
##
|
##
|
||||||
#protocol=dnsexit, \
|
#protocol=dnsexit, \
|
||||||
#login=myusername, \
|
#login=myusername, \
|
||||||
#password=mypassword, \
|
#password=mypassword, \
|
||||||
#subdomain-1.domain.com,subdomain-2.domain.com
|
#subdomain-1.domain.com,subdomain-2.domain.com
|
||||||
|
|
||||||
|
##
|
||||||
|
## dnsexit2 (API method www.dnsexit.com)
|
||||||
|
##
|
||||||
|
#protocol=dnsexit2
|
||||||
|
#password=MyAPIKey
|
||||||
|
#subdomain-1.domain.com,subdomain-2.domain.com
|
||||||
|
|
||||||
|
##
|
||||||
|
## domeneshop (www.domeneshop.no)
|
||||||
|
##
|
||||||
|
# protocol=domeneshop
|
||||||
|
# login=<token>
|
||||||
|
# password=<secret>
|
||||||
|
# subdomain-1.domain.com,subdomain-2.domain.com
|
||||||
|
|
||||||
|
##
|
||||||
|
## Njal.la (http://njal.la/)
|
||||||
|
##
|
||||||
|
# protocol=njalla,
|
||||||
|
# password=mypassword
|
||||||
|
# quietreply=no|yes
|
||||||
|
# my-domain.com
|
||||||
|
|
||||||
|
##
|
||||||
|
## regfish.de (www.regfish.de/)
|
||||||
|
##
|
||||||
|
# protocol=regfishde,
|
||||||
|
# password=mypassword
|
||||||
|
# my-domain.com
|
||||||
|
|
||||||
|
##
|
||||||
|
## Enom (www.enom.com)
|
||||||
|
##
|
||||||
|
# protocol=enom,
|
||||||
|
# login=domain.name,
|
||||||
|
# password=domain-password
|
||||||
|
# my-domain.com
|
||||||
|
|
||||||
|
##
|
||||||
|
## DigitalOcean (www.digitalocean.com)
|
||||||
|
##
|
||||||
|
#protocol=digitalocean, \
|
||||||
|
#zone=example.com, \
|
||||||
|
#password=api-token \
|
||||||
|
#example.com,sub.example.com
|
||||||
|
|
||||||
|
##
|
||||||
|
## Infomaniak (www.infomaniak.com)
|
||||||
|
##
|
||||||
|
# protocol=infomaniak,
|
||||||
|
# login=ddns_username,
|
||||||
|
# password=ddns_password
|
||||||
|
# example.com
|
||||||
|
#
|
||||||
|
# N.B. the infomaniak protocol is obsolete. Please use dyndns2 instead:
|
||||||
|
#
|
||||||
|
# protocol=dyndns2,
|
||||||
|
# use=web, web=infomaniak.com/ip.php/
|
||||||
|
# login=ddns_username,
|
||||||
|
# password=ddns_password
|
||||||
|
# redirect=2
|
||||||
|
# example.com
|
||||||
|
|
||||||
|
##
|
||||||
|
## Email Only
|
||||||
|
##
|
||||||
|
# protocol=emailonly
|
||||||
|
# noop
|
||||||
|
|
|
||||||
2902
ddclient.in
2902
ddclient.in
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue