gluon-remote-node

Node Version of gluon remote
git clone git://archive.git.mtrnord.blog/MTRNord/gluon-remote-node.git
Log | Files | Refs | README | LICENSE

gluon_web_remote-changeContact.js (2536B)


      1 var program = require('commander');
      2 var backend = require("./backend/commands.js");
      3 var chalk_lib = require('chalk');
      4 var chalk = new chalk_lib.constructor({enabled: true});
      5 var hostname_val = /^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$/
      6 var ipv6_val = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/
      7 var email_val = /^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/
      8 
      9 program
     10   .parse(process.argv);
     11 
     12 var args = program.args;
     13 
     14 console.log();
     15 
     16 if (args.length < 4) {
     17   console.error(chalk.bold.red('Please set all required Arguments'));
     18   process.exit(1);
     19 }
     20 if (args.length === 4) {
     21   var ip = args[1]
     22   var key = args[2]
     23   var name = args[3]
     24   var email = args[4]
     25   if (ipv6_val.test(ip) || hostname_val.test(ip)) {
     26     if (email_val.test(email)) {
     27       backend.changeContact(ip, key, name, email, "")
     28       console.log(chalk.green("Contact changed successfully!"));
     29     }else {
     30       console.error(chalk.bold.red('Please set correct Email'));
     31       process.exit(1);
     32     }
     33    }else {
     34      console.error(chalk.bold.red('Please set correct IPv6 or Hostname'));
     35      process.exit(1);
     36    }
     37 }
     38 if (args.length === 5) {
     39   var ip = args[1]
     40   var key = args[2]
     41   var token = args[3]
     42   var name = args[4]
     43   var email = args[5]
     44   if (ipv6_val.test(ip) || hostname_val.test(ip)) {
     45     if (email_val.test(email)) {
     46       backend.changeContact(ip, key, name, email, token)
     47       console.log(chalk.green("Contact changed successfully!"));
     48     }else {
     49       console.error(chalk.bold.red('Please set correct Email'));
     50       process.exit(1);
     51     }
     52    }else {
     53      console.error(chalk.bold.red('Please set correct IPv6 or Hostname'));
     54      process.exit(1);
     55    }
     56 }
     57 console.log();