yctgxcglm_pm.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. const jsdom = require("jsdom");
  2. const {JSDOM} = jsdom;
  3. const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`,
  4. {
  5. url: "https://example.org/",
  6. referrer: "https://example.com/",
  7. contentType: "text/html",
  8. includeNodeLocations: true,
  9. storageQuota: 10000000
  10. });
  11. window = dom.window;
  12. document = window.document;
  13. crypto = require('crypto')
  14. CryptoJS = require('crypto-js')
  15. function get_pm() {
  16. var f = {
  17. randomUUID: "undefined" != typeof crypto && crypto.randomUUID && crypto.randomUUID.bind(crypto)
  18. };
  19. let m;
  20. function _() {
  21. if (!m && (m = "undefined" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto),
  22. !m))
  23. throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
  24. return m(v)
  25. }
  26. const y = [];
  27. for (let i = 0; i < 256; ++i)
  28. y.push((i + 256).toString(16).slice(1));
  29. function M(e, t = 0) {
  30. return (y[e[t + 0]] + y[e[t + 1]] + y[e[t + 2]] + y[e[t + 3]] + "-" + y[e[t + 4]] + y[e[t + 5]] + "-" + y[e[t + 6]] + y[e[t + 7]] + "-" + y[e[t + 8]] + y[e[t + 9]] + "-" + y[e[t + 10]] + y[e[t + 11]] + y[e[t + 12]] + y[e[t + 13]] + y[e[t + 14]] + y[e[t + 15]]).toLowerCase()
  31. }
  32. var w = function (e, t, n) {
  33. if (f.randomUUID && !t && !e)
  34. return f.randomUUID();
  35. const r = (e = e || {}).random || (e.rng || _)();
  36. if (r[6] = 15 & r[6] | 64,
  37. r[8] = 63 & r[8] | 128,
  38. t) {
  39. n = n || 0;
  40. for (let i = 0; i < 16; ++i)
  41. t[n + i] = r[i];
  42. return t
  43. }
  44. return M(r)
  45. }
  46. n = Math.floor(Date.now() / 1e3)
  47. l = n
  48. d = parseInt(l).toString(36)
  49. f = w().replaceAll("-", "")
  50. m = f.slice(2, 11)
  51. v = CryptoJS.SHA256(m).toString()
  52. pre = v.slice(0, 10)
  53. _ = v.slice(10, 32)
  54. yy = CryptoJS.SHA256(l + f + m).toString()
  55. M = pre + yy + _
  56. return {"At":d,"Nonce":f,"Token":M}
  57. }