Adding original code (r136)
This commit is contained in:
commit
6ec499ee06
21 changed files with 5137 additions and 0 deletions
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
patches
|
||||||
|
release
|
||||||
|
.svn
|
||||||
|
.cvsignore
|
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
|
304
Changelog
Normal file
304
Changelog
Normal file
|
@ -0,0 +1,304 @@
|
||||||
|
Changelog
|
||||||
|
3.7.3
|
||||||
|
* Changelog moved to more correct ChangeLog
|
||||||
|
generated by svn2cl --group-by-day -i
|
||||||
|
See http://tinyurl.com/2fzhc6
|
||||||
|
|
||||||
|
3.7.2
|
||||||
|
* Preventing unitialized values, check
|
||||||
|
https://sourceforge.net/forum/message.php?msg_id=4167772
|
||||||
|
* added a TODO list
|
||||||
|
* Removed the two empty lines at the end of ddclient
|
||||||
|
* Applied checked_ssl_load.diff from Ubuntu
|
||||||
|
* Cosmetic change about checkip
|
||||||
|
* Changed nic_namecheap_update following the suggestion of edmdude
|
||||||
|
on the forum (https://sourceforge.net/forum/message.php?msg_id=4316938)
|
||||||
|
* Applied easydns.patch
|
||||||
|
* 3com-oc-remote812 patch by The_Beast via IRC.
|
||||||
|
* Applied eurodns.patch
|
||||||
|
|
||||||
|
3.7.1
|
||||||
|
* URL of zoneedit has changed (see bug #1558483)
|
||||||
|
* Added initscript for Ubuntu (posted by Paolo Martinelli)
|
||||||
|
* Added patch "Patch: Treat --daemon values as intervals"
|
||||||
|
(submitted by James deBoer)
|
||||||
|
* Don't send any mail when in not running daemon mode
|
||||||
|
(patch submitted by Daniel Thaler)
|
||||||
|
* Changed Changelog syntax
|
||||||
|
* Applied patches submitted by Torsten:
|
||||||
|
abuse_msg.diff: ddclient still reports the email to contact dyndns.org
|
||||||
|
but they prefer a web form today (IIRC). This patch adjusts the abuse
|
||||||
|
warning printed by ddclient.
|
||||||
|
cachedir.diff: Original ddclient stores a cache file in /etc which
|
||||||
|
would belong in /var/cache in my opinion and according to the FHS.
|
||||||
|
help_nonroot.diff: Allow calling the help function as non-root.
|
||||||
|
update-new-config.patch: Force update if config has changed
|
||||||
|
smc-barricade-7401bra.patch: Support for SMC Barricade 7401BRA FW
|
||||||
|
firewall
|
||||||
|
cisco_fw.diff: Use configured hostname for firewall access
|
||||||
|
with -use=cisco (closes: #345712). Thanks to Per Carlson for the
|
||||||
|
patch! See http://bugs.debian.org/345712.
|
||||||
|
maxinterval.diff: Increase max interval for updates.
|
||||||
|
See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=129370
|
||||||
|
http://www.dyndns.com/support/services/dyndns/faq.html#q15
|
||||||
|
* Changed max-interval to 25days. See
|
||||||
|
https://www.dyndns.com/services/dns/dyndns/faq.html
|
||||||
|
|
||||||
|
|
||||||
|
3.7.0
|
||||||
|
- 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
|
||||||
|
- added support for Linksys RV042, see feature requests #1501093, #1500877
|
||||||
|
- added support for netgear-rp614, see feature request #1237039
|
||||||
|
- added support for watchguard-edge-x, patch #1468981
|
||||||
|
- added support for dlink-524, see patch #1314272
|
||||||
|
- added support for rtp300
|
||||||
|
- added support for netgear-wpn824
|
||||||
|
- added support for linksys-wcg200, see patch #1280713
|
||||||
|
- added support for netgear-dg834g, see patch #1176425
|
||||||
|
- added support for netgear-wgt624, see patch #1165209
|
||||||
|
- added support for sveasoft, see patch #1102432
|
||||||
|
- added support for smc-barricade-7004vbr, see patch #1087989
|
||||||
|
- added support for sitecom-dc202, see patch #1060119
|
||||||
|
- fixed the error of stripping out '#' in the middle of password, bug #1465932
|
||||||
|
- fixed a couple bugs in sample-etc_rc.d_init.d_ddclient and added some extra auto distro detection
|
||||||
|
- added the validation of values when reading the configuration value.
|
||||||
|
- this fixes a bug when trying to use periods/intervals in the daemon check times, bug #1209743
|
||||||
|
- added timeout option to the IO::Socket call for timing out the initial connection, bug: #1085110
|
||||||
|
|
||||||
|
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: Changelog 96 2008-06-13 20:24:24Z wimpunk $
|
||||||
|
------------------------------------------------------------------------
|
176
README
Normal file
176
README
Normal file
|
@ -0,0 +1,176 @@
|
||||||
|
===============================================================================
|
||||||
|
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.com - See http://www.dyndns.com 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
|
||||||
|
Loopia - See http://www.loopia.se 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 sourceforge.net. Please check out http://ddclient.sf.net
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
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
|
||||||
|
mkdir /var/cache/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
|
||||||
|
## check your distribution
|
||||||
|
/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: README 112 2009-09-10 10:21:19Z wimpunk $
|
35
README.cisco
Normal file
35
README.cisco
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
$Id: README.cisco 96 2008-06-13 20:24:24Z wimpunk $
|
||||||
|
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
|
10
README.ssl
Normal file
10
README.ssl
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
$Id: README.ssl 96 2008-06-13 20:24:24Z wimpunk $
|
||||||
|
|
||||||
|
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.com
|
11
RELEASENOTE
Normal file
11
RELEASENOTE
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
It's been a while but here is new release of ddclient. There are some important
|
||||||
|
changes and some documentation is modified. A detailed overview can be found
|
||||||
|
in ChangeLog but here's a quick overview:
|
||||||
|
|
||||||
|
* Added ddclient-noip.patch send by Kurt Bussche.
|
||||||
|
* Added and applied default timeout patch from
|
||||||
|
https://bugs.launchpad.net/ubuntu/+source/ddclient/+bug/116066
|
||||||
|
* Sending mail when killed, not after TERM-signal
|
||||||
|
* Added support for multiple IP adresses.
|
||||||
|
|
||||||
|
|
14
TODO
Normal file
14
TODO
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
* ssl:
|
||||||
|
- check if the library can be used
|
||||||
|
- ssl on routers
|
||||||
|
- ssl on other providers
|
||||||
|
|
||||||
|
* notice about irc: there's almost always someone there but we're sometimes idle
|
||||||
|
or at work...
|
||||||
|
* adding router: halted, only in patches section.
|
||||||
|
* add doc postscript
|
||||||
|
* FAQ: bad hostname (checkip)
|
||||||
|
* note about init-scripts.
|
||||||
|
* request from dyndns: http://tinyurl.com/2l3twf
|
||||||
|
|
||||||
|
* check bugs
|
0
UPGRADE
Normal file
0
UPGRADE
Normal file
15
sample-ddclient-wrapper.sh
Executable file
15
sample-ddclient-wrapper.sh
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# This wrapper should be usefull for people who want to run a postscript with
|
||||||
|
# multiple arguments. Currently ddclient has a feature which doesn't allow
|
||||||
|
# multiple arguments.
|
||||||
|
# This example has been written to be able to update multiple domains with
|
||||||
|
# multiple login. It expects a /etc/ddclient/ddclient-domain2.conf with the
|
||||||
|
# configuration of the extra domain
|
||||||
|
|
||||||
|
# the second domain who has to be updated
|
||||||
|
: ${SECONDCONFIG:=/etc/ddclient/ddclient-domain2.conf}
|
||||||
|
# ddclient adds the new IP as argument
|
||||||
|
IP=$1
|
||||||
|
|
||||||
|
ddclient -ip ${IP} -file ${SECONDCONFIG} -daemon 0
|
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: sample-etc_cron.d_ddclient 96 2008-06-13 20:24:24Z wimpunk $
|
||||||
|
######################################################################
|
||||||
|
## 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
|
188
sample-etc_ddclient.conf
Normal file
188
sample-etc_ddclient.conf
Normal file
|
@ -0,0 +1,188 @@
|
||||||
|
######################################################################
|
||||||
|
##
|
||||||
|
## $Id: sample-etc_ddclient.conf 125 2011-05-19 20:31:20Z wimpunk $
|
||||||
|
##
|
||||||
|
## 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
|
||||||
|
# postscript=script # run script after updating. The
|
||||||
|
# new IP is added as argument.
|
||||||
|
#
|
||||||
|
#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)
|
||||||
|
## by default, checkip.dyndns.org is used if you use the dyndns protocol.
|
||||||
|
## Using use=web is enough to get it working.
|
||||||
|
## WARNING: set deamon at least to 600 seconds if you use checkip or you could
|
||||||
|
## get banned from their service.
|
||||||
|
#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=dynamic.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
|
||||||
|
|
||||||
|
##
|
||||||
|
##
|
||||||
|
## Loopia (loopia.se)
|
||||||
|
##
|
||||||
|
# use=web
|
||||||
|
# web=loopia
|
||||||
|
# protocol=dyndns2
|
||||||
|
# server=dns.loopia.se
|
||||||
|
# script=/XDynDNSServer/XDynDNS.php
|
||||||
|
# login=my-loopia.se-login
|
||||||
|
# password=my-loopia.se-password
|
||||||
|
# my.domain.tld,other.domain.tld
|
||||||
|
|
||||||
|
##
|
||||||
|
## DtDNS (www.dtdns.com)
|
||||||
|
##
|
||||||
|
# protocol=dtdns,
|
||||||
|
# server=www.dtdns.com,
|
||||||
|
# client=ddclient,
|
||||||
|
# password=my-dtdns.com-password
|
||||||
|
# myhost.dtdns.net, otherhost.dtdns.net
|
17
sample-etc_dhclient-exit-hooks
Normal file
17
sample-etc_dhclient-exit-hooks
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/sh
|
||||||
|
######################################################################
|
||||||
|
## $Id: sample-etc_dhclient-exit-hooks 96 2008-06-13 20:24:24Z wimpunk $
|
||||||
|
######################################################################
|
||||||
|
# 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: sample-etc_dhcpc_dhcpcd-eth0.exe 96 2008-06-13 20:24:24Z wimpunk $
|
||||||
|
######################################################################
|
||||||
|
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
|
44
sample-etc_ppp_ip-up.local
Normal file
44
sample-etc_ppp_ip-up.local
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
#!/bin/sh
|
||||||
|
######################################################################
|
||||||
|
## $Id: sample-etc_ppp_ip-up.local 128 2011-07-11 20:24:43Z wimpunk $
|
||||||
|
######################################################################
|
||||||
|
##
|
||||||
|
## 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}
|
||||||
|
|
||||||
|
IFACE=
|
||||||
|
IFACE=${IFACE:-$PPP_IFACE}
|
||||||
|
IFACE=${IFACE:-$1}
|
||||||
|
|
||||||
|
## 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=$IFACE >/dev/null 2>&1
|
||||||
|
) &
|
||||||
|
;;
|
||||||
|
esac
|
91
sample-etc_rc.d_init.d_ddclient
Executable file
91
sample-etc_rc.d_init.d_ddclient
Executable file
|
@ -0,0 +1,91 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# ddclient This shell script takes care of starting and stopping
|
||||||
|
# ddclient.
|
||||||
|
#
|
||||||
|
# chkconfig: 2345 65 35
|
||||||
|
# description: ddclient provides support for updating dynamic DNS services.
|
||||||
|
|
||||||
|
CONF=/etc/ddclient/ddclient.conf
|
||||||
|
program=ddclient
|
||||||
|
|
||||||
|
[ -f $CONF ] || exit 0
|
||||||
|
|
||||||
|
system=unknown
|
||||||
|
if [ -f /etc/fedora-release ]; then
|
||||||
|
system=fedora
|
||||||
|
elif [ -f /etc/redhat-release ]; then
|
||||||
|
system=redhat
|
||||||
|
elif [ -f /etc/debian_version ]; then
|
||||||
|
system=debian
|
||||||
|
fi
|
||||||
|
|
||||||
|
PID=''
|
||||||
|
if [ "$system" = "fedora" ] || [ "$system" = "redhat" ]; then
|
||||||
|
. /etc/init.d/functions
|
||||||
|
PID=`pidofproc $program`
|
||||||
|
else
|
||||||
|
PID=`ps -aef | grep "$program - sleep" | grep -v grep | awk '{print $2}'`
|
||||||
|
fi
|
||||||
|
|
||||||
|
PATH=/usr/sbin:/usr/local/sbin:${PATH}
|
||||||
|
export PATH
|
||||||
|
|
||||||
|
# See how we were called.
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
# Start daemon.
|
||||||
|
DELAY=`grep -v '^\s*#' $CONF | grep -i -m 1 "daemon" | awk -F '=' '{print $2}'`
|
||||||
|
if [ -z "$DELAY" ] ; then
|
||||||
|
DELAY="-daemon 300"
|
||||||
|
else
|
||||||
|
DELAY=''
|
||||||
|
fi
|
||||||
|
echo -n "Starting ddclient: "
|
||||||
|
if [ "$system" = "fedora" ] || [ "$system" = "redhat" ]; then
|
||||||
|
daemon $program $DELAY
|
||||||
|
else
|
||||||
|
ddclient $DELAY
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
# Stop daemon.
|
||||||
|
echo -n "Shutting down ddclient: "
|
||||||
|
if [ -n "$PID" ] ; then
|
||||||
|
if [ "$system" = "fedora" ] || [ "$system" = "redhat" ]; then
|
||||||
|
killproc $program
|
||||||
|
else
|
||||||
|
kill $PID
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "ddclient is not running"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
$0 stop
|
||||||
|
$0 start
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
if [ "$system" = "fedora" ] || [ "$system" = "redhat" ]; then
|
||||||
|
status $program
|
||||||
|
else
|
||||||
|
if test "$PID"
|
||||||
|
then
|
||||||
|
for p in $PID
|
||||||
|
do
|
||||||
|
echo "$program (pid $p) is running"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "$program is stopped"
|
||||||
|
fi
|
||||||
|
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: sample-etc_rc.d_init.d_ddclient.lsb 96 2008-06-13 20:24:24Z wimpunk $
|
||||||
|
#
|
||||||
|
###
|
||||||
|
|
||||||
|
[ -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: sample-etc_rc.d_init.d_ddclient.redhat 96 2008-06-13 20:24:24Z wimpunk $
|
||||||
|
# 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
|
47
sample-etc_rc.d_init.d_ddclient.ubuntu
Executable file
47
sample-etc_rc.d_init.d_ddclient.ubuntu
Executable file
|
@ -0,0 +1,47 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Start ddclient that provides support for updating dynamic DNS services.
|
||||||
|
#
|
||||||
|
# Submitted by paolo martinelli
|
||||||
|
|
||||||
|
DDCLIENT=/usr/sbin/ddclient
|
||||||
|
CONF=/etc/ddclient/ddclient.conf
|
||||||
|
PIDFILE=/var/run/ddclient.pid
|
||||||
|
|
||||||
|
test -x $DDCLIENT || exit 0
|
||||||
|
test -f $CONF || exit 0
|
||||||
|
|
||||||
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
log_begin_msg "Starting ddclient..."
|
||||||
|
DELAY=`grep -v '^\s*#' $CONF | grep -i -m 1 "daemon" | awk -F '=' '{print $2}'`
|
||||||
|
if [ -z "$DELAY" ] ; then
|
||||||
|
DELAY="-daemon 300"
|
||||||
|
else
|
||||||
|
DELAY=''
|
||||||
|
fi
|
||||||
|
start-stop-daemon -S -q -p $PIDFILE -x $DDCLIENT -- $DELAY
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
if [ -f $PIDFILE ] ; then
|
||||||
|
log_begin_msg "Stopping ddclient..."
|
||||||
|
start-stop-daemon -K -q -p $PIDFILE
|
||||||
|
log_end_msg $?
|
||||||
|
rm -f $PIDFILE
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
restart|reload|force-reload)
|
||||||
|
$0 stop
|
||||||
|
$0 start
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
log_success_msg "Usage: $0 {start|stop|restart|reload|force-reload}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
Loading…
Reference in a new issue