No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

53 líneas
1.5 KiB

  1. #!/usr/bin/env node
  2. 'use strict';
  3. var meow = require('meow');
  4. var lesspass = require('lesspass');
  5. var cli = meow(`
  6. Usage
  7. $ lesspass <site> <login> <masterPassword>
  8. Options
  9. --lowercase, -l true or false (default true)
  10. --uppercase, -u true or false (default true)
  11. --symbols, -s true or false (default true)
  12. --numbers, -n true or false (default true)
  13. --length, -L int (default 12)
  14. --counter, -c int (default 1)
  15. Examples
  16. $ lesspass lesspass.com contact@lesspass.com 'my Master Password' --length=14 -s=false
  17. onAV7eqIM1arOZ
  18. `, {
  19. alias: {
  20. l: 'lowercase',
  21. u: 'uppercase',
  22. s: 'symbols',
  23. n: 'numbers',
  24. L: 'length',
  25. c: 'counter',
  26. }
  27. });
  28. var lowercase = (cli.flags.lowercase || 'true').toLowerCase() === 'true';
  29. var uppercase = (cli.flags.uppercase || 'true').toLowerCase() === 'true';
  30. var symbols = (cli.flags.symbols || 'true').toLowerCase() === 'true';
  31. var numbers = (cli.flags.numbers || 'true').toLowerCase() === 'true';
  32. var site = cli.input[0];
  33. var login = cli.input[1];
  34. var masterPassword = cli.input[2];
  35. var options = {
  36. counter: cli.flags.counter || 1,
  37. length: cli.flags.length || 12,
  38. lowercase: lowercase,
  39. uppercase: uppercase,
  40. numbers: numbers,
  41. symbols: symbols
  42. };
  43. lesspass.encryptLogin(login, masterPassword).then(function (encryptedLogin) {
  44. var generatedPassword = lesspass.renderPassword(encryptedLogin, site, options);
  45. console.log(generatedPassword);
  46. });