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();