Created trunk and tags, moved directories to it
git-svn-id: svn+ssh://svn.code.sf.net/p/ddclient/code/trunk@8 3873ddee-7413-0410-b6c4-c2c57c1ab35a
This commit is contained in:
commit
787b76f4a3
20 changed files with 6244 additions and 0 deletions
299
html/ddclient.css
Normal file
299
html/ddclient.css
Normal file
|
@ -0,0 +1,299 @@
|
|||
/*************************************
|
||||
* TITLE: Sinorca Screen Stylesheet *
|
||||
* URI : sinorca/sinorca-screen.css *
|
||||
* MODIF: 2003-Apr-30 19:31 +0800 *
|
||||
*************************************/
|
||||
|
||||
|
||||
/* ##### Common Styles ##### */
|
||||
|
||||
body {
|
||||
color: black;
|
||||
background-color: rgb(153,153,153);
|
||||
font-family: verdana, helvetica, arial, sans-serif;
|
||||
font-size: 71%; /* Enables font size scaling in MSIE */
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html > body {
|
||||
font-size: 8.5pt;
|
||||
}
|
||||
|
||||
acronym, .titleTip {
|
||||
border-bottom: 1px dotted rgb(153,153,153);
|
||||
cursor: help;
|
||||
margin: 0;
|
||||
padding: 0 0 0.4px 0;
|
||||
}
|
||||
|
||||
.doNotDisplay {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.smallCaps {
|
||||
font-size: 110%;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Header ##### */
|
||||
|
||||
.superHeader {
|
||||
color: white;
|
||||
background-color: rgb(100,135,220);
|
||||
height: 2em;
|
||||
}
|
||||
|
||||
.superHeader a {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
font-size: 91%;
|
||||
margin: 0;
|
||||
padding: 0 0.5ex 0 0.25ex;
|
||||
}
|
||||
|
||||
.superHeader a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.superHeader .left {
|
||||
position: absolute;
|
||||
left: 1.5mm;
|
||||
top: 0.75ex;
|
||||
}
|
||||
|
||||
.superHeader .right {
|
||||
position: absolute;
|
||||
right: 1.5mm;
|
||||
top: 0.75ex;
|
||||
}
|
||||
|
||||
.midHeader {
|
||||
color: rgb(255,255,102);
|
||||
background-color: rgb(0,0,255);
|
||||
}
|
||||
|
||||
.headerTitle {
|
||||
font-size: 337%;
|
||||
font-weight: normal;
|
||||
margin: 0 0 0 4mm;
|
||||
padding: 0.25ex 0;
|
||||
}
|
||||
|
||||
.subHeader {
|
||||
color: white;
|
||||
background-color: rgb(0,51,153);
|
||||
margin: 0;
|
||||
padding: 1ex 1ex 1ex 1.5mm;
|
||||
}
|
||||
|
||||
.subHeader a {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
padding: 0 0.75ex 0 0.5ex;
|
||||
}
|
||||
|
||||
.subHeader a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.superHeader .highlight, .subHeader .highlight {
|
||||
color: rgb(253,160,91);
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Side Bar ##### */
|
||||
|
||||
#side-bar {
|
||||
width: 15em;
|
||||
float: left;
|
||||
clear: left;
|
||||
border-right: 1px solid rgb(153,153,153);
|
||||
}
|
||||
|
||||
#side-bar div {
|
||||
border-bottom: 1px solid rgb(153,153,153);
|
||||
}
|
||||
|
||||
.sideBarTitle {
|
||||
font-weight: bold;
|
||||
margin: 0 0 0.5em 2.5mm;
|
||||
padding: 1em 0 0 0;
|
||||
}
|
||||
|
||||
#side-bar ul {
|
||||
list-style-type: none;
|
||||
list-style-position: outside;
|
||||
margin: 0;
|
||||
padding: 0 0 1.1em 0;
|
||||
}
|
||||
|
||||
#side-bar li {
|
||||
margin: 0;
|
||||
padding: 0.1ex 0; /* Circumvents a rendering bug (?) in MSIE 6.0 */
|
||||
}
|
||||
|
||||
#side-bar a, .thisPage {
|
||||
color: rgb(51,51,204);
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
margin: 0;
|
||||
padding: 0.75em 1ex 0.75em 5mm;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.thisPage {
|
||||
color: black;
|
||||
background-color: white;
|
||||
padding-left: 4mm;
|
||||
border-top: 1px solid rgb(153,153,153);
|
||||
border-bottom: 1px solid rgb(153,153,153);
|
||||
}
|
||||
|
||||
#side-bar a:hover {
|
||||
color: white;
|
||||
background-color: rgb(0,0,255);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.sideBarText {
|
||||
line-height: 1.5em;
|
||||
margin: 0 0 1em 0;
|
||||
padding: 0 1.5ex 0 2.5mm;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#side-bar .sideBarText a {
|
||||
text-decoration: underline;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#side-bar .sideBarText a:hover {
|
||||
color: rgb(0,102,204);
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.lighterBackground {
|
||||
color: inherit;
|
||||
background-color: rgb(204,204,204)
|
||||
}
|
||||
|
||||
|
||||
/* ##### Main Copy ##### */
|
||||
|
||||
#main-copy {
|
||||
color: black;
|
||||
background-color: white;
|
||||
background-color: rgb(255,255,204);
|
||||
|
||||
|
||||
text-align: justify;
|
||||
line-height: 1.5em;
|
||||
margin: 0 0 0 15em;
|
||||
padding: 0.5mm 5mm 5mm 5mm;
|
||||
border-left: 1px solid rgb(153,153,153);
|
||||
}
|
||||
|
||||
#main-copy .code {
|
||||
border: 1px solid;
|
||||
background: white;
|
||||
padding: 0.5mm 0.5mm 0.5mm 5mm;
|
||||
}
|
||||
|
||||
#main-copy p {
|
||||
margin: 1em 1ex 2em 1ex;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#main-copy a {
|
||||
color: rgb(0,102,204);
|
||||
background-color: transparent;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#main-copy a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#main-copy h1 {
|
||||
color: white;
|
||||
background-color: rgb(255,0,0);
|
||||
|
||||
font-size: 100%;
|
||||
font-weight: bold;
|
||||
margin: 3em 0 0 0;
|
||||
padding: 0.5ex 0 0.5ex 1ex;
|
||||
}
|
||||
|
||||
#main-copy .topOfPage {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
font-size: 91%;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
margin: 2.5ex 1ex 0 0; /* For MSIE */
|
||||
padding: 0;
|
||||
float: right;
|
||||
}
|
||||
|
||||
#main-copy > .topOfPage {
|
||||
margin: 2.75ex 1ex 0 0; /* For fully standards-compliant user agents */
|
||||
}
|
||||
|
||||
dl {
|
||||
margin: 1em 1ex 2em 1ex;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
margin: 0 0 0 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0 0 2em 2em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Footer ##### */
|
||||
|
||||
#footer {
|
||||
color: rgb(255,255,151);
|
||||
background-color: rgb(0,0,255);
|
||||
font-size: 91%;
|
||||
margin: 0;
|
||||
padding: 1em 2.5mm 2.5ex 2.5mm;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#footer .left {
|
||||
line-height: 1.45em;
|
||||
float: left;
|
||||
clear: left;
|
||||
}
|
||||
|
||||
#footer .right {
|
||||
text-align: right;
|
||||
line-height: 1.45em;
|
||||
}
|
||||
|
||||
#footer a {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#footer a:hover {
|
||||
text-decoration: none;
|
||||
}
|
809
html/index.php
Normal file
809
html/index.php
Normal file
|
@ -0,0 +1,809 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<?php
|
||||
/* Extra ideetjes voor de website
|
||||
- contents: readme file & stuff
|
||||
*/
|
||||
$title="ddclient";
|
||||
|
||||
// dynamic stuff
|
||||
$link['project'] = '<a href="http://sourceforge.net/projects/ddclient/" ' .
|
||||
'title="ddclient project page">'.
|
||||
'the ddclient project page on sourceforge</a>';
|
||||
$link['download'] = '<a href="http://sourceforge.net/project/showfiles.php?group_id=116817" ' .
|
||||
'title="Download page on sourceforge">'.
|
||||
'sourceforge</a>'."\n";
|
||||
$link['developers'] = "<a href=\"http://sourceforge.net/project/memberlist.php?group_id=116817\" ".
|
||||
"title=\"link to the ddclient developers\">developers for ddclient on sourceforge</a>";
|
||||
|
||||
// pages information; should be in a database
|
||||
|
||||
// main
|
||||
$pages[0]['nr'] = 0;
|
||||
$pages[0]['title'] = "home";
|
||||
// documentation
|
||||
$pages[1]['nr'] = 1;
|
||||
$pages[1]['title'] = "usage";
|
||||
|
||||
$pages[2]['nr'] = 2;
|
||||
$pages[2]['title'] = "supported protocols";
|
||||
|
||||
$pages[3]['nr'] = 3;
|
||||
$pages[3]['title'] = "supported routers";
|
||||
|
||||
$curpage = isset($_GET['page'])?$_GET['page']:0;
|
||||
$titleextra = $pages[$curpage]['title'];
|
||||
$page = $pages[$curpage]['nr'];
|
||||
|
||||
// filling the page; should be in a dbase to
|
||||
if ($page == 0 ) { // home page
|
||||
// Introduction
|
||||
$text['id'] = "intro";
|
||||
$text['title'] = "Introduction";
|
||||
$text['menu'] = "Introduction";
|
||||
$text['body'] =
|
||||
"<p>" .
|
||||
"Ddclient is a Perl client used to update dynamic DNS entries for accounts " .
|
||||
"on Dynamic DNS Network Services' free DNS service. It was origanally " .
|
||||
"written by Paul Burry and is now maintaned by ".$link['developers'].". " .
|
||||
"It has the capability to update more than only <a href=\"http://dyndns.org\">" .
|
||||
"dyndns</a> and it can fetch your WAN-ipaddress on a few different ways. Check the " .
|
||||
"configuration pages to find how to do this." .
|
||||
"</p>\n" .
|
||||
"<p>\n" .
|
||||
"According to <a href=\"http://linux.cudeso.be\">cudeso.be</a>:<BR>" .
|
||||
"DDclient is a small but full featured client requiring only Perl " .
|
||||
"and no additional modules. It runs under most UNIX OSes and has " .
|
||||
"been tested under GNU/Linux and FreeBSD. Supported features " .
|
||||
"include: operating as a daemon, manual and automatic updates, " .
|
||||
"static and dynamic updates, optimized updates for multiple " .
|
||||
"addresses, MX, wildcards, abuse avoidance, retrying failed " .
|
||||
"updates, and sending update status to syslog and through e-mail." .
|
||||
"</p>";
|
||||
$main[] = $text;
|
||||
|
||||
// install
|
||||
$text['id'] = "install";
|
||||
$text['title'] = "How to install";
|
||||
$text['menu'] = "Quick Installation";
|
||||
$text['body'] =
|
||||
"<p>\n
|
||||
Ddclient doesn't have any automatic installation procedure. Get the tar-file
|
||||
from " . $link['download'] . " and untar it. Copy the perl script to your
|
||||
favorit location (ex. /usr/sbin) and create a /etc/ddclient/ddclient.conf
|
||||
configuration file.
|
||||
</p><p>
|
||||
There are a few configuration examples provided which you can copy to
|
||||
/etc/ddclient/ddclient.conf and modify. More info about the configuration
|
||||
can be found on the <a href=\"?page=1\">usage page</a>
|
||||
</p><p>
|
||||
A typical configuration like:
|
||||
<div class=\"code\">
|
||||
<pre>
|
||||
#
|
||||
# /etc/ddclient/ddclient.conf
|
||||
#
|
||||
protocol=dyndns2
|
||||
use=web
|
||||
login=mylogin
|
||||
password=mypassword
|
||||
myhost.dyndns.org
|
||||
</pre>
|
||||
</div>
|
||||
</p>
|
||||
<p>
|
||||
You can run ddclient as "/usr/sbin/ddclient -daemon 300 -syslog"
|
||||
and put it in your startup scripts.
|
||||
</p> \n";
|
||||
$main[] = $text;
|
||||
|
||||
// help part
|
||||
$text['id'] = "help";
|
||||
$text['title'] = "Documentation and help";
|
||||
$text['menu'] = "Documentation";
|
||||
$text['body'] = "
|
||||
<p>The documentation about the configuration has been splitted in three
|
||||
sections. The <a href=\"?page=1\">usage page</a> describes the most parts
|
||||
of the configuration while the <a href=\"?page=2\">supported protocols</a>
|
||||
page describes the protocol-specific options. If you want to know how
|
||||
to use ddclient with your router, check the
|
||||
<a href=\"?page=3\">supported routers</a>.
|
||||
</p><p>
|
||||
Debugging ddclient looks pretty hard but it isn't. First try to put \n".
|
||||
"as less as necessary in your configuration. Try to run \n".
|
||||
"`./ddclient -daemon=0 -noquiet -debug` and check the result. \n" .
|
||||
"Try to add the features you need and check it again. Once \n".
|
||||
"you're happy with the result, run it as a daemon.\n" .
|
||||
"<p>\n" .
|
||||
"<p>\n" .
|
||||
"If this doesn't work for you, \n".
|
||||
"there are a few places where you can look for help. If you need \n".
|
||||
"any help in configuring ddclient, you could try ddclient --help. \n".
|
||||
"It should give you all the possible configuration options so.\n" .
|
||||
"</p>\n".
|
||||
"<p>\n" .
|
||||
"If you think your configuration is correct, but ddclient doesn't \n" .
|
||||
"work as you expected, you can enable debug and verbose messages \n" .
|
||||
"by running ddclient -daemon=0 -debug -verbose -noquiet.\n".
|
||||
"</p>\n".
|
||||
"<p>\n" .
|
||||
"If this doesn't help for you, maybe \n" .
|
||||
"<a href=\"http://sourceforge.net/forum/forum.php?forum_id=399428\">\n" .
|
||||
"the help forum on sourceforge</a> can bring some help.\n" .
|
||||
"I know the manual is not very clear, you have to read the example " .
|
||||
"configurations included in the tar-file or you can run " .
|
||||
""ddclient --help" to get more help. " .
|
||||
"If you lucky you can find some help on #ddclient on irc.freenode.net" .
|
||||
"</p>\n" .
|
||||
"<p>
|
||||
More info about the ddclient project can be found on " .
|
||||
$link['project'] .
|
||||
"</p>";
|
||||
$main[] = $text;
|
||||
|
||||
|
||||
} else if ($page == 1) { // documentation
|
||||
// usage
|
||||
$text['id'] = "introduction";
|
||||
$text['title'] = "Introduction";
|
||||
$text['menu'] = "intro";
|
||||
$text['body'] =
|
||||
"<p>\n" .
|
||||
"This page describes the configuration for ddclient. If you need\n".
|
||||
"anymore info about supported routers or supported protocols, check the\n" .
|
||||
"other pages. Other options are described here.\n" .
|
||||
"\n" .
|
||||
"<p>Normally you don't need many arguments when starting ddclient. " .
|
||||
"You can run ddclient as "/usr/sbin/ddclient -daemon 300 -syslog" \n" .
|
||||
"which should be enough for most configuration. You can put all the needed\n" .
|
||||
"parameters in the configuration file.\n" .
|
||||
"</p>\n" .
|
||||
"<p>" .
|
||||
"\n" .
|
||||
"\n" .
|
||||
"\n" .
|
||||
"\n" .
|
||||
"</p>\n" ;
|
||||
$main[] = $text;
|
||||
|
||||
$text['id'] = "usage";
|
||||
$text['title'] = "Usage";
|
||||
$text['menu'] = "usage";
|
||||
$text['body'] =
|
||||
"usage: <code>ddclient [options]</code><BR>\n".
|
||||
"options are:<BR>\n".
|
||||
"<table>\n".
|
||||
"<tr><td>-daemon delay </td><td> run as a daemon (default: 0).</td></tr>\n".
|
||||
"<tr><td>-proxy host </td><td> use 'host' as the HTTP proxy.</td></tr>\n".
|
||||
"<tr><td>-server host </td><td> update DNS information on 'host' (default: members.dyndns.org).</td></tr>\n".
|
||||
"<tr><td>-protocol type </td><td> update protocol used (default: dyndns2).</td></tr>\n".
|
||||
"<tr><td>-file path </td><td> load configuration information from 'path' (default: /etc/ddclient/ddclient.conf).</td></tr>\n".
|
||||
"<tr><td>-cache path </td><td> record address used in 'path' (default: /etc/ddclient/ddclient.cache).</td></tr>\n".
|
||||
"<tr><td>-pid path </td><td> record process id in 'path'.</td></tr>\n".
|
||||
"<tr><td>-use which </td><td> how the should IP address be obtained. (default: ip). \n" .
|
||||
" More information about the possible use-arguments can be found on \n" .
|
||||
" the supported routers page</tr></td>" .
|
||||
"<tr><td>-ip address </td><td> set the IP address to 'address'.<td></tr>\n" .
|
||||
|
||||
"<tr><td>-if interface </td><td> obtain IP address from 'interface' (default: ppp0).<td></tr>\n" .
|
||||
"<tr><td>-if-skip pattern </td><td> skip any IP addresses before 'pattern' in the output of ifconfig {if}.<td></tr>\n" .
|
||||
|
||||
"<tr><td>-web provider|url </td><td> obtain IP address from provider's IP checking page (default: dyndns).<td></tr>\n" .
|
||||
"<tr><td>-web-skip pattern </td><td> skip any IP addresses before 'pattern' on the web provider|url.<td></tr>\n" .
|
||||
|
||||
"<tr><td>-fw address|url </td><td> obtain IP address from firewall at 'address'.<td></tr>\n" .
|
||||
"<tr><td>-fw-skip pattern </td><td> skip any IP addresses before 'pattern' on the firewall address|url.<td></tr>\n" .
|
||||
"<tr><td>-fw-login login </td><td> use 'login' when getting IP from fw.<td></tr>\n" .
|
||||
"<tr><td>-fw-password secret </td><td> use password 'secret' when getting IP from fw.<td></tr>\n" .
|
||||
|
||||
"<tr><td>-cmd program </td><td> obtain IP address from by calling {program}.<td></tr>\n" .
|
||||
"<tr><td>-cmd-skip pattern </td><td> skip any IP addresses before 'pattern' in the output of {cmd}.<td></tr>\n" .
|
||||
|
||||
"<tr><td>-login user </td><td> login as 'user'.<td></tr>\n" .
|
||||
"<tr><td>-password secret </td><td> use password 'secret'.<td></tr>\n" .
|
||||
"<tr><td>-host host </td><td> update DNS information for 'host'.<td></tr>\n" .
|
||||
"<tr><td>-{no}retry </td><td> retry failed updates. (default: noretry).</td></tr>\n" .
|
||||
"<tr><td>-{no}force </td><td> force an update even if the update may be unnecessary (default: noforce).</td></tr>\n" .
|
||||
"<tr><td>-timeout max </td><td> wait at most 'max' seconds for the host to respond (default: 0).</td></tr>\n" .
|
||||
"<tr><td>-{no}syslog </td><td> log messages to syslog (default: nosyslog).</td></tr>\n" .
|
||||
"<tr><td>-facility {type} </td><td> log messages to syslog to facility {type} (default: daemon).</td></tr>\n" .
|
||||
"<tr><td>-priority {pri} </td><td> log messages to syslog with priority {pri} (default: notice).</td></tr>\n" .
|
||||
"<tr><td>-mail address </td><td> e-mail messages to {address}.</td></tr>\n" .
|
||||
"<tr><td>-mail-failure address </td><td> e-mail messages for failed updates to {address}.</td></tr>\n" .
|
||||
"<tr><td>-{no}exec </td><td> do {not} execute; just show what would be done (default: exec).</td></tr>\n" .
|
||||
"<tr><td>-{no}debug </td><td> print {no} debugging information (default: nodebug).</td></tr>\n" .
|
||||
"<tr><td>-{no}verbose </td><td> print {no} verbose information (default: noverbose).</td></tr>\n" .
|
||||
"<tr><td>-{no}quiet </td><td> print {no} messages for unnecessary updates (default: noquiet).</td></tr>\n" .
|
||||
"<tr><td>-help </td><td> this message (default: 0).</td></tr>\n" .
|
||||
"<tr><td>-{no}query </td><td> print {no} ip addresses and exit.</td></tr>\n" .
|
||||
"</table>\n" ;
|
||||
|
||||
$main[] = $text;
|
||||
// config
|
||||
$text['id'] = "config";
|
||||
$text['title'] = "Configuring ddclient";
|
||||
$text['menu'] = "config";
|
||||
$text['body'] =
|
||||
"<p>\n" .
|
||||
"The configuration file, ddclient.conf, can be used to define the \n" .
|
||||
"default behaviour and operation of ddclient. The file consists of \n" .
|
||||
"sequences of global variable definitions and host definitions. \n" .
|
||||
"Since version 3.6.5, ddclient.conf is located by default in \n" .
|
||||
"/etc/ddclient/ddclient.conf. Another location can be forced \n" .
|
||||
"by using the -file option" .
|
||||
"</p>\n" .
|
||||
"<p>\n" .
|
||||
"Global definitions look like: \n" .
|
||||
"name=value [,name=value]* \n" .
|
||||
"</p>\n" .
|
||||
"<p>\n" .
|
||||
"Next example \n" .
|
||||
"specifies that ddclient should operate as a daemon, checking the \n" .
|
||||
"eth0 interface for an IP address change every 5 minutes and use the \n" .
|
||||
"'dyndns2' protocol by default. \n" .
|
||||
"<div class=\"code\">\n" .
|
||||
"<pre>\n" .
|
||||
"daemon=600 \n" .
|
||||
"use=if, if=eth0 \n" .
|
||||
"proxy=proxy.myisp.com \n" .
|
||||
"protocol=dyndns2 \n" .
|
||||
"</pre>\n" .
|
||||
"</div> ".
|
||||
"</p>\n" .
|
||||
"<p>Host definitions look like: \n" .
|
||||
"[name=value [,name=value]*]* a.host.domain [,b.host.domain] [login] [password] \n" .
|
||||
"</p><p>\n" .
|
||||
"Next example specifies two host definitions. \n" .
|
||||
"The first definition will use the hammernode1 protocol, \n" .
|
||||
"my-hn-login and my-hn-password to update the ip-address of \n" .
|
||||
"myhost.hn.org and my2ndhost.hn.org. \n" .
|
||||
"</p><p>\n" .
|
||||
"The second host definition will use the current default protocol \n" .
|
||||
"('dyndns2'), my-login and my-password to update the ip-address of \n" .
|
||||
"myhost.dyndns.org and my2ndhost.dyndns.org. \n" .
|
||||
"</p><p>\n" .
|
||||
"The order of this sequence is significant because the values of any \n" .
|
||||
"global variable definitions are bound to a host definition when the \n" .
|
||||
"host definition is encountered. \n" .
|
||||
"</p><p>\n" .
|
||||
"<div class=\"code\">\n" .
|
||||
"<pre>\n" .
|
||||
"protocol=hammernode1, \ \n" .
|
||||
"login=my-hn-login, password=my-hn-password myhost.hn.org \n" .
|
||||
"login=my-login, password=my-password myhost.dyndns.org,my2nd.dyndns.org \n" .
|
||||
"</pre>\n" .
|
||||
"</div> ".
|
||||
"<p>See the sample-ddclient.conf file for further examples. </p>\n" ;
|
||||
|
||||
$main[] = $text;
|
||||
|
||||
} else if ($page == 2) { // supported sevices
|
||||
$text['id'] = "intro";
|
||||
$text['title'] = "Introduction about the supported protocols";
|
||||
$text['menu'] = "Introduction";
|
||||
$text['body'] = "<p>".
|
||||
"This is an incomplete list of the services supported by ddclient. ".
|
||||
"If your favoriet dynamic dns provider isn't here, check the result " .
|
||||
"ddclient --help with the most recent version of ddclient. If it's " .
|
||||
"there, check the patches section on sf.net and if it's really not " .
|
||||
"supported by ddclient you can try to modify ddclient yourself. " .
|
||||
"</p>" .
|
||||
"<p>
|
||||
Since ddclient version 3.7, ddclient also supports https to update
|
||||
your favorit provider. Use the ssl=yes option to use this feature.
|
||||
</p>";
|
||||
|
||||
$main[] = $text;
|
||||
// dnspark
|
||||
$text['id'] = "dnspark";
|
||||
$text['title'] = "dnspark protocol";
|
||||
$text['menu'] = "dnspark";
|
||||
$text['body'] =
|
||||
"<p>The 'dnspark' protocol is used by DNS service offered by www.dnspark.com.</p>\n ".
|
||||
"<p>Configuration variables applicable to the 'easydns' protocol are:\n ".
|
||||
"<table>\n" .
|
||||
"<tr><td>protocol=dnspark </td><td> </td></tr>\n".
|
||||
"<tr><td>server=fqdn.of.service </td><td> defaults to www.dnspark.com</td></tr>\n".
|
||||
"<tr><td>backupmx=no|yes </td><td> indicates that DNSPark should be the secondary MX " .
|
||||
"for this domain or host.</td></tr>\n".
|
||||
"<tr><td>mx=any.host.domain </td><td> a host MX'ing for this host or domain.</td></tr>\n".
|
||||
"<tr><td>mxpri=priority </td><td> MX priority.</td></tr>\n".
|
||||
"<tr><td>login=service-login </td><td> login name and password registered with the service</td></tr>\n".
|
||||
"<tr><td>password=service-password </td><td></td></tr>\n".
|
||||
"<tr><td>fully.qualified.host </td><td> the host registered with the service.</td></tr>\n".
|
||||
"</table>\n" .
|
||||
|
||||
"<p>Example ddclient.conf file entries:</p>\n" .
|
||||
"<div class=\"code\">\n" .
|
||||
"<pre>\n" .
|
||||
"## single host update\n" .
|
||||
"protocol=dnspark, \\\n" .
|
||||
"login=my-dnspark.com-login, \\\n" .
|
||||
"password=my-dnspark.com-password \\\n" .
|
||||
"myhost.dnspark.com \n" .
|
||||
"\n" .
|
||||
"## multiple host update with wildcard'ing mx, and backupmx\n" .
|
||||
"protocol=dnspark, \\\n" .
|
||||
"login=my-dnspark.com-login, \\\n" .
|
||||
"password=my-dnspark.com-password, \\\n" .
|
||||
"mx=a.host.willing.to.mx.for.me, \\\n" .
|
||||
"mxpri=10, \\\n" .
|
||||
"my-toplevel-domain.com,my-other-domain.com\n" .
|
||||
"\n" .
|
||||
"## multiple host update to the custom DNS service\n" .
|
||||
"protocol=dnspark, \\\n" .
|
||||
"login=my-dnspark.com-login, \\\n" .
|
||||
"password=my-dnspark.com-password \\\n" .
|
||||
"my-toplevel-domain.com,my-other-domain.com\n" .
|
||||
"<pre>\n" .
|
||||
"</div>\n" ;
|
||||
|
||||
$main[] = $text;
|
||||
// dslreports
|
||||
$text['id'] = "dslreports";
|
||||
$text['title'] = "dslreports";
|
||||
$text['menu'] = "dslreports";
|
||||
$text['body'] =
|
||||
"<p>The 'dslreports1' protocol is used by a free DSL monitoring service\n" .
|
||||
"offered by www.dslreports.com.</p>\n" .
|
||||
|
||||
"<p>Configuration variables applicable to the 'dslreports1' protocol are:</p>" .
|
||||
"<table>\n" .
|
||||
"<tr><td>protocol=dslreports1 </td><td> </td></tr>" .
|
||||
"<tr><td>server=fqdn.of.service </td><td> defaults to www.dslreports.com</td></tr>" .
|
||||
"<tr><td>login=service-login </td><td> login name and password registered with the service</td></tr>" .
|
||||
"<tr><td>password=service-password </td><td></td></tr>" .
|
||||
"<tr><td>unique-number </td><td> the host registered with the service.</td></tr>" .
|
||||
"<table>\n" .
|
||||
|
||||
"<p>Example ddclient.conf file entries:</p>" .
|
||||
"<div class=\"code\">\n" .
|
||||
"<pre>\n" .
|
||||
"## single host update\n" .
|
||||
"protocol=dslreports1, \\\n" .
|
||||
"server=www.dslreports.com, \\\n" .
|
||||
"login=my-dslreports-login, \\\n" .
|
||||
"password=my-dslreports-password \\\n" .
|
||||
"123456\n" .
|
||||
"</div>\n" .
|
||||
"</pre>\n" .
|
||||
|
||||
"<p>Note: DSL Reports uses a unique number as the host name. This number\n" .
|
||||
"can be found on the Monitor Control web page.</p>\n" ;
|
||||
$main[] = $text;
|
||||
$text['id'] = "dyndns1";
|
||||
$text['title'] = "dyndns1";
|
||||
$text['menu'] = "dyndns1";
|
||||
$text['body'] =
|
||||
"<p>The 'dyndns1' protocol is a deprecated protocol used by the free dynamic \n".
|
||||
"DNS service offered by www.dyndns.org. The 'dyndns2' should be used to \n".
|
||||
"update the www.dyndns.org service. However, other services are also \n".
|
||||
"using this protocol so support is still provided by ddclient. </p>\n".
|
||||
" \n".
|
||||
"Configuration variables applicable to the 'dyndns1' protocol are: \n".
|
||||
"<table>\n" .
|
||||
"<tr><td>protocol=dyndns1 </td><td> </td></tr>\n" .
|
||||
"<tr><td>server=fqdn.of.service </td><td> defaults to members.dyndns.org</td></tr>\n" .
|
||||
"<tr><td>backupmx=no|yes </td><td> indicates that this host is the primary MX for the domain.</td></tr>\n" .
|
||||
"<tr><td>mx=any.host.domain </td><td> a host MX'ing for this host definition.</td></tr>\n" .
|
||||
"<tr><td>wildcard=no|yes </td><td> add a DNS wildcard CNAME record that points to {host}</td></tr>\n" .
|
||||
"<tr><td>login=service-login </td><td> login name and password registered with the service</td></tr>\n" .
|
||||
"<tr><td>password=service-password </td><td></td></tr>\n" .
|
||||
"<tr><td>fully.qualified.host </td><td> the host registered with the service.</td></tr>\n" .
|
||||
"</table>\n" .
|
||||
|
||||
"<p>Example ddclient.conf file entries:</p>" .
|
||||
"<div class=\"code\">\n" .
|
||||
"<pre>\n" .
|
||||
"## single host update\n" .
|
||||
"protocol=dyndns1, \\\n" .
|
||||
"login=my-dyndns.org-login, \\\n" .
|
||||
"password=my-dyndns.org-password \\\n" .
|
||||
"myhost.dyndns.org \n" .
|
||||
"\n" .
|
||||
"## multiple host update with wildcard'ing mx, and backupmx\n" .
|
||||
"protocol=dyndns1, \\\n" .
|
||||
"login=my-dyndns.org-login, \\\n" .
|
||||
"password=my-dyndns.org-password, \\\n" .
|
||||
"mx=a.host.willing.to.mx.for.me,backupmx=yes,wildcard=yes \\\n" .
|
||||
"myhost.dyndns.org,my2ndhost.dyndns.org \n" .
|
||||
"</div> \n" .
|
||||
"</pre>\n" .
|
||||
"<p>Note: you only need one of the examples</p>\n";
|
||||
|
||||
$main[] = $text;
|
||||
// dyndns2
|
||||
$text['id'] = "dyndns2";
|
||||
$text['title'] = "dyndns2";
|
||||
$text['menu'] = "dyndns2";
|
||||
$text['body'] =
|
||||
"<p>The 'dyndns2' protocol is a newer low-bandwidth protocol used by a\n" .
|
||||
"free dynamic DNS service offered by www.dyndns.org. It supports\n" .
|
||||
"features of the older 'dyndns1' in addition to others. [These will be\n" .
|
||||
"supported in a future version of ddclient.]</p>\n" .
|
||||
"\n".
|
||||
"<p>Configuration variables applicable to the 'dyndns2' protocol are:</p>\n" .
|
||||
"<table>\n".
|
||||
"<tr><td>protocol=dyndns2 </td><td> </td></tr>\n" .
|
||||
"<tr><td>server=fqdn.of.service </td><td> defaults to members.dyndns.org</td></tr>\n" .
|
||||
"<tr><td>backupmx=no|yes </td><td> indicates that this host is the primary MX for the domain.</td></tr>\n" .
|
||||
"<tr><td>static=no|yes </td><td> indicates that this host has a static IP address.</td></tr>\n" .
|
||||
"<tr><td>custom=no|yes </td><td> indicates that this host is a 'custom' top-level domain name.</td></tr>\n" .
|
||||
"<tr><td>mx=any.host.domain </td><td> a host MX'ing for this host definition.</td></tr>\n" .
|
||||
"<tr><td>wildcard=no|yes </td><td> add a DNS wildcard CNAME record that points to {host}</td></tr>\n" .
|
||||
"<tr><td>login=service-login </td><td> login name and password registered with the service</td></tr>\n" .
|
||||
"<tr><td>password=service-password </td><td></td></tr>\n" .
|
||||
"<tr><td>fully.qualified.host </td><td> the host registered with the service.</td></tr>\n" .
|
||||
"</table>\n" .
|
||||
|
||||
"<p>Example ddclient.conf file entries:</p>" .
|
||||
"<div class=\"code\">\n" .
|
||||
"<pre>\n" .
|
||||
"## single host update\n" .
|
||||
"protocol=dyndns2, \\\n" .
|
||||
"login=my-dyndns.org-login, \\\n" .
|
||||
"password=my-dyndns.org-password \\\n" .
|
||||
"myhost.dyndns.org \n" .
|
||||
"\n" .
|
||||
"## multiple host update with wildcard'ing mx, and backupmx\n" .
|
||||
"protocol=dyndns2, \\\n" .
|
||||
"login=my-dyndns.org-login, \\\n" .
|
||||
"password=my-dyndns.org-password, \\\n" .
|
||||
"mx=a.host.willing.to.mx.for.me,backupmx=yes,wildcard=yes \\\n" .
|
||||
"myhost.dyndns.org,my2ndhost.dyndns.org \n" .
|
||||
"\n" .
|
||||
"## multiple host update to the custom DNS service\n" .
|
||||
"protocol=dyndns2, \\\n" .
|
||||
"login=my-dyndns.org-login, \\\n" .
|
||||
"password=my-dyndns.org-password \\\n" .
|
||||
"my-toplevel-domain.com,my-other-domain.com\n" .
|
||||
"</pre>\n" .
|
||||
"</div>\n" .
|
||||
"<p>Note: you only need one of the examples</p>\n";
|
||||
|
||||
$main[] = $text;
|
||||
// easydns
|
||||
$text['id'] = "easydns";
|
||||
$text['title'] = "easydns";
|
||||
$text['menu'] = "easydns";
|
||||
$text['body'] =
|
||||
"<p>The 'easydns' protocol is used by the for fee DNS service offered \n" .
|
||||
"by www.easydns.com.</p>\n" .
|
||||
|
||||
"<p>Configuration variables applicable to the 'easydns' protocol are:\n".
|
||||
"<table>\n" .
|
||||
"<tr><td>protocol=easydns </td><td> </td></tr>\n" .
|
||||
"<tr><td>server=fqdn.of.service </td><td> defaults to members.easydns.com</td></tr>\n" .
|
||||
"<tr><td>backupmx=no|yes </td><td> indicates that EasyDNS should be the secondary MX for this domain or host.</td></tr>\n" .
|
||||
"<tr><td>mx=any.host.domain </td><td> a host MX'ing for this host or domain.</td></tr>\n" .
|
||||
"<tr><td>wildcard=no|yes </td><td> add a DNS wildcard CNAME record that points to {host}</td></tr>\n" .
|
||||
"<tr><td>login=service-login </td><td> login name and password registered with the service</td></tr>\n" .
|
||||
"<tr><td>password=service-password </td><td></td></tr>\n" .
|
||||
"<tr><td>fully.qualified.host </td><td> the host registered with the service.</td></tr>\n" .
|
||||
"</table></p>\n" .
|
||||
|
||||
"<p>Example ddclient.conf file entries:</p> " .
|
||||
"<div class=\"code\">\n" .
|
||||
"<pre>\n" .
|
||||
"## single host update\n" .
|
||||
"protocol=easydns, \\\n" .
|
||||
"login=my-easydns.com-login, \\\n" .
|
||||
"password=my-easydns.com-password \\\n" .
|
||||
"myhost.easydns.com \n" .
|
||||
"\n" .
|
||||
"## multiple host update with wildcard'ing mx, and backupmx\n" .
|
||||
"protocol=easydns, \\\n" .
|
||||
"login=my-easydns.com-login, \\\n" .
|
||||
"password=my-easydns.com-password, \\\n" .
|
||||
"mx=a.host.willing.to.mx.for.me, \\\n" .
|
||||
"backupmx=yes, \\\n" .
|
||||
"wildcard=yes \\\n" .
|
||||
"my-toplevel-domain.com,my-other-domain.com\n" .
|
||||
"\n" .
|
||||
"## multiple host update to the custom DNS service\n" .
|
||||
"protocol=easydns, \\\n" .
|
||||
"login=my-easydns.com-login, \\\n" .
|
||||
"password=my-easydns.com-password \\\n" .
|
||||
"my-toplevel-domain.com,my-other-domain.com\n" .
|
||||
"</pre>\n" .
|
||||
"</div>\n" .
|
||||
"<p></p>";
|
||||
$main[] = $text;
|
||||
// hammernode
|
||||
$text['id'] = "hammernode";
|
||||
$text['title'] = "hammernode";
|
||||
$text['menu'] = "hammernode";
|
||||
$text['body'] =
|
||||
"<p>" .
|
||||
"The 'hammernode1' protocol is the protocol used by the free dynamic \n" .
|
||||
"DNS service offered by Hammernode at www.hn.org </p>\n" .
|
||||
|
||||
"Configuration variables applicable to the 'hammernode1' protocol are: </p>\n" .
|
||||
"<table>\n" .
|
||||
"<tr><td>protocol=hammernode1 </td><td> </td></tr>\n" .
|
||||
"<tr><td>server=fqdn.of.service </td><td> defaults to members.dyndns.org</td></tr>\n" .
|
||||
"<tr><td>login=service-login </td><td> login name and password registered with the service</td></tr>\n" .
|
||||
"<tr><td>password=service-password </td><td></td></tr>\n" .
|
||||
"<tr><td>fully.qualified.host </td><td> the host registered with the service.</td></tr>\n" .
|
||||
"</table>\n" .
|
||||
|
||||
"<p>Example ddclient.conf file entries:</p>\n" .
|
||||
"<div class=\"code\">\n" .
|
||||
"<pre>\n" .
|
||||
"## single host update\n" .
|
||||
"protocol=hammernode1, \\\n" .
|
||||
"login=my-hn.org-login, \\\n" .
|
||||
"password=my-hn.org-password \\\n" .
|
||||
"myhost.hn.org \n" .
|
||||
"\n" .
|
||||
"## multiple host update\n" .
|
||||
"protocol=hammernode1, \\\n" .
|
||||
"login=my-hn.org-login, \\\n" .
|
||||
"password=my-hn.org-password, \\\n" .
|
||||
"myhost.hn.org,my2ndhost.hn.org\n" .
|
||||
"</pre>\n" .
|
||||
"</div>\n" .
|
||||
"";
|
||||
|
||||
$main[] = $text;
|
||||
// namecheap
|
||||
$text['id'] = "namecheap";
|
||||
$text['title'] = "namecheap";
|
||||
$text['menu'] = "namecheap";
|
||||
$text['body'] =
|
||||
"<p>The 'namecheap' protocol is used by DNS service offered by www.namecheap.com.</p>\n" .
|
||||
"\n" .
|
||||
"<p>Configuration variables applicable to the 'easydns' protocol are:</p>\n" .
|
||||
"<table>\n" .
|
||||
"<tr><td>protocol=namecheap </td><td> </td></tr>\n" .
|
||||
"<tr><td>server=fqdn.of.service </td><td> defaults to dynamicdns.park-your-domain.com</td></tr>\n" .
|
||||
"<tr><td>login=service-login </td><td> login name and password registered with the service</td></tr>\n" .
|
||||
"<tr><td>password=service-password </td><td></td></tr>\n" .
|
||||
"<tr><td>fully.qualified.host </td><td> the host registered with the service.</td></tr>\n" .
|
||||
"</table>\n" .
|
||||
|
||||
"<p>Example ddclient.conf file entries:</p>".
|
||||
"<div class=\"code\">\n" .
|
||||
"<pre>\n" .
|
||||
"## single host update\n" .
|
||||
"protocol=namecheap, \\\n" .
|
||||
"login=my-namecheap.com-login, \\\n" .
|
||||
"password=my-namecheap.com-password \\\n" .
|
||||
"myhost.namecheap.com \n" .
|
||||
"</pre>\n" .
|
||||
"</div>\n" .
|
||||
"<p></p>";
|
||||
|
||||
|
||||
$main[] = $text;
|
||||
$text['id'] = "zoneedit1";
|
||||
$text['title'] = "zoneedit1";
|
||||
$text['menu'] = "zoneedit1";
|
||||
$text['body'] =
|
||||
"<p>The 'zoneedit1' protocol is used by a DNS service offered by
|
||||
www.zoneedit.com.</p>\n" .
|
||||
|
||||
"<p>Configuration variables applicable to the 'zoneedit1' protocol are:</p>\n" .
|
||||
"<tr><td>protocol=zoneedit1 </td><td> </td></tr>\n" .
|
||||
"<tr><td>server=fqdn.of.service </td><td> defaults to www.zoneedit.com</td></tr>\n" .
|
||||
"<tr><td>login=service-login </td><td> login name and password registered with the service</td></tr>\n" .
|
||||
"<tr><td>password=service-password </td><td></td></tr>\n" .
|
||||
"<tr><td>your.domain.name </td><td> the host registered with the service.</td></tr>\n" .
|
||||
|
||||
"<p>Example ddclient.conf file entries:</p>\n" .
|
||||
"<div class=\"code\">\n" .
|
||||
"<pre>\n" .
|
||||
"## single host update\n" .
|
||||
"protocol=zoneedit1, \\\n" .
|
||||
"server=www.zoneedit.com, \\\n" .
|
||||
"login=my-zoneedit-login, \\\n" .
|
||||
"password=my-zoneedit-password \\\n" .
|
||||
"my.domain.name\n" .
|
||||
"\n" .
|
||||
"## multiple host update \\\n" .
|
||||
"protocol=zoneedit1, \\\n" .
|
||||
"server=www.zoneedit.com, \\\n" .
|
||||
"login=my-zoneedit-login, \\\n" .
|
||||
"password=my-zoneedit-password \\\n" .
|
||||
"my.domain.name,my2nd.domain.com\n" .
|
||||
"</pre>\n" .
|
||||
"</div>\n" .
|
||||
"<p></p>";
|
||||
$main[] = $text;
|
||||
} else if ($page == 3) { // supported routers
|
||||
$text['id'] = "intro";
|
||||
$text['title'] = "Introduction about the -use option";
|
||||
$text['menu'] = "introduction";
|
||||
$text['body'] =
|
||||
"<p>".
|
||||
"Ddclient can get the needed IP-address on a lot of different\n".
|
||||
"ways. By default, it fetches it's IP from the internet but \n".
|
||||
"you can it also from a router or specify it yourself.\n".
|
||||
"</p>\n".
|
||||
"<p>Ddclient supports a lot of different routers. To configure ".
|
||||
"your favorit router, modify your use-line in your configuration ".
|
||||
"to something like -use=linksys-ver2. Don't forget to put your ".
|
||||
"router password and login in the configuration.".
|
||||
"</p>".
|
||||
"<p>".
|
||||
"If your favorit router isn't here, try to run ddclient --help. \n".
|
||||
"This list is rather incomplete so there are a few more routers \n".
|
||||
"supported by the most recent version of ddclient. \n".
|
||||
"</p>";
|
||||
$main[] = $text;
|
||||
|
||||
$text['id'] = "nonrouter";
|
||||
$text['title'] = "Non router option";
|
||||
$text['menu'] = "Non router";
|
||||
$text['body'] =
|
||||
"<table>" .
|
||||
"<tr><td>-use=web</td><td> obtain IP from an IP discovery page on the web. This is the default way if none is specified<tr></td>\n" .
|
||||
"<tr><td>-use=if</td><td> obtain IP from the -if {interface}.<tr></td>" .
|
||||
"<tr><td>-use=ip</td><td> obtain IP from -ip {address}.<tr></td>\n" .
|
||||
"<tr><td>-use=cmd</td><td> obtain IP from the -cmd {external-command}.<tr></td>" .
|
||||
"<tr><td>-use=fw</td><td> obtain IP from the firewall specified by -fw {type|address}.<tr></td>" .
|
||||
"</table>";
|
||||
$main[] = $text;
|
||||
|
||||
$text['title'] = "Incomplete list of supported routers";
|
||||
$text['menu'] = "routers";
|
||||
$text['body'] =
|
||||
"<table>".
|
||||
"<tr><td>-use=3com-3c886a </td><td> obtain IP from 3com 3c886a 56k Lan Modem at the -fw {address}.</tr></td>" .
|
||||
"<tr><td>-use=3com-oc-remote812 </td><td> obtain IP from 3com OfficeConnect Remote 812 at the -fw {address}.</tr></td>" .
|
||||
"<tr><td>-use=alcatel-stp </td><td> obtain IP from Alcatel Speed Touch Pro at the -fw {address}.</tr></td>" .
|
||||
"<tr><td>-use=allnet-1298 </td><td> obtain IP from Allnet 1298 at the -fw {address}.</tr></td>" .
|
||||
"<tr><td>-use=cayman-3220h </td><td> obtain IP from Cayman 3220-H DSL at the -fw {address}.<tr></td>" .
|
||||
"<tr><td>-use=cisco </td><td> obtain IP from Cisco FW at the -fw {address}.<tr></td>" .
|
||||
"<tr><td>-use=dlink-604 </td><td> obtain IP from D-Link DI-604 at the -fw {address}.<tr></td>" .
|
||||
"<tr><td>-use=dlink-614 </td><td> obtain IP from D-Link DI-614+ at the -fw {address}.<tr></td>" .
|
||||
"<tr><td>-use=e-tech </td><td> obtain IP from E-tech Router at the -fw {address}.<tr></td>" .
|
||||
"<tr><td>-use=elsa-lancom-dsl10 </td><td> obtain IP from ELSA LanCom DSL/10 DSL FW at the -fw {address}.<tr></td>" .
|
||||
"<tr><td>-use=elsa-lancom-dsl10-ch01 </td><td> obtain IP from ELSA LanCom DSL/10 DSL FW (isdn ch01) at the -fw {address}.<tr></td>" .
|
||||
"<tr><td>-use=elsa-lancom-dsl10-ch02 </td><td> obtain IP from ELSA LanCom DSL/10 DSL FW (isdn ch01) at the -fw {address}.<tr></td>" .
|
||||
"<tr><td>-use=linksys </td><td> obtain IP from Linksys FW at the -fw {address}.<tr></td>\n" .
|
||||
"<tr><td>-use=linksys2 </td><td> obtain IP from Linksys FW ver 2 at the -fw {address}.<tr></td>\n" .
|
||||
"<tr><td>-use=maxgate-ugate3x00 </td><td> obtain IP from MaxGate UGATE-3x00 FW at the -fw {address}.<tr></td>\n" .
|
||||
"<tr><td>-use=netgear-rt3xx </td><td> obtain IP from Netgear FW at the -fw {address}.<tr></td>\n" .
|
||||
"<tr><td>-use=netopia-r910 </td><td> obtain IP from Netopia R910 FW at the -fw {address}.<tr></td>\n" .
|
||||
"<tr><td>-use=smc-barricade </td><td> obtain IP from SMC Barricade FW at the -fw {address}.<tr></td>\n" .
|
||||
"<tr><td>-use=sohoware-nbg800 </td><td> obtain IP from SOHOWare BroadGuard NBG800 at the -fw {address}.<tr></td>\n" .
|
||||
"<tr><td>-use=vigor-2200usb </td><td> obtain IP from Vigor 2200 USB at the -fw {address}.<tr></td>\n" .
|
||||
"<tr><td>-use=watchguard-soho </td><td> obtain IP from Watchguard SOHO FW at the -fw {address}.<tr></td>\n" .
|
||||
"<tr><td>-use=xsense-aero </td><td> obtain IP from Xsense Aero at the -fw {address}.<tr></td>\n" .
|
||||
"</table>".
|
||||
"<p>Remember, if your router isn't here, check the result of ddclient --help</p>";
|
||||
$main[] = $text;
|
||||
|
||||
}
|
||||
?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-AU">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="author" content="haran" />
|
||||
<meta name="generator" content="author" />
|
||||
|
||||
<!-- Navigational metadata for large websites (an accessibility feature): -->
|
||||
<!--
|
||||
<link rel="top" href="./index.html" title="Homepage" />
|
||||
<link rel="up" href="./index.html" title="Up" />
|
||||
<link rel="first" href="./index.html" title="First page" />
|
||||
<link rel="previous" href="./index.html" title="Previous page" />
|
||||
<link rel="next" href="./index.html" title="Next page" />
|
||||
<link rel="last" href="./index.html" title="Last page" />
|
||||
<link rel="toc" href="./index.html" title="Table of contents" />
|
||||
<link rel="index" href="./index.html" title="Site map" />
|
||||
-->
|
||||
<link rel="stylesheet" type="text/css" href="ddclient.css" media="screen" title="ddclient" />
|
||||
<title><?php echo "$title $titleextra" ?></title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- For non-visual user agents: -->
|
||||
<div id="top"><a href="#main-copy" class="doNotDisplay doNotPrint">Skip to main content.</a></div>
|
||||
|
||||
<!-- ##### Header ##### -->
|
||||
|
||||
<div id="header">
|
||||
|
||||
<div class="midHeader">
|
||||
<h1 class="headerTitle"><?php echo $title ?></h1>
|
||||
</div>
|
||||
|
||||
<div class="subHeader">
|
||||
<span class="doNotDisplay">Navigation:</span>
|
||||
<!--
|
||||
<a href="./index.php?page=home" <?php if ($page==0) printf("class=\"highlight\"");?>>home</a> |
|
||||
<a href="./index.php?page=doc" <?php if ($page==1) printf("class=\"highlight\"");?>>documentation</a> |
|
||||
<a href="./index.php">download</a> |
|
||||
<a href="./index.php">Links</a> |
|
||||
-->
|
||||
|
||||
<?php
|
||||
$cnt=0;
|
||||
foreach ($pages as $id => $subpage) {
|
||||
if ($cnt++) printf(" | ");
|
||||
printf("<a href=\"./index.php?page=%s\"%s>%s</a>",
|
||||
$subpage['nr'],
|
||||
// $id,
|
||||
// $subpage['title'],
|
||||
$page==$subpage['nr']?' class="highlight"':"",
|
||||
$subpage['title']
|
||||
);
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ##### Side Bar ##### -->
|
||||
|
||||
<div id="side-bar">
|
||||
<div>
|
||||
<!--p class="sideBarTitle">Navigate this page</p-->
|
||||
<ul>
|
||||
<?php
|
||||
foreach ($main as $id => $text) {
|
||||
printf("<li><a href=\"#%s\" title=\"%s\">› %s</a></li>",
|
||||
$text['id'],
|
||||
$text['title'],
|
||||
$text['menu']
|
||||
);
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="lighterBackground">
|
||||
<p class="sideBarTitle">Thanks</p>
|
||||
<span class="sideBarText">
|
||||
Website design based on <a href="http://www.oswd.org/viewdesign.phtml?id=1165">Sinorca</a>
|
||||
</span>
|
||||
<span class="sideBarText">
|
||||
Ddclient was originally written by Paul Burry
|
||||
</span>
|
||||
<span class="sideBarText">
|
||||
M for choosing the colors
|
||||
</span>
|
||||
<span class="sideBarText">
|
||||
Website is hosted on
|
||||
<A href="http://sourceforge.net"> <IMG src="http://sourceforge.net/sflogo.php?group_id=116817&type=2" width="125" height="37" border="0" alt="SourceForge.net Logo" /></A>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ##### Main Copy ##### -->
|
||||
|
||||
<div id="main-copy">
|
||||
<?php
|
||||
foreach ($main as $text) {
|
||||
printf("<a class=\"topOfPage\" href=\"#top\" title=\"Go to the top of this page\">^ TOP</a>\n");
|
||||
printf("<h1 id=\"%s\">%s</h1>\n",$text['id'],$text['title']);
|
||||
printf("%s\n",$text['body']);
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
<!-- ##### Footer ##### -->
|
||||
|
||||
<div id="footer">
|
||||
<!--div class="left">
|
||||
E-mail: <a href="./index.html" title="Email webmaster">webmaster@your.company.com</a><br />
|
||||
<a href="./index.html" class="doNotPrint">Contact Us</a>
|
||||
</div-->
|
||||
|
||||
<br class="doNotDisplay doNotPrint" />
|
||||
|
||||
<div class="right">
|
||||
<?php
|
||||
$fp = fopen(".", "r");
|
||||
// gather statistics
|
||||
$fstat = fstat($fp);
|
||||
// close the file
|
||||
fclose($fp);
|
||||
printf("Last update: %s\n", date("d F Y",$fstat['mtime']));
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
136
html/sinorca-print.css
Normal file
136
html/sinorca-print.css
Normal file
|
@ -0,0 +1,136 @@
|
|||
/************************************
|
||||
* TITLE: Sinorca Print Stylesheet *
|
||||
* URI : sinorca/sinorca-print.css *
|
||||
* MODIF: 2003-May-01 19:30 +0800 *
|
||||
************************************/
|
||||
|
||||
|
||||
/* ##### Common Styles ##### */
|
||||
|
||||
body {
|
||||
color: black;
|
||||
background-color: white;
|
||||
font-family: "times new roman", times, roman, serif;
|
||||
font-size: 12pt;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
acronym, .titleTip {
|
||||
font-style: italic;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
acronym:after, .titleTip:after { /* Prints titles after the acronyms/titletips. Doesn't work in MSIE */
|
||||
content: "(" attr(title) ")";
|
||||
font-size: 90%;
|
||||
font-style: normal;
|
||||
padding-left: 1ex;
|
||||
}
|
||||
|
||||
.doNotPrint {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Header ##### */
|
||||
|
||||
#header {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
|
||||
.superHeader {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.headerTitle {
|
||||
color: black;
|
||||
background-color: transparent;
|
||||
font-family: "trebuchet ms", verdana, helvetica, arial, sans-serif;
|
||||
font-size: 200%;
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
margin: 0;
|
||||
padding: 0 0 0.5ex 0;
|
||||
}
|
||||
|
||||
.subHeader {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Side Bar ##### */
|
||||
|
||||
#side-bar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Main Copy ##### */
|
||||
|
||||
#main-copy {
|
||||
text-align: justify;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#main-copy h1 {
|
||||
font-family: "trebuchet ms", verdana, helvetica, arial, sans-serif;
|
||||
font-size: 120%;
|
||||
margin: 2ex 0 1ex 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#main-copy a {
|
||||
color: black;
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#main-copy a:after { /* Prints the links' URIs after the links' texts. Doesn't work in MSIE */
|
||||
content: "<" attr(href) ">";
|
||||
font-size: 90%;
|
||||
padding-left: 1ex;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 0 2ex 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
dl {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
padding: 0 0 1ex 0;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0 0 2ex 1.5em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.topOfPage {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Footer ##### */
|
||||
|
||||
#footer {
|
||||
margin: 2em 0 0 0;
|
||||
padding: 1ex 0 0 0;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
#footer a {
|
||||
color: black;
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
}
|
292
html/sinorca-screen-alt.css
Normal file
292
html/sinorca-screen-alt.css
Normal file
|
@ -0,0 +1,292 @@
|
|||
/***********************************************
|
||||
* TITLE: Sinorca Alterative Screen Stylesheet *
|
||||
* URI : sinorca/sinorca-screen-alt.css *
|
||||
* MODIF: 2003-May-13 18:48 +0800 *
|
||||
***********************************************/
|
||||
|
||||
|
||||
/* ##### Common Styles ##### */
|
||||
|
||||
body {
|
||||
color: black;
|
||||
background-color: white;
|
||||
font-family: verdana, helvetica, arial, sans-serif;
|
||||
font-size: 71%; /* Enables font size scaling in MSIE */
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html > body {
|
||||
font-size: 8.5pt;
|
||||
}
|
||||
|
||||
acronym, .titleTip {
|
||||
border-bottom: 1px dotted rgb(153,153,153);
|
||||
cursor: help;
|
||||
margin: 0;
|
||||
padding: 0 0 0.4px 0;
|
||||
}
|
||||
|
||||
.doNotDisplay {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.smallCaps {
|
||||
font-size: 110%;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Header ##### */
|
||||
|
||||
.superHeader {
|
||||
color: white;
|
||||
background-color: rgb(100,135,220);
|
||||
height: 2em;
|
||||
}
|
||||
|
||||
.superHeader a {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
font-size: 91%;
|
||||
margin: 0;
|
||||
padding: 0 0.5ex 0 0.25ex;
|
||||
}
|
||||
|
||||
.superHeader a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.superHeader .left {
|
||||
position: absolute;
|
||||
left: 1.5mm;
|
||||
top: 0.75ex;
|
||||
}
|
||||
|
||||
.superHeader .right {
|
||||
position: absolute;
|
||||
right: 1.5mm;
|
||||
top: 0.75ex;
|
||||
}
|
||||
|
||||
.midHeader {
|
||||
color: rgb(39,78,144);
|
||||
background-color: rgb(140,170,230);
|
||||
}
|
||||
|
||||
.headerTitle {
|
||||
font-size: 337%;
|
||||
font-weight: normal;
|
||||
margin: 0 0 0 4mm;
|
||||
padding: 0.25ex 0;
|
||||
}
|
||||
|
||||
.subHeader {
|
||||
color: white;
|
||||
background-color: rgb(0,51,153);
|
||||
margin: 0;
|
||||
padding: 1ex 1ex 1ex 1.5mm;
|
||||
}
|
||||
|
||||
.subHeader a {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
padding: 0 0.75ex 0 0.5ex;
|
||||
}
|
||||
|
||||
.subHeader a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.superHeader .highlight, .subHeader .highlight {
|
||||
color: rgb(253,160,91);
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Side Boxes ##### */
|
||||
|
||||
#side-bar {
|
||||
width: 14em;
|
||||
margin: 2.5em 0 0 1.25mm;
|
||||
float: left;
|
||||
clear: left;
|
||||
}
|
||||
|
||||
body > #side-bar {
|
||||
margin-left: 2.5mm; /* Circumvents a rendering bug in MSIE (6.0) */
|
||||
}
|
||||
|
||||
.sideBarTitle {
|
||||
color: white;
|
||||
background-color: rgb(100,135,220);
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
padding: 0.4ex 0 0.4ex 0.6ex;
|
||||
}
|
||||
|
||||
#side-bar ul {
|
||||
list-style-type: none;
|
||||
list-style-position: outside;
|
||||
margin: 0;
|
||||
padding: 0 0 2.25em 0;
|
||||
}
|
||||
|
||||
#side-bar li {
|
||||
margin: 0;
|
||||
padding: 0.1ex 0; /* Circumvents a rendering bug (?) in MSIE (6.0) */
|
||||
}
|
||||
|
||||
#side-bar a, .thisPage {
|
||||
color: rgb(0,102,204);
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
padding: 1.3ex 2ex;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.thisPage {
|
||||
color: black;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#side-bar a:hover {
|
||||
color: white;
|
||||
background-color: rgb(100,135,220);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.sideBarText {
|
||||
line-height: 1.5em;
|
||||
margin: 0 0 2.5em 0;
|
||||
padding: 1ex 0.5ex 0 0.5ex;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.sideBarText + .sideBarText { /* Not recognised by MSIE (6.0) */
|
||||
margin-top: -1.5em;
|
||||
}
|
||||
|
||||
#side-bar .sideBarText a {
|
||||
text-decoration: underline;
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#side-bar .sideBarText a:hover {
|
||||
color: rgb(0,102,204);
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Main Copy ##### */
|
||||
|
||||
#main-copy {
|
||||
color: black;
|
||||
background-color: transparent;
|
||||
text-align: justify;
|
||||
line-height: 1.5em;
|
||||
margin: -1em 0 0 15em;
|
||||
padding: 0.5mm 5mm 5mm 5mm;
|
||||
}
|
||||
|
||||
#bodyText {
|
||||
margin: 0 0 0 15.5em;
|
||||
padding: 2mm 5mm 2mm 5mm;
|
||||
}
|
||||
|
||||
|
||||
#main-copy p {
|
||||
margin: 1em 1ex 2em 1ex;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#main-copy a {
|
||||
color: rgb(0,102,204);
|
||||
background-color: transparent;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#main-copy a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#main-copy h1 {
|
||||
color: rgb(0,102,204);
|
||||
background-color: transparent;
|
||||
font-size: 145.5%;
|
||||
font-weight: bold;
|
||||
margin: 2em 0 0 0;
|
||||
padding: 0.5ex 0 0.5ex 0.6ex;
|
||||
border-bottom: 1px solid rgb(0,102,204);
|
||||
}
|
||||
|
||||
#main-copy .topOfPage {
|
||||
color: rgb(0,102,204);
|
||||
background-color: transparent;
|
||||
font-size: 91%;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
margin: 3ex 1ex 0 0;
|
||||
padding: 0;
|
||||
float: right;
|
||||
}
|
||||
|
||||
dl {
|
||||
margin: 1em 1ex 2em 1ex;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
margin: 0 0 0 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0 0 2em 2em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Footer ##### */
|
||||
|
||||
#footer {
|
||||
color: white;
|
||||
background-color: rgb(100,135,220);
|
||||
font-size: 91%;
|
||||
margin: 0;
|
||||
padding: 1em 2.5mm 2.5ex 2.5mm;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#footer .left {
|
||||
text-align: left;
|
||||
line-height: 1.45em;
|
||||
float: left;
|
||||
clear: left;
|
||||
}
|
||||
|
||||
#footer .right {
|
||||
text-align: right;
|
||||
line-height: 1.45em;
|
||||
}
|
||||
|
||||
#footer a {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#footer a:hover {
|
||||
text-decoration: none;
|
||||
}
|
289
html/sinorca-screen.css
Normal file
289
html/sinorca-screen.css
Normal file
|
@ -0,0 +1,289 @@
|
|||
/*************************************
|
||||
* TITLE: Sinorca Screen Stylesheet *
|
||||
* URI : sinorca/sinorca-screen.css *
|
||||
* MODIF: 2003-Apr-30 19:31 +0800 *
|
||||
*************************************/
|
||||
|
||||
|
||||
/* ##### Common Styles ##### */
|
||||
|
||||
body {
|
||||
color: black;
|
||||
background-color: rgb(240,240,240);
|
||||
font-family: verdana, helvetica, arial, sans-serif;
|
||||
font-size: 71%; /* Enables font size scaling in MSIE */
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html > body {
|
||||
font-size: 8.5pt;
|
||||
}
|
||||
|
||||
acronym, .titleTip {
|
||||
border-bottom: 1px dotted rgb(153,153,153);
|
||||
cursor: help;
|
||||
margin: 0;
|
||||
padding: 0 0 0.4px 0;
|
||||
}
|
||||
|
||||
.doNotDisplay {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.smallCaps {
|
||||
font-size: 110%;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Header ##### */
|
||||
|
||||
.superHeader {
|
||||
color: white;
|
||||
background-color: rgb(100,135,220);
|
||||
height: 2em;
|
||||
}
|
||||
|
||||
.superHeader a {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
font-size: 91%;
|
||||
margin: 0;
|
||||
padding: 0 0.5ex 0 0.25ex;
|
||||
}
|
||||
|
||||
.superHeader a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.superHeader .left {
|
||||
position: absolute;
|
||||
left: 1.5mm;
|
||||
top: 0.75ex;
|
||||
}
|
||||
|
||||
.superHeader .right {
|
||||
position: absolute;
|
||||
right: 1.5mm;
|
||||
top: 0.75ex;
|
||||
}
|
||||
|
||||
.midHeader {
|
||||
color: rgb(39,78,144);
|
||||
background-color: rgb(140,170,230);
|
||||
}
|
||||
|
||||
.headerTitle {
|
||||
font-size: 337%;
|
||||
font-weight: normal;
|
||||
margin: 0 0 0 4mm;
|
||||
padding: 0.25ex 0;
|
||||
}
|
||||
|
||||
.subHeader {
|
||||
color: white;
|
||||
background-color: rgb(0,51,153);
|
||||
margin: 0;
|
||||
padding: 1ex 1ex 1ex 1.5mm;
|
||||
}
|
||||
|
||||
.subHeader a {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
padding: 0 0.75ex 0 0.5ex;
|
||||
}
|
||||
|
||||
.subHeader a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.superHeader .highlight, .subHeader .highlight {
|
||||
color: rgb(253,160,91);
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Side Bar ##### */
|
||||
|
||||
#side-bar {
|
||||
width: 15em;
|
||||
float: left;
|
||||
clear: left;
|
||||
border-right: 1px solid rgb(153,153,153);
|
||||
}
|
||||
|
||||
#side-bar div {
|
||||
border-bottom: 1px solid rgb(153,153,153);
|
||||
}
|
||||
|
||||
.sideBarTitle {
|
||||
font-weight: bold;
|
||||
margin: 0 0 0.5em 2.5mm;
|
||||
padding: 1em 0 0 0;
|
||||
}
|
||||
|
||||
#side-bar ul {
|
||||
list-style-type: none;
|
||||
list-style-position: outside;
|
||||
margin: 0;
|
||||
padding: 0 0 1.1em 0;
|
||||
}
|
||||
|
||||
#side-bar li {
|
||||
margin: 0;
|
||||
padding: 0.1ex 0; /* Circumvents a rendering bug (?) in MSIE 6.0 */
|
||||
}
|
||||
|
||||
#side-bar a, .thisPage {
|
||||
color: rgb(0,102,204);
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
margin: 0;
|
||||
padding: 0.75em 1ex 0.75em 5mm;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.thisPage {
|
||||
color: black;
|
||||
background-color: white;
|
||||
padding-left: 4mm;
|
||||
border-top: 1px solid rgb(153,153,153);
|
||||
border-bottom: 1px solid rgb(153,153,153);
|
||||
}
|
||||
|
||||
#side-bar a:hover {
|
||||
color: white;
|
||||
background-color: rgb(100,135,220);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.sideBarText {
|
||||
line-height: 1.5em;
|
||||
margin: 0 0 1em 0;
|
||||
padding: 0 1.5ex 0 2.5mm;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#side-bar .sideBarText a {
|
||||
text-decoration: underline;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#side-bar .sideBarText a:hover {
|
||||
color: rgb(0,102,204);
|
||||
background-color: transparent;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.lighterBackground {
|
||||
color: inherit;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Main Copy ##### */
|
||||
|
||||
#main-copy {
|
||||
color: black;
|
||||
background-color: white;
|
||||
text-align: justify;
|
||||
line-height: 1.5em;
|
||||
margin: 0 0 0 15em;
|
||||
padding: 0.5mm 5mm 5mm 5mm;
|
||||
border-left: 1px solid rgb(153,153,153);
|
||||
}
|
||||
|
||||
#main-copy p {
|
||||
margin: 1em 1ex 2em 1ex;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#main-copy a {
|
||||
color: rgb(0,102,204);
|
||||
background-color: transparent;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#main-copy a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#main-copy h1 {
|
||||
color: white;
|
||||
background-color: rgb(100,135,220);
|
||||
font-size: 100%;
|
||||
font-weight: bold;
|
||||
margin: 3em 0 0 0;
|
||||
padding: 0.5ex 0 0.5ex 1ex;
|
||||
}
|
||||
|
||||
#main-copy .topOfPage {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
font-size: 91%;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
margin: 2.5ex 1ex 0 0; /* For MSIE */
|
||||
padding: 0;
|
||||
float: right;
|
||||
}
|
||||
|
||||
#main-copy > .topOfPage {
|
||||
margin: 2.75ex 1ex 0 0; /* For fully standards-compliant user agents */
|
||||
}
|
||||
|
||||
dl {
|
||||
margin: 1em 1ex 2em 1ex;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
margin: 0 0 0 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0 0 2em 2em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
/* ##### Footer ##### */
|
||||
|
||||
#footer {
|
||||
color: white;
|
||||
background-color: rgb(100,135,220);
|
||||
font-size: 91%;
|
||||
margin: 0;
|
||||
padding: 1em 2.5mm 2.5ex 2.5mm;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#footer .left {
|
||||
line-height: 1.45em;
|
||||
float: left;
|
||||
clear: left;
|
||||
}
|
||||
|
||||
#footer .right {
|
||||
text-align: right;
|
||||
line-height: 1.45em;
|
||||
}
|
||||
|
||||
#footer a {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#footer a:hover {
|
||||
text-decoration: none;
|
||||
}
|
340
svn/COPYING
Normal file
340
svn/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
svn/COPYRIGHT
Normal file
19
svn/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
|
258
svn/Changelog
Normal file
258
svn/Changelog
Normal file
|
@ -0,0 +1,258 @@
|
|||
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
|
||||
- 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$
|
173
svn/README
Normal file
173
svn/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
svn/README.cisco
Normal file
35
svn/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
|
10
svn/README.ssl
Normal file
10
svn/README.ssl
Normal file
|
@ -0,0 +1,10 @@
|
|||
$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
|
3132
svn/ddclient
Executable file
3132
svn/ddclient
Executable file
File diff suppressed because it is too large
Load diff
17
svn/sample-etc_cron.d_ddclient
Normal file
17
svn/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
svn/sample-etc_ddclient.conf
Normal file
160
svn/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
svn/sample-etc_dhclient-exit-hooks
Normal file
17
svn/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
svn/sample-etc_dhcpc_dhcpcd-eth0.exe
Normal file
20
svn/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
svn/sample-etc_ppp_ip-up.local
Normal file
40
svn/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
|
91
svn/sample-etc_rc.d_init.d_ddclient
Executable file
91
svn/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
svn/sample-etc_rc.d_init.d_ddclient.lsb
Executable file
66
svn/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
svn/sample-etc_rc.d_init.d_ddclient.redhat
Executable file
41
svn/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