• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.gitignoreH A D08-Jan-202035 65

COPYINGH A D08-Jan-202017.6 KiB341281

COPYRIGHTH A D08-Jan-2020869 2015

ChangeLogH A D08-Jan-202019.4 KiB655437

Changelog.oldH A D03-May-202210.8 KiB303249

README.ciscoH A D08-Jan-20201.1 KiB3527

README.mdH A D03-May-20228.2 KiB213166

README.sslH A D08-Jan-2020380 1410

RELEASENOTEH A D08-Jan-2020809 1916

TODOH A D08-Jan-2020376 1512

ddclientH A D03-May-2022185.4 KiB5,2754,073

sample-ddclient-wrapper.shH A D08-Jan-2020574 163

sample-etc_cron.d_ddclientH A D03-May-2022820 1716

sample-etc_ddclient.confH A D08-Jan-20208 KiB2886

sample-etc_dhclient-exit-hooksH A D03-May-2022497 1610

sample-etc_dhcpc_dhcpcd-eth0.exeH A D03-May-2022529 1910

sample-etc_ppp_ip-up.localH A D03-May-20221.2 KiB4321

sample-etc_rc.d_init.d_ddclientH A D03-May-20221.8 KiB9273

sample-etc_rc.d_init.d_ddclient.alpineH A D03-May-2022802 3932

sample-etc_rc.d_init.d_ddclient.lsbH A D03-May-20221.6 KiB6531

sample-etc_rc.d_init.d_ddclient.redhatH A D08-Jan-2020724 4227

sample-etc_rc.d_init.d_ddclient.ubuntuH A D03-May-20221.5 KiB5842

sample-etc_systemd.serviceH A D03-May-2022193 129

sample-get-ip-from-fritzboxH A D08-Jan-20201 KiB215

README.cisco

1Method 1 ------------------------------------------------------
2
3The following config will allow the Linux machine (10.1.1.2) to read
4the IP address from the DHCP interface on the Cisco router (eth0) as
5user ddclient.  Since ddclient is configured with a priv level of 1 it
6cannot do anything except look at the routers stats, ip addresses,
7etc.  This should be pretty harmless even if ddclient's password were
8to be discovered.
9
10This has been tested with Cisco IOS 12.1(5)T5 running on a Cisco 2621
11router.
12
13Cisco Router Config (Assuming eth0 is DHCP interface)
14-----------------------------------------------------
15user ddclient password password
16user ddclient priv 1
17ip http auth local
18ip http access-class 99
19ip http port 1021
20ip http server
21access-list 99 permit host 10.1.1.2
22
23DDClient Config
24---------------------------------------------------
25use=cisco, fw=10.1.1.1, if=eth0, fw-login=ddclient, fw-password=password
26
27
28Method 2 ------------------------------------------------------
29
30use=fw
31fw=192.168.1.1/exec/show/interfaces/CR
32fw-skip=FastEthernet0/0
33fw-login=ddclient
34fw-password=xxxxxxxx
35

README.md

