add-token.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. const jsl = require("svjsl");
  2. const fs = require("fs-extra");
  3. const settings = require("../settings");
  4. try
  5. {
  6. let amount;
  7. try
  8. {
  9. amount = parseInt(
  10. process.argv.find(arg => arg.match(/^-{0,2}\d+$/))
  11. .replace(/[-]/g, "")
  12. );
  13. }
  14. catch(err)
  15. {
  16. jsl.unused(err);
  17. amount = NaN;
  18. }
  19. if(isNaN(amount) || amount < 1)
  20. amount = 1;
  21. amount = Math.min(amount, 10);
  22. console.log("\n");
  23. for(let i = 0; i < amount; i++)
  24. {
  25. let tok = jsl.generateUUID.custom("xxxxyyyyxxxxyyyy_xxxxyyyyxxxxyyyy_xxxxyyyyxxxxyyyy_xxxxyyyyxxxxyyyy", "0123456789abcdefghijklmnopqrstuvwxyz!?$§%*.~");
  26. let oldFile = [];
  27. if(fs.existsSync(settings.auth.tokenListFile))
  28. {
  29. let fCont = fs.readFileSync(settings.auth.tokenListFile).toString();
  30. if(!jsl.isEmpty(fCont))
  31. oldFile = JSON.parse(fCont);
  32. else
  33. oldFile = [];
  34. }
  35. oldFile.push({
  36. token: tok,
  37. maxReqs: null // null = default
  38. });
  39. fs.writeFileSync(settings.auth.tokenListFile, JSON.stringify(oldFile, null, 4));
  40. console.log(`Token ${jsl.colors.fg.green}${tok}${jsl.colors.rst} added to the list of tokens at "${settings.auth.tokenListFile}".`);
  41. }
  42. console.log("\n");
  43. return process.exit(0);
  44. }
  45. catch(err)
  46. {
  47. return process.exit(1);
  48. }