Reorganise
git-svn-id: svn+ssh://svn.code.sf.net/p/ddclient/code/svn@2 3873ddee-7413-0410-b6c4-c2c57c1ab35a
This commit is contained in:
commit
74f33b719d
15 changed files with 4272 additions and 0 deletions
340
COPYING
Normal file
340
COPYING
Normal file
|
@ -0,0 +1,340 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
19
COPYRIGHT
Normal file
19
COPYRIGHT
Normal file
|
@ -0,0 +1,19 @@
|
|||
ddclient - update client for www.dyndns.org accounts
|
||||
|
||||
Copyright (C) 1999 Paul Burry (paul@burry.ca)
|
||||
Copyright (C) 2000 Paul Burry (paul@burry.ca)
|
||||
Copyright (C) 2001 Paul Burry (paul@burry.ca)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
241
Changelog
Normal file
241
Changelog
Normal file
|
@ -0,0 +1,241 @@
|
|||
Changelog
|
||||
|
||||
cvs
|
||||
- Added vi tag
|
||||
- Added support for 2Wire 1701HG Gateway (see
|
||||
https://sourceforge.net/forum/message.php?msg_id=3496041 submitted by hemo)
|
||||
- added ssl-support by perlhaq
|
||||
- updated cvs version to 3.7.0-pre
|
||||
|
||||
3.6.7
|
||||
- modified sample-etc_rc.d_init.d_ddclient.lsb (bug #1231930)
|
||||
- support for ConCont Protocol (patch #1265128) submitted by seather_misery
|
||||
- problem with sending mail should be solved
|
||||
- corrected a few writing mistakes
|
||||
- support for 'NetComm NB3' adsl modem (submitted by crazyprog)
|
||||
- Added Sitelutions DynDNS, fixed minor Namecheap bug (patch #1346867)
|
||||
|
||||
3.6.6
|
||||
- support for olitec-SX200
|
||||
- added sample-etc_rc.d_init.d_ddclient.lsb as a sample script for lsb-compliant systems.
|
||||
- support for linksys wrt854g (thanks to Nick Triantos)
|
||||
- support for linksys ver 3
|
||||
- support for Thomson (Alcatel) SpeedTouch 510 (thanks to Aldoir)
|
||||
- Cosmetic fixes submitted by John Owens
|
||||
|
||||
3.6.5
|
||||
- there was a bug in the linksys-ver2
|
||||
- support for postscript (thanks to Larry Hendrickson)
|
||||
- Changelog out of README
|
||||
- modified all documentation to use /etc/ddclient/ddclient.conf (notified by nicolasmartin in bug [1070646])
|
||||
|
||||
3.6.4
|
||||
- added support for NameCheap service (thanks to Dan Boardman)
|
||||
- added support for linksys ver2 (thanks to Dan Perik)
|
||||
|
||||
3.6.3
|
||||
- renamed sample-etc_dhclient-enter-hooks to sample-etc_dhclient-exit-hooks
|
||||
- add support for the Allnet 1298 Router
|
||||
- add -a to ifconfig to query all interfaces (for Solaris and OpenBSD)
|
||||
- update the process status to reflect what is happening.
|
||||
- add a To: line when sending e-mail
|
||||
- add mail-failure to send mail on failures only
|
||||
- try all addresses for multihomed hosts (like check.dyndns.org)
|
||||
- add support for dnspark
|
||||
- add sample for OrgDNS.org
|
||||
|
||||
3.6.2
|
||||
- add support for Xsense Aero
|
||||
- add support for Alcatel Speedtouch Pro
|
||||
- do authentication when either the login or password are defined.
|
||||
- fix parsing of web status pages
|
||||
|
||||
- 3.6
|
||||
- add support for EasyDNS (see easydns.com)
|
||||
- add warning for possible incorrect continuation lines in the .conf file.
|
||||
- add if-skip with the default as was used before.
|
||||
- add cmd-skip.
|
||||
|
||||
- 3.5.4
|
||||
- added !active result code for DynDNS.org
|
||||
|
||||
- 3.5.2
|
||||
- avoid undefined variable in get_ip
|
||||
|
||||
- 3.5.1
|
||||
- fix parsing of quoted strings in .conf file
|
||||
- add filename and line number to any warnings regarding files.
|
||||
|
||||
- 3.5
|
||||
- allow any url to be specified for -fw {address|url}
|
||||
use -fw-skip {pattern} to specify a string preceding the IP address at the URL's page
|
||||
- allow any url to be specified for -web {address|url}
|
||||
use -web-skip {pattern} to specify a string preceding the IP address at the URL's page
|
||||
- modify -test to display any IP addresses that could be obtained from
|
||||
any interfaces, builtin fw definitions, or web status pages.
|
||||
|
||||
- 3.4.6 (not released)
|
||||
- fix errors in -help
|
||||
- allow non-FQDNs as hosts; dslreports requires this.
|
||||
- handle german ifconfig output
|
||||
- try to get english messages from ifconfig so other languages are handled too.
|
||||
- added support for com 3c886a 56k Lan Modem
|
||||
|
||||
- 3.4.5
|
||||
- handle french ifconfig output
|
||||
|
||||
- 3.4.4
|
||||
- added support for obtaining the IP address from a Cisco DHCP interface.
|
||||
(Thanks, Tim)
|
||||
|
||||
- 3.4.2
|
||||
- update last modified time when nochg is returned from dyndns
|
||||
- add example regarding fw-login and fw-password's required by some
|
||||
home routers
|
||||
|
||||
- 3.4.1
|
||||
- add option (-pid) to record process id in a file. This option should be
|
||||
defined in the .conf file as it is done in the sample.
|
||||
- add detection of SIGHUP. When this signal is received, ddclient will
|
||||
wake up immediately, reload it's configuration file, and update
|
||||
the IP addresses if necessary.
|
||||
|
||||
- 3.4
|
||||
- ALL PEOPLE USING THIS CLIENT ARE URGED TO UPGRADE TO 3.4 or better.
|
||||
- fixed several timer related bugs.
|
||||
- reformatted some messages.
|
||||
|
||||
- 3.3.8
|
||||
- added support for the ISDN channels on ELSA LANCOM DSL/10 router
|
||||
|
||||
- 3.3.7
|
||||
- suppress repeated identical e-mail messages.
|
||||
|
||||
- 3.3.6
|
||||
- added support for the ELSA LANCOM DSL/10 router
|
||||
- ignore 0.0.0.0 when obtained from any FW/router.
|
||||
|
||||
- 3.3.5
|
||||
- fixed sample ddclient.conf. fw-ip= should be fw=
|
||||
- fixed problem getting status pages for some routers
|
||||
|
||||
- 3.3.4
|
||||
- added support for the MaxGate's UGATE-3x00 routers
|
||||
|
||||
- 3.3.3
|
||||
- sample* correct checks for private addresses
|
||||
- add redhat specific sample-etc_rc.d_init.d_ddclient.redhat
|
||||
- make daemon-mode be the default when named ddclientd
|
||||
- added support for the Linksys BEF* Internet Routers
|
||||
|
||||
- 3.3.2
|
||||
- (sample-etc_rc.d_init.d_ddclient) set COLUMNS to a large number so that
|
||||
'ps -aef' will not prematurely truncate the CMD.
|
||||
|
||||
- 3.3
|
||||
- added rpm (thanks to Bo Forslund)
|
||||
- added support for the Netgear RT3xx Internet Routers
|
||||
- modified sample-etc_rc.d_init.d_ddclient to work with other Unix beside RedHat.
|
||||
- avoid rewritting the ddclient.cache file unnecessarily
|
||||
- fixed other minor bugs
|
||||
|
||||
- 3.2.0
|
||||
- add support for DynDNS's custom domain service.
|
||||
- change suggested directory to /usr/sbin
|
||||
|
||||
- 3.1.0
|
||||
- clean up; fix minor bugs.
|
||||
- removed -refresh
|
||||
- add min-interval to avoid too frequent update attempts.
|
||||
- add min-error-interval to avoid too frequent update attempts when the
|
||||
service is unavailable.
|
||||
|
||||
- 3.0.1
|
||||
- make all values case sensitive (ie. passwords)
|
||||
|
||||
- 3.0
|
||||
- new release!
|
||||
- new ddclient.conf format
|
||||
- rewritten to support DynDNS's NIC2 and other dynamic DNS services
|
||||
- added Hammernode (hn.org)
|
||||
- added ZoneEdit (zoneedit.com)
|
||||
- added DSLreports (dslreports.com) host monitoring
|
||||
- added support for obtaining IP addresses from
|
||||
- interfaces,
|
||||
- commands,
|
||||
- web,
|
||||
- external commands,
|
||||
- Watchguard's SOHO router
|
||||
- Netopia's R910 router
|
||||
- and SMC's Barracade
|
||||
- added daemon mode
|
||||
- added logging msgs to syslog and e-mail
|
||||
|
||||
- 2.3.7
|
||||
- add -refresh to the sample scripts so default arguments are obtained from the cache
|
||||
- added local-ip script for obtaining the address of an interface
|
||||
- added public-ip script for obtaining the ip address as seen from a public web page
|
||||
|
||||
- 2.3.6
|
||||
- fixed bug the broke enabling retrying when members.dyndns.org was down.
|
||||
|
||||
- 2.3.5
|
||||
- prevent warnings from earlier versions of Perl.
|
||||
|
||||
- 2.3.4
|
||||
- added sample-etc_dhclient-enter-hooks for those using the ISC DHCP client (dhclient)
|
||||
|
||||
- 2.3.3
|
||||
- make sure that ddclient.conf is only readable by the owner so that no one
|
||||
- else can see the password (courtesy of Steve Greenland).
|
||||
-- NOTE: you will need to change the permissions on ddclient.conf to prevent
|
||||
-- others from obtaining viewing your password.
|
||||
-- ie. chmod go-rwx /etc/ddclient.conf
|
||||
|
||||
- 2.3.2
|
||||
- make sure 'quiet' messages are printed when -verbose or -debug is enabled
|
||||
- fix error messages for those people using proxies.
|
||||
|
||||
- 2.3
|
||||
- fixed a problem reading in cached entries
|
||||
|
||||
|
||||
- 2.2.1
|
||||
- sample-etc_ppp_ip-up.local - local ip address is $4 or $PPP_LOCAL (for debian)
|
||||
- use <CR><LF> as the line terminator (some proxies are strict about this)
|
||||
|
||||
- 2.2
|
||||
- added support (-static) for updating static DNS (thanks Marc Sira)
|
||||
- changed ddclient.cache format (old style is still read)
|
||||
- sample-etc_ppp_ip-up.local - detect improper calling sequences
|
||||
- sample-etc_ppp_ip-up.local - local ip address is $3 or $PPP_LOCAL (for debian)
|
||||
|
||||
- 2.1.2
|
||||
- updated README
|
||||
|
||||
- 2.1.1
|
||||
- make sure result code reflects any failures
|
||||
- optionally (-quiet) omit messages for unnecessary updates
|
||||
- update sample-etc_cron.d_ddclient to use -quiet
|
||||
|
||||
- 2.1
|
||||
- avoid unnecessary updates by recording the last hosts updated in a
|
||||
cache file (default /etc/ddclient.cache)
|
||||
|
||||
- optionally (-force) force an update, even if it may be unnecessary.
|
||||
|
||||
This can be used to prevent dyndns.org from deleting a host that has not
|
||||
required an update for a long period of time.
|
||||
|
||||
- optionally (-refresh), reissue all host updates.
|
||||
|
||||
This can be used together with cron to periodically update DynDNS.
|
||||
See sample-etc-cron.d-ddclient for details.
|
||||
|
||||
- optionally (-retry) save failed updates for future processing.
|
||||
|
||||
This feature can be used to reissue updates that may have failed due to
|
||||
network connectivity problems or a DynDNS server outage
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
$Id$
|
173
README
Normal file
173
README
Normal file
|
@ -0,0 +1,173 @@
|
|||
===============================================================================
|
||||
DDCLIENT v3.6.7
|
||||
|
||||
ddclient is a Perl client used to update dynamic DNS entries for accounts
|
||||
on many dynamic DNS services.
|
||||
|
||||
IMPORTANT: The format and options used by ddclient have CHANGED.
|
||||
Please examine the sample configuration file.
|
||||
It is highly recommended that you take advantage of the
|
||||
new daemon mode of operation.
|
||||
|
||||
IMPORTANT: The installation location for the ddclient script has changed from
|
||||
/root/bin/
|
||||
to
|
||||
/usr/sbin/
|
||||
|
||||
===============================================================================
|
||||
|
||||
Dynamic DNS services currently supported include:
|
||||
|
||||
DynDNS.org - See http://www.dyndns.org for details on obtaining a free account.
|
||||
Hammernode - See http://www.hn.org for details on obtaining a free account.
|
||||
Zoneedit - See http://www.zoneedit.com for details.
|
||||
EasyDNS - See http://www.easydns.com for details.
|
||||
NameCheap - See http://www.namecheap.com for details
|
||||
ConCont - See http://www.dydns.za.net for details
|
||||
DnsPark - See http://www.dnspark.com for details
|
||||
DslReports - See http://www.dslreports.com for details
|
||||
Sitelutions - see http://www.sitelutions.com for details
|
||||
|
||||
DDclient now supports many of cable/dsl broadband routers.
|
||||
|
||||
Comments, suggestions and requests: use the forums on
|
||||
http://sourceforge.net/projects/ddclient/
|
||||
|
||||
The code was originally written by Paul Burry and is now hosted and maintained
|
||||
through sf.net. Please check out http://ddclient.sf.net and the project page.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
REQUIREMENTS:
|
||||
|
||||
- one or more accounts from one of the dynamic DNS services
|
||||
|
||||
- Perl 5.004 or later
|
||||
(you need the IO::Socket::SSL perl library for ssl-support)
|
||||
|
||||
- Linux or probably any common Unix system
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
INSTALLATION:
|
||||
|
||||
cp ddclient /usr/sbin/
|
||||
mkdir /etc/ddclient
|
||||
cp sample-etc_ddclient.conf /etc/ddclient/ddclient.conf
|
||||
vi /etc/ddclient/ddclient.conf
|
||||
-- and change hostnames, logins, and passwords appropriately
|
||||
|
||||
## For those using Redhat style rc files and using daemon-mode:
|
||||
cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient
|
||||
## enable automatic startup when booting
|
||||
/sbin/chkconfig --add ddclient
|
||||
## start the first time by hand
|
||||
/etc/rc.d/init.d/ddclient start
|
||||
|
||||
## If you are not using daemon-mode, configure cron and dhcp or ppp
|
||||
## as described below.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
TROUBLESHOOTING:
|
||||
|
||||
1. enable debugging and verbose messages.
|
||||
$ ddclient -daemon=0 -debug -verbose -noquiet
|
||||
|
||||
2. Do you need to specify a proxy?
|
||||
If so, just add a
|
||||
proxy=your.isp.proxy
|
||||
to the ddclient.conf file.
|
||||
|
||||
3. Define the IP address of your router with fw=xxx.xxx.xxx.xxx in
|
||||
/etc/ddclient/ddclient.conf and then try
|
||||
$ ddclient -daemon=0 -query
|
||||
to see if the router status web page can be understood.
|
||||
|
||||
4. Need support for another router/firewall?
|
||||
Define the router status page yourself with:
|
||||
fw=url-to-your-router's-status-page
|
||||
fw-skip=any-string-preceding-your-IP-address
|
||||
|
||||
ddclient does something like this to provide builtin support for
|
||||
common routers.
|
||||
For example, the Linksys routers could have been added with:
|
||||
fw=192.168.1.1/Status.htm
|
||||
fw-skip=WAN.*?IP Address
|
||||
|
||||
OR
|
||||
Send me the output from:
|
||||
$ ddclient -geturl {fw-ip-status-url} [-login login [-password password]]
|
||||
and I'll add it to the next release!
|
||||
|
||||
ie. for my fw/router I used:
|
||||
$ ddclient -geturl 192.168.1.254/status.htm
|
||||
|
||||
5. Some broadband routers require the use of a password when ddclient
|
||||
accesses its status page to determine the router's WAN IP address.
|
||||
If this is the case for your router, add
|
||||
fw-login=your-router-login
|
||||
fw-password=your-router-password
|
||||
to the beginning of your ddclient.conf file.
|
||||
Note that some routers use either 'root' or 'admin' as their login
|
||||
while some others accept anything.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
USING DDCLIENT WITH ppp
|
||||
|
||||
If you are using a ppp connection, you can easily update your DynDNS
|
||||
entry with each connection, with:
|
||||
## configure pppd to update DynDNS with each connection
|
||||
cp sample-etc_ppp_ip-up.local /etc/ppp/ip-up.local
|
||||
|
||||
Alternatively, you may just configure ddclient to operate as a daemon
|
||||
and monitor your ppp interface.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
USING DDCLIENT WITH cron
|
||||
|
||||
If you have not configured ddclient to use daemon-mode, you'll need to
|
||||
configure cron to force an update once a month so that the dns entry will
|
||||
not become stale.
|
||||
|
||||
## configure cron to force an update twice a month
|
||||
cp sample-etc_cron.d_ddclient /etc/cron.d/ddclient
|
||||
vi /etc/cron.d/ddclient
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
USING DDCLIENT WITH dhcpcd-1.3.17
|
||||
|
||||
If you are using dhcpcd-1.3.17 or thereabouts, you can easily update
|
||||
your DynDNS entry automatically every time your lease is obtained
|
||||
or renewed by creating an executable file named:
|
||||
/etc/dhcpc/dhcpcd-{your-interface}.exe
|
||||
ie.:
|
||||
cp sample-etc_dhcpc_dhcpcd-eth0.exe /etc/dhcpc/dhcpcd-{your-interface}.exe
|
||||
|
||||
In my case, it is named dhcpcd-eth0.exe and contains the lines:
|
||||
#!/bin/sh
|
||||
PATH=/usr/sbin:/root/bin:${PATH}
|
||||
logger -t dhcpcd IP address changed to $1
|
||||
ddclient -proxy fasthttp.sympatico.ca -wildcard -ip $1 | logger -t ddclient
|
||||
exit 0
|
||||
|
||||
Other DHCP clients may have another method of calling out to programs
|
||||
for updating DNS entries.
|
||||
|
||||
Alternatively, you may just configure ddclient to operate as a daemon
|
||||
and monitor your ethernet interface.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
USING DDCLIENT WITH dhclient
|
||||
|
||||
If you are using the ISC DHCP client (dhclient), you can update
|
||||
your DynDNS entry automatically every time your lease is obtained
|
||||
or renewed by creating an executable file named:
|
||||
/etc/dhclient-exit-hooks
|
||||
ie.:
|
||||
cp sample-etc_dhclient-exit-hooks /etc/dhclient-exit-hooks
|
||||
|
||||
Edit /etc/dhclient-exit-hooks to change any options required.
|
||||
|
||||
Alternatively, you may just configure ddclient to operate as a daemon
|
||||
and monitor your ethernet interface.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
$Id$
|
35
README.cisco
Normal file
35
README.cisco
Normal file
|
@ -0,0 +1,35 @@
|
|||
$Id$
|
||||
Method 1 ------------------------------------------------------
|
||||
|
||||
The following config will allow the Linux machine (10.1.1.2) to read
|
||||
the IP address from the DHCP interface on the Cisco router (eth0) as
|
||||
user ddclient. Since ddclient is configured with a priv level of 1 it
|
||||
cannot do anything except look at the routers stats, ip addresses,
|
||||
etc. This should be pretty harmless even if ddclient's password were
|
||||
to be discovered.
|
||||
|
||||
This has been tested with Cisco IOS 12.1(5)T5 running on a Cisco 2621
|
||||
router.
|
||||
|
||||
Cisco Router Config (Assuming eth0 is DHCP interface)
|
||||
-----------------------------------------------------
|
||||
user ddclient password password
|
||||
user ddclient priv 1
|
||||
ip http auth local
|
||||
ip http access-class 99
|
||||
ip http port 1021
|
||||
ip http server
|
||||
access-list 99 permit host 10.1.1.2
|
||||
|
||||
DDClient Config
|
||||
---------------------------------------------------
|
||||
use=cisco, fw=10.1.1.1, if=eth0, fw-login=ddclient, fw-password=password
|
||||
|
||||
|
||||
Method 2 ------------------------------------------------------
|
||||
|
||||
use=fw
|
||||
fw=192.168.1.1/exec/show/interfaces/CR
|
||||
fw-skip=FastEthernet0/0
|
||||
fw-login=ddclient
|
||||
fw-password=xxxxxxxx
|
9
README.ssl
Normal file
9
README.ssl
Normal file
|
@ -0,0 +1,9 @@
|
|||
$Id$
|
||||
|
||||
Since 3.7.0, ddclient support ssl-updates
|
||||
To use ssl, put "ssl=yes" in your configuration and make sure
|
||||
you have IO::Socket::SSL.
|
||||
|
||||
On debian, you need libio-socket-ssl-perl to have IO::Socket::SSL
|
||||
ssl support is tested on folowing dynamic dns providers:
|
||||
- dyndns.org
|
17
sample-etc_cron.d_ddclient
Normal file
17
sample-etc_cron.d_ddclient
Normal file
|
@ -0,0 +1,17 @@
|
|||
######################################################################
|
||||
## ddclient is an IP address updater for www.dyndns.org
|
||||
## $Id$
|
||||
######################################################################
|
||||
## minute 0-59
|
||||
## hour 0-23
|
||||
## day of month 1-31
|
||||
## month 1-12 (or names, see below)
|
||||
## day of week 0-7 (0 or 7 is Sun, or use names)
|
||||
######################################################################
|
||||
## force an update twice a month (only if you are not using daemon-mode)
|
||||
##
|
||||
## 30 23 1,15 * * root /usr/sbin/ddclient -daemon=0 -syslog -quiet -force
|
||||
######################################################################
|
||||
## retry failed updates every hour (only if you are not using daemon-mode)
|
||||
##
|
||||
## 0 * * * * root /usr/sbin/ddclient -daemon=0 -syslog -quiet retry
|
160
sample-etc_ddclient.conf
Normal file
160
sample-etc_ddclient.conf
Normal file
|
@ -0,0 +1,160 @@
|
|||
######################################################################
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
## Define default global variables with lines like:
|
||||
## var=value [, var=value]*
|
||||
## These values will be used for each following host unless overridden
|
||||
## with a local variable definition.
|
||||
##
|
||||
## Define local variables for one or more hosts with:
|
||||
## var=value [, var=value]* host.and.domain[,host2.and.domain...]
|
||||
##
|
||||
## Lines can be continued on the following line by ending the line
|
||||
## with a \
|
||||
##
|
||||
##
|
||||
## Warning: not all supported routers or dynamic DNS services
|
||||
## are mentioned here.
|
||||
##
|
||||
######################################################################
|
||||
daemon=300 # check every 300 seconds
|
||||
syslog=yes # log update msgs to syslog
|
||||
mail=root # mail all msgs to root
|
||||
mail-failure=root # mail failed update msgs to root
|
||||
pid=/var/run/ddclient.pid # record PID in file.
|
||||
ssl=yes # use ssl-support. Works with
|
||||
# ssl-library
|
||||
#
|
||||
#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=smc-barricade, fw=192.168.123.254:80 # via SMC's Barricade FW
|
||||
#use=netgear-rt3xx, fw=192.168.0.1:80 # via Netgear's internet FW
|
||||
#use=linksys, fw=192.168.1.1:80 # via Linksys's internet FW
|
||||
#use=maxgate-ugate3x00, fw=192.168.0.1:80 # via MaxGate's UGATE-3x00 FW
|
||||
#use=elsa-lancom-dsl10, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
|
||||
#use=elsa-lancom-dsl10-ch01, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
|
||||
#use=elsa-lancom-dsl10-ch02, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
|
||||
#use=alcatel-stp, fw=10.0.0.138:80 # via Alcatel Speed Touch Pro
|
||||
#use=xsense-aero, fw=192.168.1.1:80 # via Xsense Aero Router
|
||||
#use=allnet-1298, fw=192.168.1.1:80 # via AllNet 1298 DSL Router
|
||||
#use=3com-oc-remote812, fw=192.168.0.254:80 # via 3com OfficeConnect Remote 812
|
||||
#use=e-tech, fw=192.168.1.1:80 # via E-tech Router
|
||||
#use=cayman-3220h, fw=192.168.0.1:1080 # via Cayman 3220-H DSL Router
|
||||
#
|
||||
#fw-login=admin, fw-password=XXXXXX # FW login and password
|
||||
#
|
||||
## To obtain an IP address from FW status page (using fw-login, fw-password)
|
||||
#use=fw, fw=192.168.1.254/status.htm, fw-skip='IP Address' # found after IP Address
|
||||
#
|
||||
## To obtain an IP address from Web status page (using the proxy if defined)
|
||||
#use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address
|
||||
#
|
||||
#use=ip, ip=127.0.0.1 # via static IP's
|
||||
#use=if, if=eth0 # via interfaces
|
||||
#use=web # via web
|
||||
#
|
||||
#protocol=dyndns2 # default protocol
|
||||
#proxy=fasthttp.sympatico.ca:80 # default proxy
|
||||
#server=members.dyndns.org # default server
|
||||
#server=members.dyndns.org:8245 # default server (bypassing proxies)
|
||||
|
||||
#login=your-login # default login
|
||||
#password=test # default password
|
||||
#mx=mx.for.your.host # default MX
|
||||
#backupmx=yes|no # host is primary MX?
|
||||
#wildcard=yes|no # add wildcard CNAME?
|
||||
|
||||
##
|
||||
## dyndns.org dynamic addresses
|
||||
##
|
||||
## (supports variables: wildcard,mx,backupmx)
|
||||
##
|
||||
# server=members.dyndns.org, \
|
||||
# protocol=dyndns2 \
|
||||
# your-dynamic-host.dyndns.org
|
||||
|
||||
##
|
||||
## dyndns.org static addresses
|
||||
##
|
||||
## (supports variables: wildcard,mx,backupmx)
|
||||
##
|
||||
# static=yes, \
|
||||
# server=members.dyndns.org, \
|
||||
# protocol=dyndns2 \
|
||||
# your-static-host.dyndns.org
|
||||
|
||||
##
|
||||
##
|
||||
## dyndns.org custom addresses
|
||||
##
|
||||
## (supports variables: wildcard,mx,backupmx)
|
||||
##
|
||||
# custom=yes, \
|
||||
# server=members.dyndns.org, \
|
||||
# protocol=dyndns2 \
|
||||
# your-domain.top-level,your-other-domain.top-level
|
||||
|
||||
##
|
||||
## ZoneEdit (zoneedit.com)
|
||||
##
|
||||
# server=www.zoneedit.com, \
|
||||
# protocol=zoneedit1, \
|
||||
# login=your-zoneedit-login, \
|
||||
# password=your-zoneedit-password \
|
||||
# your.any.domain,your-2nd.any.dom
|
||||
|
||||
##
|
||||
## EasyDNS (easydns.com)
|
||||
##
|
||||
# server=members.easydns.com, \
|
||||
# protocol=easydns, \
|
||||
# login=your-easydns-login, \
|
||||
# password=your-easydns-password \
|
||||
# your.any.domain,your-2nd.any.domain
|
||||
|
||||
##
|
||||
## Hammernode (hn.org) dynamic addresses
|
||||
##
|
||||
# server=dup.hn.org, \
|
||||
# protocol=hammernode1, \
|
||||
# login=your-hn-login, \
|
||||
# password=your-hn-password \
|
||||
# your-hn-host.hn.org,your-2nd-hn-host.hn.org
|
||||
|
||||
##
|
||||
## dslreports.com dynamic-host monitoring
|
||||
##
|
||||
# server=members.dslreports.com \
|
||||
# protocol=dslreports1, \
|
||||
# login=dslreports-login, \
|
||||
# password=dslreports-password \
|
||||
# dslreports-unique-id
|
||||
|
||||
##
|
||||
## OrgDNS.org account-configuration
|
||||
##
|
||||
# use=web, web=members.orgdns.org/nic/ip
|
||||
# server=www.orgdns.org \
|
||||
# protocol=dyndns2 \
|
||||
# login=yourLoginName \
|
||||
# password=yourPassword \
|
||||
# yourSubdomain.orgdns.org
|
||||
|
||||
##
|
||||
## dnspark.com
|
||||
## (supports variables: mx, mxpri)
|
||||
##
|
||||
# use=web, web=ipdetect.dnspark.com, web-skip='Current Address:'
|
||||
# protocol=dnspark, \
|
||||
# server=www.dnspark.com, \
|
||||
# your-host.dnspark.com
|
||||
|
||||
##
|
||||
## NameCheap (namecheap.com)
|
||||
##
|
||||
# protocol=namecheap, \
|
||||
# server=dynamicdns.park-your-domain.com, \
|
||||
# login=my-namecheap.com-login, \
|
||||
# password=my-namecheap.com-password \
|
||||
# myhost.namecheap.com
|
17
sample-etc_dhclient-exit-hooks
Normal file
17
sample-etc_dhclient-exit-hooks
Normal file
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
######################################################################
|
||||
## $Id$
|
||||
######################################################################
|
||||
# The /etc/dhclient-enter-hooks script is run by the ISC DHCP client's standard
|
||||
# update script whenever dhclient obtains or renews an address.
|
||||
|
||||
PATH=/usr/sbin:${PATH}
|
||||
case "$new_ip_address" in
|
||||
10.*) ;;
|
||||
172.1[6-9].* | 172.2[0-9].* | 172.3[0-1].*) ;;
|
||||
192.168.*) ;;
|
||||
*)
|
||||
logger -t dhclient IP address changed to $new_ip_address
|
||||
ddclient -daemon=0 -syslog -use=ip -ip=$new_ip_address >/dev/null 2>&1
|
||||
;;
|
||||
esac
|
20
sample-etc_dhcpc_dhcpcd-eth0.exe
Normal file
20
sample-etc_dhcpc_dhcpcd-eth0.exe
Normal file
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
######################################################################
|
||||
## $Id$
|
||||
######################################################################
|
||||
PATH=/usr/sbin:${PATH}
|
||||
|
||||
## update the DNS server unless the IP address is a private address
|
||||
## that may be used as an internal LAN address. This may be true if
|
||||
## other interfaces are assigned private addresses from internal
|
||||
## DHCP server.
|
||||
|
||||
case "$1" in
|
||||
10.*) ;;
|
||||
172.1[6-9].* | 172.2[0-9].* | 172.3[0-1].*) ;;
|
||||
192.168.*) ;;
|
||||
*)
|
||||
logger -t dhcpcd IP address changed to $1
|
||||
ddclient -daemon=0 -syslog -use=ip -ip=$1 >/dev/null 2>&1
|
||||
;;
|
||||
esac
|
40
sample-etc_ppp_ip-up.local
Normal file
40
sample-etc_ppp_ip-up.local
Normal file
|
@ -0,0 +1,40 @@
|
|||
#!/bin/sh
|
||||
######################################################################
|
||||
## $Id$
|
||||
######################################################################
|
||||
##
|
||||
## On my host, pppd invokes this script with args:
|
||||
## /etc/ppp/ip-up.local ppp0 /dev/pts/1 115200 192.168.2.1 192.168.2.3
|
||||
##
|
||||
## From the manual page for my pppd, these aguments are:
|
||||
## scriptname interface-name tty-device speed local-IP-address remote-IP-address ipparam
|
||||
##
|
||||
## Some people have reported that their pppd returns their
|
||||
## local-IP-address as $3. If that's also the case for you,
|
||||
## you may need to change the $4 below to $3. This may not
|
||||
## be necessary if your pppd also passes the local-ip-address
|
||||
## in the environment as either PPP_LOCAL or IPLOCAL.
|
||||
##
|
||||
######################################################################
|
||||
PATH=/usr/sbin:${PATH}
|
||||
IP=
|
||||
IP=${IP:-$PPP_LOCAL}
|
||||
IP=${IP:-$IPLOCAL}
|
||||
IP=${IP:-$4}
|
||||
|
||||
## update the DNS server unless the IP address is a private address
|
||||
## that may be used as an internal LAN address (or PPtP tunnel).
|
||||
|
||||
logger -t ddclient $0 $*
|
||||
case "$IP" in
|
||||
10.*) ;;
|
||||
172.1[6-9].* | 172.2[0-9].* | 172.3[0-1].*) ;;
|
||||
192.168.*) ;;
|
||||
"") logger -t ddclient No local IP given so cannot update
|
||||
;;
|
||||
*) (
|
||||
sleep 5
|
||||
ddclient -daemon=0 -syslog -use=if -if=$1 >/dev/null 2>&1
|
||||
) &
|
||||
;;
|
||||
esac
|
54
sample-etc_rc.d_init.d_ddclient
Executable file
54
sample-etc_rc.d_init.d_ddclient
Executable file
|
@ -0,0 +1,54 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# ddclient This shell script takes care of starting and stopping
|
||||
# ddclient.
|
||||
#
|
||||
# chkconfig: 2345 65 35
|
||||
# description: ddclient provides support for updating dynamic DNS services.
|
||||
|
||||
[ -f /etc/ddclient/ddclient.conf ] || exit 0
|
||||
|
||||
PATH=/usr/sbin:${PATH}
|
||||
COLUMNS=9999
|
||||
export PATH COLUMNS
|
||||
|
||||
program=ddclient
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
# Start daemon.
|
||||
echo -n "Starting ddclient: "
|
||||
ddclient -daemon 300
|
||||
echo
|
||||
;;
|
||||
stop)
|
||||
# Stop daemon.
|
||||
echo -n "Shutting down ddclient: "
|
||||
kill `ps -aef | awk '/[ \/]perl.*ddclient/ { print $2}'`
|
||||
echo
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
status)
|
||||
pids=`ps -aef | awk '/[ \/]perl.*ddclient/ { print $2}'`
|
||||
if test "$pids"
|
||||
then
|
||||
for p in $pids
|
||||
do
|
||||
echo "$program (pid $p) is running"
|
||||
done
|
||||
else
|
||||
echo "$program is stopped"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Usage: ddclient {start|stop|restart|status}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
66
sample-etc_rc.d_init.d_ddclient.lsb
Executable file
66
sample-etc_rc.d_init.d_ddclient.lsb
Executable file
|
@ -0,0 +1,66 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# ddclient This shell script takes care of starting and stopping
|
||||
# ddclient.
|
||||
#
|
||||
# chkconfig: 2345 65 35
|
||||
# description: ddclient provides support for updating dynamic DNS services.
|
||||
#
|
||||
# Above is for RedHat and now the LSB part
|
||||
### BEGIN INIT INFO
|
||||
# Provides: ddclient
|
||||
# Required-Start: $syslog $remote_fs
|
||||
# Should-Start: $time ypbind sendmail
|
||||
# Required-Stop: $syslog $remote_fs
|
||||
# Should-Stop: $time ypbind sendmail
|
||||
# Default-Start: 3 5
|
||||
# Default-Stop: 0 1 2 6
|
||||
# Short-Description: ddclient provides support for updating dynamic DNS services
|
||||
# Description: ddclient is a Perl client used to update dynamic DNS
|
||||
# entries for accounts on many dynamic DNS services and
|
||||
# can be used on many types of firewalls
|
||||
### END INIT INFO
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
###
|
||||
|
||||
[ -f /etc/ddclient/ddclient.conf ] || exit 0
|
||||
|
||||
DDCLIENT_BIN=/usr/sbin/ddclient
|
||||
|
||||
#
|
||||
# LSB Standard (SuSE,RedHat,...)
|
||||
#
|
||||
if [ -f /lib/lsb/init-functions ] ; then
|
||||
. /lib/lsb/init-functions
|
||||
fi
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting ddclient "
|
||||
start_daemon $DDCLIENT_BIN -daemon 300
|
||||
rc_status -v
|
||||
;;
|
||||
stop)
|
||||
echo -n "Shutting down ddclient "
|
||||
killproc -TERM `basename $DDCLIENT_BIN`
|
||||
rc_status -v
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
rc_status
|
||||
;;
|
||||
status)
|
||||
echo -n "Checking for service ddclient "
|
||||
checkproc `basename $DDCLIENT_BIN`w
|
||||
rc_status -v
|
||||
;;
|
||||
*)
|
||||
echo "Usage: ddclient {start|stop|restart|status}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
41
sample-etc_rc.d_init.d_ddclient.redhat
Executable file
41
sample-etc_rc.d_init.d_ddclient.redhat
Executable file
|
@ -0,0 +1,41 @@
|
|||
#!/bin/sh
|
||||
# $Id$
|
||||
# ddclient This shell script takes care of starting and stopping
|
||||
# ddclient.
|
||||
#
|
||||
# chkconfig: 2345 65 35
|
||||
# description: ddclient provides support for updating dynamic DNS services.
|
||||
|
||||
[ -f /etc/ddclient/ddclient.conf ] || exit 0
|
||||
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start)
|
||||
# Start daemon.
|
||||
echo -n "Starting ddclient: "
|
||||
touch /var/lock/subsys/ddclient
|
||||
daemon ddclient -daemon 300
|
||||
echo
|
||||
;;
|
||||
stop)
|
||||
# Stop daemon.
|
||||
echo -n "Shutting down ddclient: "
|
||||
killproc ddclient
|
||||
echo
|
||||
rm -f /var/lock/subsys/ddclient
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
status)
|
||||
status ddclient
|
||||
;;
|
||||
*)
|
||||
echo "Usage: ddclient {start|stop|restart|status}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
Loading…
Reference in a new issue