home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / MISC / 311ABETA.ZIP / EXEC.ZIP / dyndns.js < prev    next >
Text File  |  2003-12-06  |  1KB  |  55 lines

  1. // dyndns.js
  2.  
  3. // Client for Synchronet dynamic DNS service (yourbbs.synchro.net)
  4.  
  5. // $Id: dyndns.js,v 1.4 2003/10/27 11:21:14 rswindell Exp $
  6.  
  7. // usage: ?dyndns <password>
  8.  
  9. const REVISION = "$Revision: 1.4 $".split(' ')[1];
  10.  
  11. printf("Synchronet Dynamic DNS Client %s\r\n", REVISION);
  12.  
  13. host_list=["vert.synchro.net", "rob.synchro.net", "bbs.synchro.net", "cvs.synchro.net"];
  14.  
  15. function writeln(str)
  16. {
  17.     sock.send(str + "\r\n");
  18.     print(str);
  19. }
  20.  
  21. for(h in host_list) {
  22.     sock = new Socket();
  23.     if(!sock.bind(0,server.interface_ip_address)) {
  24.         printf("Error %lu binding socket to %s\r\n"
  25.             ,sock.last_error,server.interface_ip_address);
  26.         continue;
  27.     }
  28.     if(!sock.connect(host_list[h],8467)) {
  29.         printf("Error %lu connecting to %s\r\n",sock.last_error,host_list[h]);
  30.         continue;
  31.     }
  32.     while(sock.is_connected) {
  33.         str=sock.readline();
  34.         print(str);
  35.         switch(str) {
  36.             case "id?":
  37.                 writeln(system.qwk_id);
  38.                 break;
  39.             case "pw?":
  40.                 writeln(argv[0]);
  41.                 break;
  42.             case "ip?":
  43.                 if(argv[1])
  44.                     writeln(argv[1]);
  45.                 else
  46.                     writeln("");
  47.                 break;
  48.             default:
  49.                 writeln("");
  50.                 break;
  51.         }
  52.     }
  53.     break;
  54. }
  55.