add another ddns service

Help
2004-10-07
2013-01-14
  • Nobody/Anonymous

    Hi,
    may it be possible to add dnsExit.com in supported services? How to proceed?

     
    • wimpunk

      wimpunk - 2004-10-08

      Of course it' s possible.  You can do it your own by checking how it's done for dnspark or dyndns.org.You also have to check out how updates has to be done.

       
    • Nobody/Anonymous

      the problem is that I'm not very much more experimented than a newbie :-)

      So I found this script dedicated to dnsExit (I suppose it contains all the needed informations):

      ###############################
      #!/usr/bin/perl

      use strict;
      use LWP::Simple;

      # CHANGE THESE VARIABLES
      #-----------------------
      my $user = 'yourUsername';
      my $pass = 'yourPassword';
      my $domain = 'yourdomain.com';
      my @network = `ifconfig ppp0`;
      my $ipfile = '/path/to/last_ip';

      my $logger = '/usr/bin/logger -t domain-upd -p daemon.notice';
      my ($ip, $update, $lastip, $line);

      # get IP from @network
      # --------------------

      foreach $line (@network) {
          if ($line =~ /.*inet addr:(.*)  P-t-P.*/) {
              $ip = $1;
              last;
          }
      }

      # get last assigned IP from file
      # ------------------------------

      open(FILE,"$ipfile") || die "Can't open $ipfile $!\n";
      $lastip = <FILE>;
      close(FILE);

      chomp($lastip);

      # send off update and get results if IP's changed
      # -----------------------------------------------

      if ($ip ne $lastip) {

          $update = "http://www.dnsexit.com/RemoteUpdate.sv?login=$user&password=$pass&host=$domain&myip=$ip";
          get($update);

          open(FILE,">$ipfile") || die "Can't open $ipfile $!\n";
          print FILE "$ip";
          close(FILE);

          `$logger "IP updated."`;
          print "IP updated!\n";

      }
      else {

          `$logger "IP has not changed, not updated."`;
          print "IP has not changed, not updated.\n";

      }

      exit;
      ###################################

      Would you tell me some clue in order to update my ddclient (I suppose I have to modify both ddclient script and conf file)?

       
    • wimpunk

      wimpunk - 2004-10-08

      The clue is the http-request. I'll take a closer look at your problem during the weekend

       
      • Nobody/Anonymous

        <mode joke>
        the weekend? which one?  :o>
        </mode joke>

        no matter, I'll be a long way away this week, you'll have all the time, thanks for your attention  ;o)

         
      • Nobody/Anonymous

        Hi Wim, still no news?
        Maybe you didn't find enough time, I'd understand.
        I'd just want to be sure that this question is active.
        This is very important because dnsexit a provider (maybe the last one?) who still offers custom dns for free...

         
        • wimpunk

          wimpunk - 2004-10-25

          Okay, I'll try a quick solution this evening (CEST)... It will be a quick patch.

           
        • wimpunk

          wimpunk - 2004-10-25

          okay, i found some time and made some *fast untested *changes.  Please try the ddclient-dnsexit you can find in the patches section.  It should be the perfect ddclient for you.
          Warning: I didn't test that version.  If it doesn't work please send the result of 'ddclient -daemon=0 -debug -verbose -noquiet.' to me... after you changed the login and password :-)

           
    • eradrix

      eradrix - 2004-10-26

      I didn't tried debug version yet but as I can see in ddclient report I suppose there is a problem in the http request:
      http://www.dnsexit.com/RemoteUpdate.sv?login=\password=\(myPass)&host=\login=(myLogin)&password=\(myDomainName)&myip=(myIp)

       
      • wimpunk

        wimpunk - 2004-10-26

        I really don't see the problem.  I've tested it now and it sends a request like "/RemoteUpdate.sv?login=mylogin&host=myhost&password=mypassword&myip=192.168.1.10"
        I don't see any problem here...  so please tell me what exactly goes wrong.  In my case I got:
        WARNING:    HTTP/1.1 200 OK
        WARNING:   3=User not found
        which is correct since mylogin isn't known at the server

        In my configuration I got:

        pid=/var/run/ddclient2.pid
        protocol=dnsexit
        use=if, if=eth0
        login=mylogin
        password=mypassword
        myhost

         
        • eradrix

          eradrix - 2004-10-26

          First, tomorrow evening I had to change "myETC" value in the script, because on my earlier version both ddclient conf and cache are in /etc (no ddclient folder).

          Now the debug call reports "Use of uninitialized value in string ne at /usr/sbin/ddclient line 1210"

          Here's the new ddclient email report:

          WARNING:  SENT:  
          http://www.dnsexit.com/RemoteUpdate.sv?login=\password=\(myPass)&host=\login=(myLogin)&password=\(myDomainName)&myip=(myIp)
          WARNING:  REPLIED: HTTP/1.1 200 OK
          WARNING:   Date: Tue, 26 Oct 2004 08:36:00 GMT
          WARNING:   Server: Apache/2.0.44 (Unix) mod_ssl/2.0.44 OpenSSL/0.9.7b DAV/2
          mod_jk/1.2.2
          WARNING:   Servlet-Engine: Tomcat Web Server/3.2.4 (JSP 1.1; Servlet 2.2; Java
          1.3.1_07; Linux 2.4.18-14 i386; java.vendor=Sun Microsystems Inc.)
          WARNING:   Connection: close
          WARNING:   Content-Type: text/plain; charset=ISO-8859-1
          WARNING:  
          WARNING:    HTTP/1.1 200 OK
          WARNING:   3=User not found
          FAILED:   updating \login=(myLogin): Invalid reply.

           
          • wimpunk

            wimpunk - 2004-10-26

            Please post your problem as a bug and add the full result of "ddclient -daemon=0 -debug -verbose -noquiet" and don't forget to add your ddclient.conf.
            It looks like you've somewhere a \ to much but I need to check your config file.  You can look at the config file I submitted in an earlier post to see an example.

             
        • eradrix

          eradrix - 2004-10-26

          additionaly, would you tell me the appropriate action I have to take in order to halt the script when it is launched? It seems that /etc/rc.d/init.d/ddclient stop has no effect...

           
          • eradrix

            eradrix - 2004-10-26

            Ok I'm able to stop ddclient now (I've edited the initscript and changed regex "ps -aef | awk '/[ \/]perl.*ddclient/ { print $2}'" into "ps -aef | awk '/[ \/]ddclient/ { print $2}'").

             
        • eradrix

          eradrix - 2004-10-26

          GOOOOOOOOOOOOOOOD ! :o)

          I've found the problem. In fact, I didn't pay attention that ddclient.conf doesn't like tab and "\&quot; characters included in the example file.

          I'll continue to test this version and won't forget to report if any other problem...

           
  • stephen_fleece

    stephen_fleece - 2010-06-30

    +1 vote to add support for this dynamic dns provider - dnsexit.com

     

Log in to post a comment.