1===============================================================================
2# DDCLIENT v3.9.1
3
4ddclient is a Perl client used to update dynamic DNS entries for accounts
5on many dynamic DNS services.
6
7===============================================================================
8
9Dynamic DNS services currently supported include:
10
11    DynDNS.com  - See http://www.dyndns.com for details on obtaining a free account.
12    Hammernode  - See http://www.hn.org for details on obtaining a free account.
13    Zoneedit    - See http://www.zoneedit.com for details.
14    EasyDNS     - See http://www.easydns.com for details.
15    NameCheap   - See http://www.namecheap.com for details
16    ConCont     - See http://www.dydns.za.net for details
17    DnsPark     - See http://www.dnspark.com for details
18    DslReports  - See http://www.dslreports.com for details
19    Sitelutions - See http://www.sitelutions.com for details
20    Loopia      - See http://www.loopia.se for details
21    Noip        - See http://www.noip.com/ for details
22    Freedns     - See http://freedns.afraid.org/ for details
23    ChangeIP    - See http://www.changeip.com/ for details
24    dtdns       - See http://www.dtdns.com/ for details
25    nsupdate    - See nsupdate(1) and ddns-confgen(8) for details
26    CloudFlare  - See https://www.cloudflare.com/ for details
27    Google      - See http://www.google.com/domains for details
28    Duckdns     - See https://duckdns.org/ for details
29    Freemyip    - See https://freemyip.com for details
30    woima.fi    - See https://woima.fi/ for details
31    Yandex      - See https://domain.yandex.com/ for details
32    DNS Made Easy - See https://dnsmadeeasy.com/ for details
33    DonDominio  - See https://www.dondominio.com for details
34    NearlyFreeSpeech.net - See https://www.nearlyfreespeech.net/services/dns for details
35
36DDclient now supports many of cable/dsl broadband routers.
37
38Comments, suggestions and requests: use the issues on
39	https://github.com/ddclient/ddclient/issues/new
40
41The code was originally written by Paul Burry and is now hosted and maintained
42through github.com. Please check out http://ddclient.net
43
44-------------------------------------------------------------------------------
45## REQUIREMENTS:
46
47- one or more accounts from one of the dynamic DNS services
48
49- Perl 5.014 or later
50  - `Data::Validate::IP` perl library
51  - `IO::Socket::SSL` perl library for ssl-support
52  - `JSON::PP` perl library for JSON support
53  - `IO::Socket:INET6` perl library for ipv6-support
54
55- Linux or probably any common Unix system
56
57-------------------------------------------------------------------------------
58## INSTALLATION:
59
60    cp ddclient /usr/local/sbin/
61    mkdir /etc/ddclient
62    mkdir /var/cache/ddclient
63    cp sample-etc_ddclient.conf /etc/ddclient/ddclient.conf
64    vi /etc/ddclient/ddclient.conf
65    -- and change hostnames, logins, and passwords appropriately
66
67    ## For those using systemd:
68    cp sample-etc_systemd.service /etc/systemd/system/ddclient.service
69    ## enable automatic startup when booting
70    systemctl enable ddclient.service
71    ## start the first time by hand
72    systemctl start ddclient.service
73
74    ## For those using Redhat style rc files and using daemon-mode:
75    cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient
76    ## enable automatic startup when booting
77    ## check your distribution
78    /sbin/chkconfig --add ddclient
79    ## start the first time by hand
80    /etc/rc.d/init.d/ddclient start
81
82    ## For those using Alpine style rc files and using daemon-mode:
83    cp sample-etc_rc.d_init.d_ddclient.alpine /etc/init.d/ddclient
84    ## enable automatic startup when booting
85    rc-update add ddclient
86    ## make sure you have perl installed
87    apk add perl
88    ## start the first time by hand
89    rc-service ddclient start
90
91    ## For those using Ubuntu style rc files and using daemon-mode:
92    cp sample-etc_rc.d_init.d_ddclient.ubuntu /etc/init.d/ddclient
93    ## enable automatic startup when booting
94    update-rc.d ddclient defaults
95    ## make sure you have perl and the required modules installed
96    apt-get install perl libdata-validate-ip-perl
97    ## if you plan to use cloudflare or feedns you need the perl json module
98    apt-get install libjson-any-perl
99    ## start the first time by hand
100    service ddclient start
101
102    ## If you are not using daemon-mode, configure cron and dhcp or ppp
103    ## as described below.
104
105-------------------------------------------------------------------------------
106## TROUBLESHOOTING:
107
108  1. enable debugging and verbose messages.
109	 ``$ ddclient -daemon=0 -debug -verbose -noquiet``
110
111  2. Do you need to specify a proxy?
112     If so, just add a
113	``proxy=your.isp.proxy``
114     to the ddclient.conf file.
115
116  3. Define the IP address of your router with ``fw=xxx.xxx.xxx.xxx`` in
117     ``/etc/ddclient/ddclient.conf`` and then try
118    	``$ ddclient -daemon=0 -query``
119     to see if the router status web page can be understood.
120
121  4. Need support for another router/firewall?
122     Define the router status page yourself with:
123	``fw=url-to-your-router``'s-status-page
124	``fw-skip=any-string-preceding-your-IP-address``
125
126     ddclient does something like this to provide builtin support for
127     common routers.
128     For example, the Linksys routers could have been added with:
129
130        fw=192.168.1.1/Status.htm
131	    fw-skip=WAN.*?IP Address
132
133     OR
134     Send me the output from:
135      $ ddclient -geturl {fw-ip-status-url} [-login login [-password password]]
136     and I'll add it to the next release!
137
138     ie. for my fw/router I used:
139	$ ddclient -geturl 192.168.1.254/status.htm
140
141  5. Some broadband routers require the use of a password when ddclient
142     accesses its status page to determine the router's WAN IP address.
143     If this is the case for your router, add
144	fw-login=your-router-login
145	fw-password=your-router-password
146     to the beginning of your ddclient.conf file.
147     Note that some routers use either 'root' or 'admin' as their login
148     while some others accept anything.
149
150-------------------------------------------------------------------------------
151## USING DDCLIENT WITH ppp
152
153If you are using a ppp connection, you can easily update your DynDNS
154entry with each connection, with:
155
156    ## configure pppd to update DynDNS with each connection
157    cp sample-etc_ppp_ip-up.local /etc/ppp/ip-up.local
158
159Alternatively, you may just configure ddclient to operate as a daemon
160and monitor your ppp interface.
161
162-------------------------------------------------------------------------------
163## USING DDCLIENT WITH cron
164
165If you have not configured ddclient to use daemon-mode, you'll need to
166configure cron to force an update once a month so that the dns entry will
167not become stale.
168
169    ## configure cron to force an update twice a month
170    cp sample-etc_cron.d_ddclient /etc/cron.d/ddclient
171    vi /etc/cron.d/ddclient
172
173-------------------------------------------------------------------------------
174## USING DDCLIENT WITH dhcpcd-1.3.17
175
176If you are using dhcpcd-1.3.17 or thereabouts, you can easily update
177your DynDNS entry automatically every time your lease is obtained
178or renewed by creating an executable file named:
179    /etc/dhcpc/dhcpcd-{your-interface}.exe
180ie.:
181    cp sample-etc_dhcpc_dhcpcd-eth0.exe /etc/dhcpc/dhcpcd-{your-interface}.exe
182
183In my case, it is named dhcpcd-eth0.exe and contains the lines:
184
185    #!/bin/sh
186    PATH=/usr/local/sbin:/root/bin:${PATH}
187    logger -t dhcpcd IP address changed to $1
188    ddclient -proxy fasthttp.sympatico.ca -wildcard -ip $1 | logger -t ddclient
189    exit 0
190
191Other DHCP clients may have another method of calling out to programs
192for updating DNS entries.
193
194Alternatively, you may just configure ddclient to operate as a daemon
195and monitor your ethernet interface.
196
197-------------------------------------------------------------------------------
198## USING DDCLIENT WITH dhclient
199
200If you are using the ISC DHCP client (dhclient), you can update
201your DynDNS entry automatically every time your lease is obtained
202or renewed by creating an executable file named:
203    /etc/dhclient-exit-hooks
204ie.:
205    cp sample-etc_dhclient-exit-hooks /etc/dhclient-exit-hooks
206
207Edit /etc/dhclient-exit-hooks to change any options required.
208
209Alternatively, you may just configure ddclient to operate as a daemon
210and monitor your ethernet interface.
211
212-------------------------------------------------------------------------------
213

README.ssl

1Since 3.7.0, ddclient support ssl-updates
2To use ssl, put "ssl=yes" in your configuration and make sure
3you have IO::Socket::SSL.
4
5On debian, you need libio-socket-ssl-perl to have IO::Socket::SSL
6
7On alpine, you need perl-io-socket-ssl to have IO::Socket::SSL
8
9ssl support is tested on folowing dynamic dns providers:
10- dyndns.com
11- freemyip.com
12- DNS Made Easy
13- dondominio.com
14